Estimate the Cost Before You Generate
POST the same body you would send to generate and get back the exact credits it will cost, with nothing created and nothing charged.
Send the request you are about to make to /api/v1/estimate instead of /api/v1/generate.
You get back the exact number of credits that request will cost. Nothing is created and no
credits are used.
The estimate runs the same validation, the same model and resolution resolution, and the same per-second billing as the generate call, so the number it returns is the number generate will charge. If the request is invalid, the estimate returns the same error generate would.
Request
POST https://vicsee.com/api/v1/estimate
Content-Type: application/json
Authorization: Bearer sk-your-api-keyThe body is identical to Generate. Anything generate accepts, estimate accepts.
Example
curl -X POST https://vicsee.com/api/v1/estimate \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2-5-reference-to-video",
"prompt": "@Image1 speaking to camera, warm studio light",
"input": {
"duration": 27,
"resolution": "720p",
"reference_image_urls": ["https://example.com/portrait.jpg"],
"reference_audio_urls": ["https://example.com/voice.mp3"]
}
}'Response
{
"success": true,
"data": {
"estimate": true,
"model": "seedance-2-5-reference-to-video",
"credits": 2250,
"variant": "27s-720p",
"resolvedParams": { "duration": 27, "resolution": "720p", "aspect_ratio": "adaptive" },
"creditsRemaining": 78372,
"sufficient": true,
"note": "Nothing was created and no credits were used. Send this exact body to POST /api/v1/generate to run it; the charge will be `credits`."
}
}Response Fields
| Field | Description |
|---|---|
credits | What generate will charge for this exact body |
variant | The pricing tier the request resolved to, for example 27s-720p or 720p-vref |
billableSeconds | Present only for per-second billing (a video reference or a video edit): input seconds plus output seconds |
resolvedParams | The parameters generate would actually apply, including any defaults you did not send |
creditsRemaining | Your current balance |
sufficient | true when the balance covers credits |
Notes
- When the body includes a video reference, the estimate reads the clip's length the same way generate does, so the per-second total is exact rather than approximate.
- Omitted parameters resolve to the model's defaults, which on most video models are not the
cheapest tier. Read
resolvedParamsand sendresolutionanddurationexplicitly if the number surprises you. - The estimate does not reserve credits. Prices are fixed per model, so the number holds until you call generate.
Next Steps
Uploading Files
Upload a local image, video, or audio file and get back a public https URL you can pass to image_urls, reference_image_urls, or reference_video_urls.
Sora 2
Generate 10-15 second AI videos with Sora 2 through VicSee API. Text-to-video and image-to-video modes. Physics-accurate motion, synchronized audio. 20-30 credits.