Skip to main content

seedance-2-0 series

seedance-2-0 Series Video API Guide

Basic Information

ItemDescription
Model nameseedance-2-0, seedance-2-0-fast, seedance-2-0-nsfw
Model IDseedance-2-0, seedance-2-0-fast, seedance-2-0-nsfw
Model typeVideo generation
Base URLhttps://api-platform.ope.ai
Create taskPOST /v1/videos
Query taskGET /v1/videos/{task_id}
Download resultGET /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 size directly, for example 1280x720
  • Send resolution + ratio, for example resolution: "720p" + ratio: "16:9", instead of size
{
"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

FieldRequiredDescription
modelYesUse a valid model ID, for example seedance-2-0
promptYesVideo generation prompt
sizeConditionalOutput size, for example 1280x720 or 720x1280 (the fast series does not support 1080p). Can be replaced by resolution + ratio
resolutionConditionalResolution tier. Use it together with ratio instead of size. Values: 480p, 720p, 1080p
ratioConditionalAspect ratio. Use it together with resolution instead of size. Values: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9
secondsYesDuration string from 4 to 15 seconds, for example "4" or "5"
generate_audioNoWhether to generate audio
seedNoRandom seed
input_reference.contentNoMultimodal reference array

Use either size or resolution + ratio; do not send both.

Supported reference types:

typeFieldDescription
image_urlimage_url.urlImage URL
video_urlvideo_url.urlVideo URL
audio_urlaudio_url.urlAudio URL

Each item may include a role. Common values include:

  • reference_image
  • reference_video
  • reference_audio
  • first_frame
  • last_frame

3. Basic Limits

Generation duration:

  • seconds must be between 4 and 15

Reference and prompt limits:

Asset typeField / RoleLimitDuration / Specification
Reference imagereference_image9 imagesEach image < 30MB
Reference videoreference_video3 videosEach video 2~15s, total duration <= 15s, each video < 50MB
Reference audioreference_audio3 clipsEach clip 2~15s, total duration <= 15s, each clip < 15MB
Text promptprompt / text1 itemChinese <= 500 characters, English <= 1000 words; over-limit prompts may lose details

Multimodal reference constraints:

  • reference_audio cannot be sent on its own.
  • If audio is used as BGM or voice/timbre reference, input_reference.content must contain at least 1 visual asset as the multimodal anchor.
  • The visual asset can be reference_image or reference_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:

  • QUEUED
  • IN_PROGRESS
  • SUCCESS
  • FAILURE

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.

resolutionratioEquivalent size
480p16:9864x496
480p4:3752x560
480p1:1640x640
480p3:4560x752
480p9:16496x864
480p21:9992x432
720p16:91280x720
720p4:31112x834
720p1:1960x960
720p3:4834x1112
720p9:16720x1280
720p21:91470x630
1080p16:91920x1080
1080p4:31664x1248
1080p1:11440x1440
1080p3:41248x1664
1080p9:161080x1920
1080p21:92206x946

Note: 1080p is available for the Seedance 2.0 series. Seedance 2.0 fast does not support 1080p.

8. Minimal Test Order

  1. Text-to-video
  2. Single image reference
  3. Query the task
  4. Download video
  5. Multimodal references