ByteDance Doubao video generation model
Use model parameter to select doubao-seedance-1-0-pro-fast or doubao-seedance-1-0-pro-quality model
Supports text-to-video generation
Supports first frame / last frame / reference image control
Async task management, query results by task ID
Authorizations
All endpoints require Bearer Token authentication Get your API Key from the API Key Management Page Add to request header: Authorization: Bearer YOUR_API_KEY
Body
model
string
default: "doubao-seedance-1-0-pro-fast"
required
Video generation model name Available models:
doubao-seedance-1-0-pro-fast - Fast version (40-90 seconds generation)
doubao-seedance-1-0-pro-quality - Quality version (90-300 seconds generation)
Video content description Describe scenes, actions, styles in detail for better generation results Example: "Sunset at the beach, golden sunlight on the sea, waves gently hitting the sand"
Video duration (seconds) Supported range: 2 ~ 12 seconds Default: 5
Video aspect ratio Options:
16:9 - Landscape
9:16 - Portrait
1:1 - Square
4:3 - Traditional ratio
3:4 - Vertical traditional ratio
21:9 - Ultra-wide
Default: 16:9
Video resolution Options:
480p - Standard definition
720p - High definition
1080p - Full HD
Default: 720p 1080p Limitation : When using reference images (role: reference in image_with_roles), 1080p resolution is not supported
Resolution and Aspect Ratio Combinations
Resolution Supported Aspect Ratios Notes 480p 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 All supported 720p 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 All supported 1080p 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 Reference image not supported
First frame image URL array for image-to-video generation Used to specify the starting frame of the video Example: ["https://example.com/cat.png"] image_urls and image_with_roles cannot be used together
Image array with roles for more precise control Image role Options:
first_frame - First frame image, as video starting frame
last_frame - Last frame image, as video ending frame
reference - Reference image, for guiding video style
Example: [
{ "url" : "https://example.com/start.png" , "role" : "first_frame" },
{ "url" : "https://example.com/end.png" , "role" : "last_frame" }
]
image_urls and image_with_roles cannot be used together
Response
Unique task identifier for status queries
Object type, always generation.task
Task status
queued - Queued for processing
in_progress - Processing
completed - Successfully completed
failed - Failed
Task progress percentage (0-100)
Task creation timestamp (Unix timestamp)
cURL (Quick Preview Landscape Video)
cURL (High-Quality Portrait Short Video)
cURL (Dynamic Transition Effect - First/Last Frame)
Python
JavaScript
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-0-pro-fast",
"prompt": "Sunset at the beach, golden sunlight on the sea, waves gently hitting the sand",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p"
}'
{
"id" : "task_vid_xyz789ghi012" ,
"object" : "generation.task" ,
"model" : "doubao-seedance-1-0-pro-fast" ,
"status" : "queued" ,
"progress" : 0 ,
"created_at" : 1703884800 ,
"metadata" : {}
}