Skip to main content
Seedance is a flagship multimodal video family on Venice for text-, image-, and reference-driven video generation. Seedance 2.0 (plus Fast) and Seedance 2.5 share the same R2V prompt-routing model: a single reference-to-video endpoint handles four distinct workflows (Reference, Edit, Extend, Stitch) — the workflow is inferred from the shape of your prompt. This guide covers variants, the four workflows, faces-off public API behavior, family-specific multimodal limits, pricing, and curl examples.
Faces are not supported on the public Seedance API. Venice does not run face-asset provisioning or face-consent attestation (consents.seedance / needs_consent) for public Seedance models. Face-bearing inputs may be rejected upstream as a content-policy / provider error. For likeness / face-asset generation, use the Venice app or Studio.

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:
Examples:
  • 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:
Sub-patterns for finer control:
Examples:
  • 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.
The last example combines Edit with an image reference — perfectly legal, the model uses <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:
Transition handling: the model automatically extracts the transition frames for seamless blending, and the original segments of the input video are not re-generated. Examples:
  • 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:
Examples:
  • <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>
The model auto-trims connecting segments at the join points for continuity.

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
Layering this on top of a workflow prefix (e.g., 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.
reference_audio_urls cannot be the only reference input. The model requires at least one image or video reference alongside any audio donor. Pair reference_audio_urls with reference_image_urls, reference_video_urls, image_url, or video_url — audio-only submissions are rejected.

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

Call POST /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 assume VENICE_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 returned queue_id and poll /video/retrieve until the response body is video/mp4:
The response is JSON ({ "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.
Trim clips client-side before submission.

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
Use the canonical prefixes exactly as written: 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 pass reference_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