Short Answer
Seedance 2.5 has no dedicated “reference-to-video” switch. As soon ascontent contains a reference video, the model reads the intent of your prompt to decide whether the task is reference-to-video, video editing, or video extension:
- The prompt changes the source video (add, remove, modify, replace, keep something unchanged) → video editing
- The prompt continues the source video forwards or backwards (extend, continue) → video extension
- The prompt only borrows a character, motion, or style from the assets to shoot a new clip → reference-to-video
ratio must be adaptive and duration must be -1. Passing a specific aspect ratio or duration returns a 400, usually mentioning TaskTypeConstraint.
This page applies to Seedance 2.5 (
doubao-seedance-2-5-260628) only. The Seedance 2.0 family has no video editing or video extension tasks, so the issue does not arise there.The Core Difference: Does the Asset End Up in the Output?
A quick test: can you still see the source video itself in the output? If yes, it is editing (or extension). If only its “feel” carries over, it is reference-to-video.
Video extension is similar to editing: the aspect ratio is locked to the source video, but you can still set the duration.
How the Model Decides
The decision takes two steps: first the assetrole, then the prompt.
A request with reference images but no reference video is never classified as editing or extension. You only need to watch for this when a
reference_video is present.
A Real Case
This request wanted to “upscale a video” while also setting 4:3 and 15 seconds:Can a Parameter Force Reference-to-Video?
No. In 2.5,omni_reference_task_type accepts only three values:
There is no “reference-to-video” value. And
edit / extend only validate earlier; they do not force the task type. If the declared type differs from what the model infers from the prompt, the task still fails with InvalidParameter.TaskTypeMismatch.
In short, the prompt decides the task type. Parameters can only go along with it.
Three Reliable Approaches
- Output size doesn't matter
- Fixed aspect ratio and duration
- Retry in code
The general-purpose setup recommended in the provider docs. Whenever reference assets are present, send the following. No matter which subtask the model picks, the request will not fail on parameter constraints.The trade-off: when the task is classified as reference-to-video, the model chooses the duration (10 seconds or more in our tests), and the cost varies with it. Not recommended for cost-sensitive workloads.
When the Error Appears
The two errors need different fixes: for
TaskTypeConstraint, change the parameters; for TaskTypeMismatch, change the prompt (or set omni_reference_task_type back to auto).
Cost Notes
- A video-editing output is as long as the source video, not as long as you wanted. A 25-second source is billed at roughly 25 seconds.
- For tasks with a reference video, the input video’s frames are also converted into billable tokens. Longer, higher-resolution sources cost more.
- With
duration: -1on a reference-to-video task, the model picks the length, which may be longer than expected.
Related Docs
Video Generation API
Task types vs. parameter constraints, full request parameters
Seedance 2.0 / 2.5 Overview
Differences between 2.5 and 2.0, full editing and extension usage