Create Video Task (New)
1. Public Models
seedance2.0-480pseedance2.0-720pseedance2.0-1080pseedance2.0-4kseedance2.0-fast-480pseedance2.0-fast-720pseedance2.0-mini-480pseedance2.0-mini-720p
Current unified public endpoint:
POST /v1/videos/generationsGET /v1/videos/{task_id}
2. Design Principles
2.1 Prefer Volcano Native Format
If you already use the Volcano-native content[], the platform prioritizes content[] processing.
This means:
content[]is the primary protocoltype/roleis the primary semantic meaning- If you pass
content[], the platform ignores self-wrappedextra_body.operation
2.2 Legacy Fields Are Compatibility Only
The following legacy fields remain compatible:
promptimageimagesvideovideosaudioslast_image
These legacy fields are compatibility fields only and are no longer the recommended integration pattern.
2.3 extra_body.operation reserved compatibility
Only when youdo not pass content[], and use the legacy-field compatibility format, should you use:
reference_to_videoedit_videoextend_videofirst_last_frame
If you already pass content[]:
- even if you also pass
extra_body.operation - the platform ignores it
3. Models and Allowed Values
| Model | Type | resolution | duration | aspect_ratio |
|---|---|---|---|---|
seedance2.0-480p | standard | 480p | 4 15 integer | auto/21:9/16:9/4:3/1:1/3:4/9:16 |
seedance2.0-720p | standard | 720p | 4 15 integer | auto/21:9/16:9/4:3/1:1/3:4/9:16 |
seedance2.0-1080p | standard | 1080p | 4 15 integer | auto/21:9/16:9/4:3/1:1/3:4/9:16 |
seedance2.0-fast-480p | Fast | 480p | 4 15 integer | auto/21:9/16:9/4:3/1:1/3:4/9:16 |
seedance2.0-fast-720p | Fast | 720p | 4 15 integer | auto/21:9/16:9/4:3/1:1/3:4/9:16 |
Additional notes:
- Resolution is locked by the selected model.
- Do not use
sizeto change480pmodel to720p. - If you need to pass
size: seedance2.0-480p/seedance2.0-fast-480ponly pass480pseedance2.0-720p/seedance2.0-fast-720ponly pass720pseedance2.0-1080p/ only pass1080p
4. Top-level Parameters
4.1 Required Parameters
| Parameters | Type | Required | allowed values | Note |
|---|---|---|---|---|
model | string | Yes | 4 one of the public models | Public model name |
duration | integer | Yes | 4 15 integer | video duration |
4.2 Primary Parameters
| Parameters | Type | Required | allowed values | Note |
|---|---|---|---|---|
content | array | Recommended | see below | Volcano-native input |
aspect_ratio | string | No | auto/21:9/16:9/4:3/1:1/3:4/9:16 | aspect ratio |
prompt | string | No | any non-empty string | If new-api, recommended to pass both |
4.3 Compatibility Parameters
| Parameters | Type | Required | allowed values | Note |
|---|---|---|---|---|
image | string / object | No | single image URL | legacy-field compatibility |
images | array | No | 1 9 image URLs | legacy-field compatibility |
video | string | No | single video URL | legacy-field compatibility |
videos | array | No | 1 3 video URLs | legacy-field compatibility |
audios | array | No | 1 3 audio URLs | legacy-field compatibility |
last_image | string / object | No | single image URL | legacy-field compatibility |
4.4 extra_body Parameters
| Parameters | Type | Required | allowed values | Note |
|---|---|---|---|---|
extra_body.generate_audio | boolean | No | true/false | whether to generate audio |
extra_body.seed | integer | No | any integer | random seed |
extra_body.watermark | boolean | No | true/false | whether to add a watermark |
extra_body.camera_fixed | boolean | No | true/false | whether to keep the camera fixed |
extra_body.service_tier | string | No | the platform does not enumerate fixed values currently | passed through to upstream |
extra_body.execution_expires_after | integer | No | positive integer | passed through to upstream |
extra_body.draft | boolean | No | true/false | draft mode |
extra_body.return_last_frame | boolean | No | true/false | whether to return the last frame |
extra_body.frames | integer | No | positive integer | frame count |
extra_body.operation | string | compatibility layer only | reference_to_video/edit_video/extend_video/first_last_frame | use only in legacy-field mode;content[] mode ignores it |
5. content[] Structure
5.1 Text Item
{
"type": "text",
"text": "A futuristic city with advanced transportation"
}
Rules:
typemust betexttextmust be string- 1 Text Item
5.2 Image Item
{
"type": "image_url",
"url": "https://example.com/ref.png",
"role": "reference_image"
}
image role allowed values:
imagereference_imagefirst_framelast_frame
5.3 Video Item
{
"type": "video_url",
"url": "https://example.com/ref.mp4",
"role": "reference_video"
}
video role allowed values:
reference_videosource_video
5.4 Audio Item
{
"type": "audio_url",
"url": "https://example.com/ref.mp3",
"role": "reference_audio"
}
audio role allowed values:
reference_audio
6. content[] mode Capability
Yes:
- userpass
content[] - the platform
content[]type + roleCapability - do not pass
extra_body.operation - pass, ignores
6.1 text-to-video
{
"model": "seedance2.0-720p",
"content": [
{
"type": "text",
"text": ", slow camera push-in"
}
],
"duration": 5,
"aspect_ratio": "16:9"
}
6.2 single-image-to-video
{
"model": "seedance2.0-fast-720p",
"content": [
{
"type": "text",
"text": ", camera, style"
},
{
"type": "image_url",
"url": "https://example.com/product.png",
"role": "image"
}
],
"duration": 5,
"aspect_ratio": "16:9",
"extra_body": {
"generate_audio": false,
"watermark": false
}
}
6.3 first-and-last-frame
{
"model": "seedance2.0-720p",
"content": [
{
"type": "text",
"text": ", subject "
},
{
"type": "image_url",
"url": "https://example.com/start.png",
"role": "first_frame"
},
{
"type": "image_url",
"url": "https://example.com/end.png",
"role": "last_frame"
}
],
"duration": 6,
"aspect_ratio": "16:9"
}
6.4 image reference mode
{
"model": "seedance2.0-720p",
"content": [
{
"type": "text",
"text": ", generate a video"
},
{
"type": "image_url",
"url": "https://example.com/ref-1.png",
"role": "reference_image"
},
{
"type": "image_url",
"url": "https://example.com/ref-2.png",
"role": "reference_image"
}
],
"duration": 8,
"aspect_ratio": "9:16"
}
6.5 omni-reference mode
{
"model": "seedance2.0-720p",
"content": [
{
"type": "text",
"text": ", referenceactionandaudio, generate a video"
},
{
"type": "image_url",
"url": "https://example.com/product.png",
"role": "reference_image"
},
{
"type": "video_url",
"url": "https://example.com/motion-guide.mp4",
"role": "reference_video"
},
{
"type": "audio_url",
"url": "https://example.com/music-guide.mp3",
"role": "reference_audio"
}
],
"duration": 10,
"aspect_ratio": "16:9",
"extra_body": {
"generate_audio": true,
"seed": 88,
"watermark": false
}
}
6.6 video editing
{
"model": "seedance2.0-720p",
"content": [
{
"type": "text",
"text": "to change videointo style"
},
{
"type": "video_url",
"url": "https://example.com/source.mp4",
"role": "source_video"
}
],
"duration": 5,
"aspect_ratio": "16:9",
"extra_body": {
"watermark": false
}
}
6.7 video extension
{
"model": "seedance2.0-720p",
"content": [
{
"type": "text",
"text": " camera andscenariostyle, subject "
},
{
"type": "video_url",
"url": "https://example.com/source.mp4",
"role": "source_video"
}
],
"duration": 5,
"aspect_ratio": "16:9",
"extra_body": {
"watermark": false
}
}
7. legacy-field compatibility format
or compatibilityuse.
7.1 compatibility
{
"model": "seedance2.0-fast-480p",
"prompt": " ",
"image": "https://example.com/product.png",
"duration": 5,
"aspect_ratio": "16:9"
}
7.2 first-and-last-framecompatibility
{
"model": "seedance2.0-720p",
"prompt": " ",
"image": "https://example.com/start.png",
"last_image": "https://example.com/end.png",
"duration": 6,
"aspect_ratio": "16:9",
"extra_body": {
"operation": "first_last_frame"
}
}
7.3 referencecompatibility
{
"model": "seedance2.0-720p",
"prompt": "generate a referenceactionandaudio video",
"images": [
"https://example.com/ref-1.png"
],
"videos": [
"https://example.com/ref.mp4"
],
"audios": [
"https://example.com/ref.mp3"
],
"duration": 8,
"aspect_ratio": "16:9",
"extra_body": {
"operation": "reference_to_video"
}
}
7.4 Fieldvideo editing / compatibility
{
"model": "seedance2.0-720p",
"prompt": "to change videointo style",
"video": "https://example.com/source.mp4",
"duration": 5,
"aspect_ratio": "16:9",
"extra_body": {
"operation": "edit_video"
}
}
8. this site new-apicall
recommended to pass both prompt and content[0].text.:
- openaistyle,
promptFieldRequired, No Volcano service
recommendedcompatibility:
{
"model": "seedance2.0-fast-480p",
"prompt": "A futuristic city with advanced transportation",
"content": [
{
"type": "text",
"text": "A futuristic city with advanced transportation"
}
],
"duration": 5,
"aspect_ratio": "16:9",
"extra_body": {
"generate_audio": false,
"watermark": false
}
}
9. Common Errors
Error 1: new-api only pass content[], pass prompt:
-
prompt is required: -
promptandcontent[0].textpass both
Error 2: content[] role
image role:
imagereference_imagefirst_framelast_frame
video role:
reference_videosource_video
audio role:
reference_audio
Error 3: legacy-field compatibilitymode pass operation
Note:
-
Field
-
the platformrequires:
-
videocompatibilitymodeedit_videoorextend_video -
videos / audioscompatibilitymodereference_to_video
Error 4: resolution
Note:
-
Modelresolution Public model name:
-
seedance2.0-fast-480pinto720p -
seedance2.0-720pinto480p
10. responsesNote
submit return async taskobject,:
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "video.generation.job",
"model": "seedance2.0-720p",
"status": "queued",
"raw_status": "PENDING",
"progress": 0,
"created_at": 1773980459,
"video_url": null
}
poll:
GET /v1/videos/generations/{task_id}
Status:
completed- or
failed
11. recommended:
- If
content[], Volcanonativestyle, passextra_body.operation - If legacy-field compatibility format, pass
extra_body.operation - If
new-api, recommended to pass bothpromptandcontent[0].text
API Parameters and Examples
Endpoint
POST /v1/video/generations
Header Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
Authorization | string | No | Bearer {your_token} |
Request Body Parameters
| Field | Type | Required | Title | Description |
|---|---|---|---|---|
model | string | Yes | Model name | |
prompt | string | Yes | prompt | only prompt -> text-to-video |
image | string | Yes | single source image | image-to-video |
last_image | string | Yes | first-and-last-frameandimage use | |
images | string | Yes | reference URL array | reference, 'omni-reference mode', imageup to9 |
audios | string | Yes | reference audio URL array | omni-reference mode, up to 3, each 2~15s, <= 15s |
videos | string | Yes | reference video URL array | omni-reference mode, up to 3, each 2~15s, <= 15s |
duration | string | Yes | duration | 5 15 value |
aspect_ratio | string | Yes | Ratio | 9:16, 1:1, 16:9 |
extra_body | object | No |
Request Examples
Example
{
"model": "string",
"prompt": "string",
"image": "string",
"last_image": "string",
"images": "string",
"audios": "string",
"videos": "string",
"duration": "string",
"aspect_ratio": "string",
"extra_body": {
"generate_audio": true,
"seed": "string",
"watermark": "string",
"camera_fixed": "string",
"service_tier": "string",
"execution_expires_after": "string",
"draft": "string",
"return_last_frame": "string",
"frames": "string",
"operation": "string"
}
}
curl -X POST "{BASE_URL}/v1/video/generations" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{"model": "string",
"prompt": "string",
"image": "string",
"last_image": "string",
"images": "string",
"audios": "string",
"videos": "string",
"duration": "string",
"aspect_ratio": "string",
"extra_body": {"generate_audio": true,
"seed": "string",
"watermark": "string",
"camera_fixed": "string",
"service_tier": "string",
"execution_expires_after": "string",
"draft": "string",
"return_last_frame": "string",
"frames": "string",
"operation": "string"}}'
Response Fields
| Field | Type | Required | Title | Description |
|---|
Response Examples
Example 1
{
"id": "task_xxx",
"error": null,
"model": "seedance2.0-720p",
"object": "video.generation.job",
"result": {
"outputs": [
"https://xxx.aijisu.cn/video/xxxx.mp4"
],
"video_url": "https://xxx.aijisu.cn/video/xxx.mp4"
},
"status": "completed",
"task_id": "task_xxxxx",
"progress": 100,
"video_url": "https://xxx.aijisu.cn/video/xxx.mp4",
"created_at": 1774405050,
"raw_status": "COMPLETED"
}