Volcengine Create Video Generation Task
POST /api/v3/contents/generations/tasks
Video generation endpoint in Volcengine Ark native format, connected to the upstream Volcengine Ark Seedance model family. The model asynchronously generates a video from the provided text, image, audio, and video inputs. This endpoint returns a task ID after submission; use Query Video Generation Task to poll the task status and retrieve the generated video URL.
⚠️ This is an asynchronous endpoint. A successful submission only means the task has been created. Poll the task status using the returned task ID.
Request Parameters
The request body follows the Volcengine Ark native format and passes through all top-level parameters. Supported parameters and values vary by model.
| Name | Type | Required | Description |
|---|---|---|---|
model | string | Required | Model ID or Endpoint ID |
content | array<object> | Required | Input content list, supporting text, image, audio, video, and draft-task elements |
content[].type | string | Required | Content type: text, image_url, video_url, audio_url, draft_task |
content[].text | string | Optional | Text prompt (when type=text) describing the desired video |
content[].image_url | object | Optional | Image object (when type=image_url) |
content[].image_url.url | string | Optional | Image source: image URL, Base64 (data:image/<format>;base64,<...>), or asset ID (asset://<ASSET_ID>) |
content[].video_url | object | Optional | Video object (when type=video_url) |
content[].video_url.url | string | Optional | Video source: video URL or asset ID (asset://<ASSET_ID>) |
content[].audio_url | object | Optional | Audio object (when type=audio_url) |
content[].audio_url.url | string | Optional | Audio source: audio URL, Base64 (data:audio/<format>;base64,<...>), or asset ID |
content[].draft_task | object | Optional | Draft-task object (when type=draft_task) |
content[].draft_task.id | string | Optional | Draft task ID; generates a final video based on the draft |
content[].role | string | Optional | Role/purpose: first_frame, last_frame, reference_image, reference_video, reference_audio |
omni_reference_task_type | string | Optional | Omni reference task type hint, default auto; options auto, reference, edit, extend (Seedance 2.5 only) |
resolution | string | Optional | Video resolution: 480p, 720p, 1080p, 4k (values vary by model) |
ratio | string | Optional | Aspect ratio: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive |
duration | integer | Optional | Video duration (seconds); -1 lets the model choose; mutually exclusive with frames |
frames | integer | Optional | Frame count; integers in [29, 289] matching 25 + 4n; takes priority over duration |
generate_audio | boolean | Optional | Whether to generate audio, default true |
watermark | boolean | Optional | Whether to include the AI generated watermark, default false |
output_format | string | Optional | Output format: mp4 (default), mov (Seedance 2.5 only) |
seed | integer | Optional | Random seed, default -1 (random); range [-1, 2147483647] |
camera_fixed | boolean | Optional | Whether to fix the camera, default false |
return_last_frame | boolean | Optional | Whether to return the last frame of the generated video, default false |
draft | boolean | Optional | Whether to enable draft mode to generate a preview video, default false (Seedance 1.5 pro only) |
service_tier | string | Optional | Service tier: default (online, default), flex (offline) |
callback_url | string | Optional | Callback URL notified when the task status changes |
execution_expires_after | integer | Optional | Task timeout threshold (seconds), default 172800 (48 hours); range [3600, 259200] |
priority | integer | Optional | Execution priority, default 0; range [0, 9], higher is prioritized (Seedance 2.5 / 2.0 series only) |
safety_identifier | string | Optional | Unique end-user identifier, an ASCII string up to 64 characters |
tools | array<object> | Optional | Tool configuration (Seedance 2.5 / 2.0 series only) |
tools[].type | string | Optional | Tool type, e.g. web_search (web search) |
Request Example
{
"body": {
"model": "doubao-seedance-1-5-pro-251215",
"content": [
{
"type": "text",
"text": "A kitten yawning at the camera"
}
],
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"seed": 11,
"camera_fixed": false,
"watermark": true
}
}
Response Fields (200)
| Name | Type | Description |
|---|---|---|
id | string | Video generation task ID |
task_id | string | Video generation task ID (same as id) |
object | string | Object type, always video |
model | string | Model name |
status | string | Task status |
created_at | integer | Task creation timestamp (seconds) |
Response Example
{
"id": "cgt-2026xxxx-xxxxx",
"task_id": "cgt-2026xxxx-xxxxx",
"object": "video",
"model": "doubao-seedance-1-5-pro-251215",
"status": "queued",
"created_at": 1757222400
}