Overview & Format Selection
Overview of the Seedance 2.x model family (including 2.5), how to choose a request format, and a parameter cheat sheet.
Seedance 2.x is ByteDance's (Volcengine / BytePlus) next-generation multimodal video creation model. It generates video from text, image, video, and audio references, and supports video editing and extension. modelsok exposes both the official content format and the modelsok generic video format.
Seedance 2.x generates video as an asynchronous task: create the task, poll its status by task ID, and read the result video from content.video_url once it succeeds. 2.5 uses exactly the same endpoints and request format as 2.0 — only the capability limits differ (see the comparison below), so an existing 2.0 integration switches over by changing one model value.
Supported models
| Model | Variant | Notes |
|---|---|---|
seedance-2.5 | Overseas · 2.5 | Up to 30 seconds, far higher reference limits, accepts audio-only input |
seedance-2.0 | Overseas · Full | Stable name without a date suffix — no code change when upstream ships a new snapshot |
seedance-2.0-fast | Overseas · Fast | Faster and cheaper |
seedance-2.0-mini | Overseas · Mini | Lowest cost |
doubao-seedance-2-0-260128 | Domestic · Full | Multimodal video creation, supports 4K |
doubao-seedance-2-0-fast-260128 | Domestic · Fast | Same core capabilities, faster generation |
dreamina-seedance-2-0-260128 | Overseas · Full | BytePlus overseas, supports 4K, parity with the domestic version |
dreamina-seedance-2-0-fast-260128 | Overseas · Fast | BytePlus overseas, fewer restrictions, faster |
dreamina-seedance-2-0-ep | Overseas · Full (NSFW) | Supports 4K and NSFW, overseas platforms only |
dreamina-seedance-2-0-fast-ep | Overseas · Fast (NSFW) | Supports NSFW, overseas platforms only |
Prefer the names without a date suffix (seedance-2.5, seedance-2.0, …). They follow upstream to newer snapshots, so your code keeps working. Dated names stay pinned to that exact version.
The overseas dreamina-*-ep versions allow NSFW content. Generated content must not be used within mainland China and may only be published on overseas platforms; you bear all responsibility otherwise.
2.5 vs 2.0 capabilities
| Capability | 2.0 series | 2.5 |
|---|---|---|
| Reference images | 0 – 9 | 0 – 30 |
| Reference videos | 0 – 3 | 0 – 10 |
| Reference audio clips | 0 – 3 | 0 – 10 |
| Audio-only input | Not supported; at least one reference image or video is required | Supported |
| Output duration | 4 – 15 seconds | Up to 30 seconds, generated coherently |
| Output resolution | 480p / 720p / 1080p, plus 4K on the full variant | 480p / 720p |
| Video editing & extension | Supported | Supported |
2.5 also adds output_format (output container, defaults to mp4) and frames.
Endpoints at a glance
| Item | Endpoint |
|---|---|
| Create task (official format) | POST /api/v3/contents/generations/tasks |
| Query task (official format) | GET /api/v3/contents/generations/tasks/{task_id} |
| Create task (generic video) | POST /v1/video/generations or POST /v1/videos |
| Query task (generic video) | GET /v1/video/generations/{task_id} or GET /v1/videos/{task_id} |
| Upload asset | POST /api/assets/upload |
| Asset detail | GET /api/assets/{id} |
Two request formats
The official format is best when you need precise control over the role of image, video, and audio assets in content[]:
{
"model": "doubao-seedance-2-0-260128",
"content": [
{
"type": "text",
"text": "A golden Shiba Inu running under cherry blossoms, camera slowly rising"
}
],
"resolution": "480p",
"ratio": "16:9",
"duration": 5,
"generate_audio": true,
"watermark": false
}The generic video format is best for services already integrated with /v1/video/generations or /v1/videos, expressing the same inputs via prompt, image, metadata.video_url, and metadata.audio_url:
{
"model": "doubao-seedance-2-0-fast-260128",
"prompt": "Have the person in the frame slowly turn around and smile",
"image": "https://example.com/photo.jpg",
"duration": 5,
"size": "720p",
"metadata": {
"ratio": "16:9",
"generate_audio": true,
"watermark": false
}
}Parameter cheat sheet
| Field | Notes |
|---|---|
resolution / size | 480p, 720p, 1080p (full versions also support 4k; 2.5 supports 480p, 720p) |
ratio | 16:9, 9:16, 3:4, 1:1, 4:3 |
duration | 4 to 15 seconds, default 5; up to 30 on 2.5 |
generate_audio | Whether to generate audio synced to the video, default true |
watermark | Whether to add a watermark, default false |
draft | Draft mode — low-quality preview for fast iteration, consumes fewer tokens, default false |
frames | Frame count, an alternative to duration |
output_format | Output container, default mp4 (2.5 only) |
seed | Random seed, for reproducing the same result |
camera_fixed | Whether to lock the camera, default false |
Images may use a public URL; images under 2MB may use a Base64 Data URL. Video assets must use a publicly accessible URL — Base64 is not supported.
To reuse image, video, or audio assets, first call /api/assets/upload to upload a URL asset, wait until its status is Active, then reference it as asset://<asset_id> in either the official or generic video format.
Next steps
- Generation modes: the seven official
content[]combinations. - Generic video format:
/v1/video/generationsfield mapping and examples. - Asset upload & management: how to use the
asset://asset library. - Python polling & download: a complete create, poll, and download example.