Skip to main content

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.

NameTypeRequiredDescription
modelstringRequiredModel ID or Endpoint ID
contentarray<object>RequiredInput content list, supporting text, image, audio, video, and draft-task elements
content[].typestringRequiredContent type: text, image_url, video_url, audio_url, draft_task
content[].textstringOptionalText prompt (when type=text) describing the desired video
content[].image_urlobjectOptionalImage object (when type=image_url)
content[].image_url.urlstringOptionalImage source: image URL, Base64 (data:image/<format>;base64,<...>), or asset ID (asset://<ASSET_ID>)
content[].video_urlobjectOptionalVideo object (when type=video_url)
content[].video_url.urlstringOptionalVideo source: video URL or asset ID (asset://<ASSET_ID>)
content[].audio_urlobjectOptionalAudio object (when type=audio_url)
content[].audio_url.urlstringOptionalAudio source: audio URL, Base64 (data:audio/<format>;base64,<...>), or asset ID
content[].draft_taskobjectOptionalDraft-task object (when type=draft_task)
content[].draft_task.idstringOptionalDraft task ID; generates a final video based on the draft
content[].rolestringOptionalRole/purpose: first_frame, last_frame, reference_image, reference_video, reference_audio
omni_reference_task_typestringOptionalOmni reference task type hint, default auto; options auto, reference, edit, extend (Seedance 2.5 only)
resolutionstringOptionalVideo resolution: 480p, 720p, 1080p, 4k (values vary by model)
ratiostringOptionalAspect ratio: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
durationintegerOptionalVideo duration (seconds); -1 lets the model choose; mutually exclusive with frames
framesintegerOptionalFrame count; integers in [29, 289] matching 25 + 4n; takes priority over duration
generate_audiobooleanOptionalWhether to generate audio, default true
watermarkbooleanOptionalWhether to include the AI generated watermark, default false
output_formatstringOptionalOutput format: mp4 (default), mov (Seedance 2.5 only)
seedintegerOptionalRandom seed, default -1 (random); range [-1, 2147483647]
camera_fixedbooleanOptionalWhether to fix the camera, default false
return_last_framebooleanOptionalWhether to return the last frame of the generated video, default false
draftbooleanOptionalWhether to enable draft mode to generate a preview video, default false (Seedance 1.5 pro only)
service_tierstringOptionalService tier: default (online, default), flex (offline)
callback_urlstringOptionalCallback URL notified when the task status changes
execution_expires_afterintegerOptionalTask timeout threshold (seconds), default 172800 (48 hours); range [3600, 259200]
priorityintegerOptionalExecution priority, default 0; range [0, 9], higher is prioritized (Seedance 2.5 / 2.0 series only)
safety_identifierstringOptionalUnique end-user identifier, an ASCII string up to 64 characters
toolsarray<object>OptionalTool configuration (Seedance 2.5 / 2.0 series only)
tools[].typestringOptionalTool 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)​

NameTypeDescription
idstringVideo generation task ID
task_idstringVideo generation task ID (same as id)
objectstringObject type, always video
modelstringModel name
statusstringTask status
created_atintegerTask 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
}