doubao-seedance-2-5
doubao-seedance-2.5 Video Generation
- Async API; returns task_id for polling
- Text-to-video / multimodal reference / edit / extend / first–last frame
- Up to 30s per job; up to 30 images + 10 videos + 10 audios as references
- Resolution 480p / 720p only; mp4 or mov output
POST
Main changes vs 2.0: max duration 15s → 30s; references 9 images + 3 videos + 3 audios → 30 images + 10 videos + 10 audios; audio-only reference supported; mov output added.
Note: resolution is 480p / 720p only (2.0’s 1080p / 4k are not available on 2.5).
Note: resolution is 480p / 720p only (2.0’s 1080p / 4k are not available on 2.5).
Authentication
string
obrigatório
Bearer token auth. Get a key from the API Key page.
Request parameters
string
obrigatório
Fixed value:
doubao-seedance-2.5string
obrigatório
Prompt. Reference media with
@图片1 / @视频1 / @音频1 (1-based index matching array order). English aliases in prompts may also be used depending on model behavior; keep indices aligned with arrays.Example: "Use @视频1 for first-person framing throughout, @音频1 as BGM, first frame is @图片1"string
padrão:"720p"
Resolution — only:
480p720p(default)
1080p / 2k / 4k return a sync 400.string
padrão:"adaptive"
Aspect ratio (field name
aspect_ratio is also accepted).Values: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive (default)integer
padrão:"5"
Duration in seconds:
4~30-1: model picks duration (pre-charge at the 30s cap; settle to actual length after completion)
boolean
padrão:"true"
Whether to generate audio (alias field name:
audio).true: with audio (default)false: silent video
boolean
padrão:"false"
Add an “AI generated” watermark. Default
false.integer
Random seed. Different seeds usually yield different results for the same request; the same seed is similar but not guaranteed identical.
string
padrão:"mp4"
Output container:
mp4(default)mov: higher color precision — recommended for edit / extend workflows
array<string>
Reference image URLs, all treated as
reference_image.Supports:- Public URL:
https://example.com/pic.jpg - Private asset:
asset://cm9xxxxxxxx
image_with_roles.array<object>
Images with explicit roles.Example:
If
video_urls / audio_urls are present, first_frame / last_frame are auto-converted to reference_image (multimodal reference job).array<string>
Reference video URLs (
reference_video). Public URLs or asset://....Max 10; total duration ≤ 30s (each clip 2~30s).array<string>
Reference audio URLs (
reference_audio). Public URLs or asset://....Max 10; total duration ≤ 30s (each clip 2~30s).2.5 supports audio-only reference (no image/video required).
boolean
padrão:"false"
When
true, the successful result also includes the last-frame image for chaining.array<object>
Tool list for enhancements such as web search.Example:
Media limits
Task types and constraints
The service infers task type from references and prompt intent. The last three types hard-constrainsize / duration; violations fail asynchronously after the job starts (e.g. InvalidParameter.TaskTypeConstraint):
Private assets (asset://)
Same as Seedance 2.0 private avatar: pass approved asset IDs in image_urls / image_with_roles / video_urls / audio_urls:
Billing
- Billed by seconds × resolution tier.
- With reference video input: billable seconds = total input video duration (≤30s) + output duration, at the input-reference rate tier.
duration = -1(auto): pre-charge at the 30s cap; settle to actual output after completion.- Omit
duration: generate and bill 5 seconds. - Failed jobs or content moderation blocks: full refund (charge only on successful output).
Request examples
Text-to-video (30s)
Multimodal reference (image + video + audio)
Video edit
First–last frame
Private asset
Web search
Common errors
Response
integer
Status code;
200 on successarray
Submit response with
status / task_idPoll with Get task status. On success use
result.videos[0].url (stored for long-term access). With return_last_frame=true, the result also includes the last-frame image.