Seedance 2.0
Seedance 2.0 supports text-to-video, image-to-video, first-and-last-frame generation, multimodal references, video editing, and video extension. Start with the Seedance 2.0 Series Guide for new integrations. Use the Seedance 2.0 Material Library to prepare reusable image, video, and audio inputs.
Supported Models
| Model | Supported Resolutions | Recommended Use |
|---|---|---|
seedance2.0 | 480p, 720p, 1080p, 4k | Full capabilities with quality prioritized. |
seedance2.0-fast | 480p, 720p | Faster generation. |
seedance2.0-mini | 480p, 720p | Lightweight and speed-focused tasks. |
Endpoint
POST /v1/videos
GET /v1/videos/{task_id}
GET /v1/videos/{task_id}/content
The older /v1/videos/generations and /v1/video/generations creation endpoints remain available for compatible clients.
Authentication
Authorization: Bearer sk-***
Content-Type: application/json
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | seedance2.0, seedance2.0-fast, or seedance2.0-mini. |
resolution | string | Yes | A resolution supported by the selected model. |
prompt | string | Conditional | Video prompt. Use a type=text item for content[] requests. |
duration | integer/string | Yes | Output duration from 4 to 15 seconds. |
aspect_ratio | string | No | Output aspect ratio; ratio is the compatibility alias. |
content | object[] | No | Multimodal text, image, video, and audio inputs with explicit roles. |
operation | string | Conditional | reference_to_video, edit_video, or extend_video. |
generate_audio | boolean | No | Whether to generate a video with audio. |
return_last_frame | boolean | No | Whether to return the generated video's last frame. |
Request Example
curl -X POST "https://api.uniall.ai/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0",
"prompt": "A clean commercial product video with slow camera movement, soft reflections, and realistic lighting.",
"resolution": "720p",
"duration": 8,
"aspect_ratio": "16:9",
"generate_audio": false,
"seed": 42,
"watermark": false
}'
Multi-Reference Example
curl -X POST "https://api.uniall.ai/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-fast",
"resolution": "720p",
"duration": 6,
"aspect_ratio": "9:16",
"operation": "reference_to_video",
"content": [
{
"type": "text",
"text": "Create a fast fashion lookbook clip while preserving the product identity."
},
{
"type": "image_url",
"image_url": {"url": "https://example.com/model.png"},
"role": "reference_image"
},
{
"type": "image_url",
"image_url": {"url": "https://example.com/outfit.png"},
"role": "reference_image"
}
],
"generate_audio": true
}'
Task Status And Result
After creation, save id or task_id, then poll GET /v1/videos/{task_id} until the task reaches completed or failed. See Video Generation Overview for the shared polling interval, status fields, error contract, result URL, and authenticated download flow.
Common Errors
- Using an old create task interface for a new integration.
- Sending more than
9reference images. - Sending more than
3reference videos or reference videos whose total duration exceeds15seconds. - Using a
durationoutside4to15. - Passing incompatible operation hints together with the new input format.