curl examples.
Variants
All variants are async. Submit via
POST /api/v1/video/queue, then poll POST /api/v1/video/retrieve until the response body is video/mp4. See Video Generation for the general queue flow.
Pass resolution as one of: 480p, 720p, 1080p, or 4k (lowercase). Seedance 2.0 (non-Fast) accepts all four; 2.0 Fast and 2.5 accept 480p / 720p only. Discover live model IDs and capabilities with GET /models?type=video — do not hardcode availability.
The “one model, four workflows” model
The reference-to-video variants (seedance-2-0-reference-to-video-api, its Fast sibling, and seedance-2-5-reference-to-video-api) use the same prompt-routing pattern. The model infers the task from the prompt prefix and the shape of your inputs. There is no task or workflow field — the prompt syntax is the routing.
The prompt syntax is canonical and case-sensitive: angle brackets, capital first letter, single space before the number —
<Video 1>, <Image 1>, <Audio 1>.
Workflow patterns
Reference workflow
Use the uploaded reference files as donors — subject, scene, motion, style, vocal timbre — to generate a brand-new video. Canonical prompt patterns:Refer to <Subject 1> in <Image 1> to generate a 5-second clip of the same character riding a horse through snow.Refer to the camera scene in <Video 1> to generate a similar establishing shot of a futuristic city at dawn.Refer to <Subject 1> in <Image 1> and use the timbre in <Audio 1> for the narrator describing the scene.(audio donors must be paired with at least one image or video reference — audio alone is rejected)
Edit workflow
Modify a single input video. Anything not explicitly named in the prompt is preserved. Use this when you want a localized change (subject swap, weather/color change, element add/remove) rather than a wholly new video. Canonical prompt pattern:Strictly edit <Video 1>, changing its weather from sunny to a heavy rainstorm.Add snacks such as fried chicken and pizza to the countertop in <Video 1>.Remove the red car from <Video 1>, keeping the rest of the video content unchanged.Replace the perfume featured in <Video 1> with the face cream from <Image 1>, with all original motions and camera work preserved.
<Image 1> as a visual donor for the replacement.
Extend workflow
Continue a single clip forward or backward in time. By default Seedance returns only the new content — not the original input concatenated with the extension. This is by design, for transition continuity; if you want the input clip preserved alongside the extension, say so explicitly:Extend <Video 1>, generate a dramatic chase scene through narrow alleys at dusk.Extend <Video 1> backward, the same character walking toward the camera before the original shot begins.Extend <Video 1>, start with <Video 1>, then the camera pulls back to reveal a vast landscape.
Stitch workflow (Track Completion)
Connect input clips with AI-generated transitions. Respect the family-specific combined-duration and clip-count caps in Multimodal input limits (Seedance 2.0: ≤3 clips / ≤15 s combined; Seedance 2.5: higher video caps). Canonical prompt pattern:<Video 1> + a smooth seamless cut + followed by <Video 2><Video 1>. The moment a leaf falls to the ground, it sets off a special effect of golden particles. A gust of wind blows by, leading into <Video 2>.<Video 1> + a wisp of smoke transforms into a flock of birds + followed by <Video 2> + a slow dolly-in + followed by <Video 3>
Universal prompt formula
Across all four workflows, the recommended authoring formula is:- Subject + Motion: the logical foundation — define “Who” is performing “What action”
- Environment + Aesthetics: spatial background, lighting, visual style
- Camera: explicit shot type or movement
- Audio: ambient sound effects or vocal direction for immersive output
Strictly edit <Video 1>, changing its <subject + motion + environment + ...>) produces the highest-quality outputs.
Multimodal input limits
Values below are what the Venice API accepts. Requests outside these ranges are rejected at the schema layer with a 400 before reaching inference. Seedance 2.0 and Seedance 2.5 use different caps. Always check the column for the model family you are calling.Shared media floors
Family comparison
Reference audio is supported on the R2V variants only. Each entry is forwarded to the model as a
role: "reference_audio" content item that the prompt addresses as <Audio 1>, <Audio 2>, … — the model uses each clip for vocal timbre, sound effects, or background music depending on how the prompt frames it. The legacy singular audio_url field maps to the same content shape and is now equivalent to passing a one-element reference_audio_urls.
Request size
The queue endpoint accepts JSON bodies up to 35 MB. Inline data URLs for large videos can push past this — for multi-clip Stitch in particular, prefer URLs over inline base64.Pricing
CallPOST /api/v1/video/quote to get a quote for a given request shape before submitting it to /video/queue. The quote endpoint is the only authoritative source; pricing details may change and shouldn’t be cached or duplicated client-side.
When reference video(s) are part of the request, also pass reference_video_total_duration (the sum of all reference clip durations in seconds) so the quote matches what /video/queue will charge:
Complete examples
All examples assumeVENICE_API_KEY is set in the environment.
Text-to-video
Seedance 2.0 text-to-video (4K)
Seedance 2.5 text-to-video (longer duration)
Image-to-video (first frame)
Seedance I2V models (
seedance-2-0-image-to-video-api, its Fast variant, and seedance-2-5-image-to-video-api) do not accept aspect_ratio — the output aspect ratio is auto-derived from the input image’s dimensions. Passing the field returns a 400 with “This model does not support aspect_ratio”. Use the T2V or R2V variants if you need explicit aspect-ratio control.Reference workflow — subject donor
Seedance 2.5 reference workflow — multi-image
Reference workflow — subject + audio donor
Edit workflow
Edit workflow with image grounding
Extend forward
Stitch (3 clips)
Polling for completion
After every queue submission, save the returnedqueue_id and poll /video/retrieve until the response body is video/mp4:
{ "status": "queued" | "running" | "failed", ... }) until the job completes, at which point the response body switches to video/mp4 bytes. See Video Generation for the full polling pattern.
Troubleshooting
At least one reference is required for this model
Reference-to-video submissions must include at least one of reference_image_urls, reference_video_urls, image_references, or video_references. Pure text-only generation isn’t a valid R2V workflow — use a text-to-video model ID instead. reference_audio_urls alone is not sufficient (see the Audio section above).
Too many reference videos / images
Seedance 2.0 caps R2V at 9 images and 3 videos. Seedance 2.5 raises those caps to 30 images and 10 videos. If you exceed the family limit, trim inputs or stitch offline first.Duration / aggregate duration errors
- 2.0: per-clip reference video/audio
[2, 15]s; combined video/audio ≤ 15 s; output 4–15 s. - 2.5: per-clip reference video/audio
[2, 30]s; combined video/audio ≤ 30 s; output 4–30 s.
Prompt routes to the wrong workflow
Workflow is inferred from prompt syntax. Common misroutings:- Wanting to Extend but writing
Refer to ...→ model treats your video as a donor, not a canvas to continue - Wanting to Stitch but writing
Refer to ...→ model picks one as the donor, ignores the others - Wanting to Edit but writing
Generate a video based on <Video 1>→ ambiguous; model may default to Reference
Strictly edit <Video 1>, ..., Extend <Video 1>, ..., <Video 1> + ... + followed by <Video 2>.
Face / likeness inputs rejected
Public Seedance API models are faces-off. Do not expect a consent attestation flow. Face-bearing media may fail with a content-policy / provider error. Use the Venice app or Studio for likeness workflows.Quote doesn’t match the queued amount
If you included a reference video but didn’t passreference_video_total_duration to /video/quote, the quote and the queued amount may differ. Always pass reference_video_total_duration (sum of all reference clip durations, in seconds) when reference videos are present.
References
- Venice video queue endpoint:
POST /api/v1/video/queue - Venice quote endpoint:
POST /api/v1/video/quote - Companion guide: Reference to Video (covers Kling O3 + Grok Imagine R2V)
- Companion guide: Video Generation (queue / polling overview)