Seedance Video Generation API Reference
Walkthrough using bytedance/seedance-2.0 (Seedance 2.0): submit, poll, and download.
Example model
Examples below use bytedance/seedance-2.0 (Seedance 2.0). Replace model and adjust size, quality, etc. per console docs when switching models.
Submit video generation job
https://token.easyapi.com/v1/videosSubmit an async Seedance 2.0 job; returns 202 with job_id (e.g. vid_seedance_8f3a2b1c). Use Idempotency-Key to avoid duplicates.
Request parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Authorization | header | string | Yes | EasyAPI API Key. Format: Bearer `API_KEY` |
Content-Type | header | string | Yes | Request body format, always application/json |
Idempotency-Key | header | string | No | Idempotency key; duplicate submits with the same key return the first job without creating a new one |
Request body
| Name | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model ID, e.g. bytedance/seedance-2.0 |
prompt | string | Yes | Video prompt: subject, motion, scene, camera, style |
duration | integer | No | Seedance 2.0 supports 4–15 seconds |
resolution | string | No | Output resolution: 480p, 720p, or 1080p |
aspect_ratio | string | No | Aspect ratio: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, or adaptive |
generate_audio | boolean | No | Whether to generate audio |
seed | integer | No | Random seed, -1 to 4294967295; same seed does not guarantee identical output |
size | string | No | Exact output size, e.g. 1280x720 (720p + 16:9) |
metadata | object | No | Opaque metadata for audit or source tagging |
webhook_url | string | No | Webhook URL on completion or failure |
Example
{
"model": "bytedance/seedance-2.0",
"prompt": "一只金毛犬在阳光明媚的海滩上奔跑,镜头缓慢跟随,电影感画面",
"duration": 6,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": false
}Response example
{
"job_id": "vid_seedance_8f3a2b1c",
"model": "bytedance/seedance-2.0",
"status": "queued",
"created_at": 1718452800
}Query job status
https://token.easyapi.com/v1/videos/{job_id}Example request: https://token.easyapi.com/v1/videos/vid_seedance_8f3a2b1c
Poll Seedance 2.0 job vid_seedance_8f3a2b1c; read video_url when status is completed.
Request parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Authorization | header | string | Yes | EasyAPI API Key. Format: Bearer `API_KEY` |
job_id | path | string | Yes | Job ID from submit, e.g. vid_seedance_8f3a2b1c |
Response example
{
"job_id": "vid_seedance_8f3a2b1c",
"model": "bytedance/seedance-2.0",
"status": "completed",
"progress": 100,
"video_url": "https://cdn.example.com/videos/vid_seedance_8f3a2b1c.mp4",
"duration": 6,
"resolution": "720p"
}Download video
https://token.easyapi.com/v1/videos/{job_id}/contentExample request: https://token.easyapi.com/v1/videos/vid_seedance_8f3a2b1c/content
After vid_seedance_8f3a2b1c is completed, download the MP4 stream; or use video_url from the status response.
Request parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Authorization | header | string | Yes | EasyAPI API Key. Format: Bearer `API_KEY` |
job_id | path | string | Yes | Completed job_id, e.g. vid_seedance_8f3a2b1c |