seedance-2-0 series
seedance-2-0 Series Video API Guide
Basic Information
| Item | Description |
|---|---|
| Model name | seedance-2-0, seedance-2-0-fast, seedance-2-0-nsfw |
| Model ID | seedance-2-0, seedance-2-0-fast, seedance-2-0-nsfw |
| Model type | Video generation |
| Base URL | https://api-platform.ope.ai |
| Create task | POST /v1/videos |
| Query task | GET /v1/videos/{task_id} |
| Download result | GET /v1/videos/{task_id}/content |
Authentication:
Authorization: Bearer YOUR_API_KEY
Prepare these variables before testing:
BASE_URL="https://api-platform.ope.ai"
API_KEY="YOUR_API_KEY"
For pricing, see Model Pricing.
1. Request Format
Use POST /v1/videos. Put text instructions in the top-level prompt, and put image, video, or audio references in input_reference.content.
You can pass output dimensions in either of these ways:
- Send
sizedirectly, for example1280x720 - Send
resolution+ratio, for exampleresolution: "720p"+ratio: "16:9", instead ofsize
{
"model": "seedance-2-0-fast",
"prompt": "Write the text prompt here",
"size": "1280x720",
"seconds": "4",
"input_reference": {
"content": [
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/reference.png"
}
}
]
}
}
2. Fields
| Field | Required | Description |
|---|---|---|
model | Yes | Use a valid model ID, for example seedance-2-0 |
prompt | Yes | Video generation prompt |
size | Conditional | Output size, for example 1280x720 or 720x1280 (the fast series does not support 1080p). Can be replaced by resolution + ratio |
resolution | Conditional | Resolution tier. Use it together with ratio instead of size. Values: 480p, 720p, 1080p |
ratio | Conditional | Aspect ratio. Use it together with resolution instead of size. Values: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 |
seconds | Yes | Duration string from 4 to 15 seconds, for example "4" or "5" |
generate_audio | No | Whether to generate audio |
seed | No | Random seed |
input_reference.content | No | Multimodal reference array |
Use either size or resolution + ratio; do not send both.
Supported reference types:
type | Field | Description |
|---|---|---|
image_url | image_url.url | Image URL |
video_url | video_url.url | Video URL |
audio_url | audio_url.url | Audio URL |
Each item may include a role. Common values include:
reference_imagereference_videoreference_audiofirst_framelast_frame
3. Basic Limits
Generation duration:
secondsmust be between4and15
Reference and prompt limits:
| Asset type | Field / Role | Limit | Duration / Specification |
|---|---|---|---|
| Reference image | reference_image | 9 images | Each image < 30MB |
| Reference video | reference_video | 3 videos | Each video 2~15s, total duration <= 15s, each video < 50MB |
| Reference audio | reference_audio | 3 clips | Each clip 2~15s, total duration <= 15s, each clip < 15MB |
| Text prompt | prompt / text | 1 item | Chinese <= 500 characters, English <= 1000 words; over-limit prompts may lose details |
Multimodal reference constraints:
reference_audiocannot be sent on its own.- If audio is used as BGM or voice/timbre reference,
input_reference.contentmust contain at least1visual asset as the multimodal anchor. - The visual asset can be
reference_imageorreference_video.
4. Create Task Examples
4.1 Text-to-video
curl --request POST "$BASE_URL/v1/videos" \
--header "Authorization: Bearer $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"prompt": "An orange cat standing on a rainy Tokyo street, neon reflections, cinematic camera movement.",
"size": "1280x720",
"seconds": "4",
"generate_audio": false
}'
Typical response:
{
"id": "cgt-20260529102017-sjqj9",
"task_id": "cgt-20260529102017-sjqj9",
"object": "video",
"model": "seedance-2-0-fast",
"status": "queued",
"created_at": 1780021218
}
4.2 Image-to-video: single image reference
curl --request POST "$BASE_URL/v1/videos" \
--header "Authorization: Bearer $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"prompt": "Keep the subject composition stable, slowly push the camera forward, realistic style.",
"size": "1280x720",
"seconds": "5",
"input_reference": {
"content": [
{
"type": "image_url",
"role": "first_frame",
"image_url": {
"url": "https://example.com/first-frame.png"
}
}
]
}
}'
4.3 Image-to-video: first and last frames
curl --request POST "$BASE_URL/v1/videos" \
--header "Authorization: Bearer $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"prompt": "Naturally transition from the first frame to the last frame with coherent camera movement and stable facial expression.",
"size": "1280x720",
"seconds": "5",
"input_reference": {
"content": [
{
"type": "image_url",
"role": "first_frame",
"image_url": {
"url": "https://example.com/first-frame.png"
}
},
{
"type": "image_url",
"role": "last_frame",
"image_url": {
"url": "https://example.com/last-frame.png"
}
}
]
}
}'
4.4 Multiple image references
curl --request POST "$BASE_URL/v1/videos" \
--header "Authorization: Bearer $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"prompt": "Generate a product showcase video from multiple reference images. Keep the subject consistent and move the camera smoothly from left to right.",
"size": "1280x720",
"seconds": "6",
"input_reference": {
"content": [
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/reference-1.png"
}
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/reference-2.png"
}
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/reference-3.png"
}
}
]
}
}'
4.5 Multimodal references: image + video + audio
curl --request POST "$BASE_URL/v1/videos" \
--header "Authorization: Bearer $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"prompt": "First-person fruit tea commercial. Use image 1 as the opening composition, image 2 as the final composition, follow video 1 for motion, and use audio 1 for rhythm and atmosphere.",
"size": "1280x720",
"seconds": "8",
"generate_audio": true,
"input_reference": {
"content": [
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/tea-reference-1.jpg"
}
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/tea-reference-2.jpg"
}
},
{
"type": "video_url",
"role": "reference_video",
"video_url": {
"url": "https://example.com/tea-motion.mp4"
}
},
{
"type": "audio_url",
"role": "reference_audio",
"audio_url": {
"url": "https://example.com/tea-rhythm.mp3"
}
}
]
}
}'
4.6 Use resolution + ratio
curl --request POST "$BASE_URL/v1/videos" \
--header "Authorization: Bearer $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"prompt": "Create a vertical city street video at night with neon lights and a slow forward camera move.",
"resolution": "720p",
"ratio": "9:16",
"seconds": "4",
"generate_audio": false
}'
This is equivalent to size: "720x1280". When you send resolution + ratio, you do not need to send size.
5. Query a Task
curl --request GET "$BASE_URL/v1/videos/TASK_ID_HERE" \
--header "Authorization: Bearer $API_KEY"
Typical response:
{
"created_at": 1780021218,
"id": "cgt-20260529102017-sjqj9",
"model": "seedance-2-0-fast",
"object": "video",
"prompt": "An orange cat standing on a rainy Tokyo street, neon reflections, cinematic camera movement.",
"size": "1280x720",
"status": "SUCCESS"
}
Common task statuses:
QUEUEDIN_PROGRESSSUCCESSFAILURE
6. Download Video
curl --request GET "$BASE_URL/v1/videos/TASK_ID_HERE/content" \
--header "Authorization: Bearer $API_KEY" \
--output output.mp4
The endpoint returns a binary video stream after the task is complete.
7. Size Parameters
You can send size directly, or send resolution + ratio instead. The table below lists the available values for the Seedance 2.0 series.
resolution | ratio | Equivalent size |
|---|---|---|
480p | 16:9 | 864x496 |
480p | 4:3 | 752x560 |
480p | 1:1 | 640x640 |
480p | 3:4 | 560x752 |
480p | 9:16 | 496x864 |
480p | 21:9 | 992x432 |
720p | 16:9 | 1280x720 |
720p | 4:3 | 1112x834 |
720p | 1:1 | 960x960 |
720p | 3:4 | 834x1112 |
720p | 9:16 | 720x1280 |
720p | 21:9 | 1470x630 |
1080p | 16:9 | 1920x1080 |
1080p | 4:3 | 1664x1248 |
1080p | 1:1 | 1440x1440 |
1080p | 3:4 | 1248x1664 |
1080p | 9:16 | 1080x1920 |
1080p | 21:9 | 2206x946 |
Note: 1080p is available for the Seedance 2.0 series. Seedance 2.0 fast does not support 1080p.
8. Minimal Test Order
- Text-to-video
- Single image reference
- Query the task
- Download video
- Multimodal references