Seedance 2.0 API reference
Cinematic clips up to 4K with native audio
Call Seedance 2.0 from your own code with one PopNow API key. Below are the exact model IDs to send, every input field the model accepts, what each request costs in credits, and a request you can paste into a terminal.
At a glance
- Made by
- ByteDance
- Output
- Video
- From
- 6.47 credits per second of output ($0.0647)
- Typical time
- about 300 s
1 credit = $0.01. A task holds the highest possible charge when it is accepted and settles the real amount when it finishes, rounded up to whole credits; failed tasks are not charged. Ask POST /api/v1/jobs/quote for the exact figure before you run.
Create Video
bytedance/seedance-2.0/text-to-video
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
generate_audio = false, resolution = 480p | 10.5 | $0.105 |
generate_audio = true, resolution = 480p | 10.5 | $0.105 |
enable_web_search = true, generate_audio = false, resolution = 480p | 17.1 | $0.171 |
enable_web_search = true, generate_audio = true, resolution = 480p | 17.1 | $0.171 |
generate_audio = false, resolution = 720p | 22.8 | $0.228 |
generate_audio = true, resolution = 720p | 22.8 | $0.228 |
enable_web_search = true, generate_audio = false, resolution = 720p | 36.9 | $0.369 |
enable_web_search = true, generate_audio = true, resolution = 720p | 36.9 | $0.369 |
generate_audio = false, resolution = 1080p | 56.1 | $0.561 |
generate_audio = true, resolution = 1080p | 56.1 | $0.561 |
enable_web_search = true, generate_audio = false, resolution = 1080p | 91.8 | $0.918 |
enable_web_search = true, generate_audio = true, resolution = 1080p | 91.8 | $0.918 |
generate_audio = false, resolution = 4k | 116.7 | $1.167 |
generate_audio = true, resolution = 4k | 116.7 | $1.167 |
enable_web_search = true, generate_audio = false, resolution = 4k | 187.2 | $1.872 |
enable_web_search = true, generate_audio = true, resolution = 4k | 187.2 | $1.872 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
promptRequired | string | — | — | What to generate: subject, action, camera movement and mood. |
aspect_ratioOptional | string | adaptive | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptive | Aspect ratio of the generated video. |
resolutionOptional | string | 720p | 480p, 720p, 1080p, 4k | Output resolution. Super-resolution tiers are not offered. |
duration_secondsOptional | integer | 5 | -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | Clip length in seconds. This is the billed quantity. Pass -1 for smart duration: the model picks the length itself instead of a fixed number. |
generate_audioOptional | boolean | true | — | Generate a native soundtrack synchronised to the picture. |
enable_web_searchOptional | boolean | false | — | Let the model search the web for information related to the prompt before rendering. Requests with it on are billed at the web-search rate. |
seedOptional | integer | — | 0 to 2147483647 | Random seed. Omit to let the model pick one. |
return_last_frameOptional | boolean | false | — | Also return the clip’s final frame as a separate image. |
bitrate_modeOptional | string | standard | standard, high | Encoding bitrate of the delivered file: standard, or high for crisper detail and a larger file. |
watermarkOptional | boolean | false | — | Add the model’s visible "AI generated" watermark to the video. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "bytedance/seedance-2.0/text-to-video",
"input": {
"prompt": "A paper boat drifts down a rain-soaked street at dusk, neon signs reflecting in the water, slow tracking shot at ground level",
"enable_web_search": false,
"generate_audio": true,
"duration_seconds": 5,
"resolution": "720p"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"Image to Video
bytedance/seedance-2.0/image-to-video
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
generate_audio = false, resolution = 480p | 10.5 | $0.105 |
generate_audio = true, resolution = 480p | 10.5 | $0.105 |
generate_audio = false, resolution = 720p | 22.8 | $0.228 |
generate_audio = true, resolution = 720p | 22.8 | $0.228 |
generate_audio = false, resolution = 1080p | 56.1 | $0.561 |
generate_audio = true, resolution = 1080p | 56.1 | $0.561 |
generate_audio = false, resolution = 4k | 116.7 | $1.167 |
generate_audio = true, resolution = 4k | 116.7 | $1.167 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
image_urlRequired | string | — | — | URL of the image used as the first frame. |
promptOptional | string | — | — | What to generate: subject, action, camera movement and mood. |
last_image_urlOptional | string | — | — | URL of the image used as the closing frame. Only accepted together with image_url. |
aspect_ratioOptional | string | adaptive | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptive | Aspect ratio of the generated video. |
resolutionOptional | string | 720p | 480p, 720p, 1080p, 4k | Output resolution. Super-resolution tiers are not offered. |
duration_secondsOptional | integer | 5 | -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | Clip length in seconds. This is the billed quantity. Pass -1 for smart duration: the model picks the length itself instead of a fixed number. |
generate_audioOptional | boolean | true | — | Generate a native soundtrack synchronised to the picture. |
seedOptional | integer | — | 0 to 2147483647 | Random seed. Omit to let the model pick one. |
return_last_frameOptional | boolean | false | — | Also return the clip’s final frame as a separate image. |
bitrate_modeOptional | string | standard | standard, high | Encoding bitrate of the delivered file: standard, or high for crisper detail and a larger file. |
watermarkOptional | boolean | false | — | Add the model’s visible "AI generated" watermark to the video. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in image_url. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "bytedance/seedance-2.0/image-to-video",
"input": {
"prompt": "He lands softly on the rooftop, laughs and turns toward the camera while the balloons sway in the evening breeze; slow push-in",
"image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
"generate_audio": true,
"duration_seconds": 5,
"resolution": "720p"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"Reference to Video
bytedance/seedance-2.0/reference-to-video
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
generate_audio = false, resolution = 480p, with_video = true | 6.47 | $0.0647 |
generate_audio = true, resolution = 480p, with_video = true | 6.47 | $0.0647 |
generate_audio = false, resolution = 480p, with_video = false | 10.5 | $0.105 |
generate_audio = true, resolution = 480p, with_video = false | 10.5 | $0.105 |
generate_audio = false, resolution = 720p, with_video = true | 13.92 | $0.1392 |
generate_audio = true, resolution = 720p, with_video = true | 13.92 | $0.1392 |
generate_audio = false, resolution = 720p, with_video = false | 22.8 | $0.228 |
generate_audio = true, resolution = 720p, with_video = false | 22.8 | $0.228 |
generate_audio = false, resolution = 1080p, with_video = true | 34.26 | $0.3426 |
generate_audio = true, resolution = 1080p, with_video = true | 34.26 | $0.3426 |
generate_audio = false, resolution = 1080p, with_video = false | 56.1 | $0.561 |
generate_audio = true, resolution = 1080p, with_video = false | 56.1 | $0.561 |
generate_audio = false, resolution = 4k, with_video = false | 116.7 | $1.167 |
generate_audio = false, resolution = 4k, with_video = true | 116.7 | $1.167 |
generate_audio = true, resolution = 4k, with_video = false | 116.7 | $1.167 |
generate_audio = true, resolution = 4k, with_video = true | 116.7 | $1.167 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
promptRequired | string | — | — | What to generate: subject, action, camera movement and mood. |
reference_image_urlsOptional | array<string> | — | up to 9 items | Reference image URLs (up to 9). Characters, style and scene composition are carried over from them. |
reference_video_urlsOptional | array<string> | — | up to 3 items | Reference video URLs (total length 15 s or less, up to 3). Motion and pacing are carried over from them. Reference footage is billed on the same linear basis as clip length, so longer references cost more. |
reference_audio_urlsOptional | array<string> | — | up to 3 items | Reference audio URLs (total length 15 s or less, up to 3). The generated soundtrack follows them. |
aspect_ratioOptional | string | adaptive | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptive | Aspect ratio of the generated video. |
resolutionOptional | string | 720p | 480p, 720p, 1080p, 4k | Output resolution. Super-resolution tiers are not offered. |
duration_secondsOptional | integer | 5 | -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | Clip length in seconds. This is the billed quantity. Pass -1 for smart duration: the model picks the length itself instead of a fixed number. |
generate_audioOptional | boolean | true | — | Generate a native soundtrack synchronised to the picture. |
seedOptional | integer | — | 0 to 2147483647 | Random seed. Omit to let the model pick one. |
return_last_frameOptional | boolean | false | — | Also return the clip’s final frame as a separate image. |
bitrate_modeOptional | string | standard | standard, high | Encoding bitrate of the delivered file: standard, or high for crisper detail and a larger file. |
watermarkOptional | boolean | false | — | Add the model’s visible "AI generated" watermark to the video. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in reference_image_urls. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "bytedance/seedance-2.0/reference-to-video",
"input": {
"prompt": "The man from the reference image jogs across a sunlit rooftop at golden hour and smiles at the camera; smooth tracking shot",
"reference_image_urls": [
"https://media.popnow.ai/influencer/examples/ava.webp"
],
"generate_audio": true,
"duration_seconds": 5,
"resolution": "720p"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"Extend Video
bytedance/seedance-2.0/video-extend
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
generate_audio = false, resolution = 480p | 10.5 | $0.105 |
generate_audio = true, resolution = 480p | 10.5 | $0.105 |
generate_audio = false, resolution = 720p | 22.8 | $0.228 |
generate_audio = true, resolution = 720p | 22.8 | $0.228 |
generate_audio = false, resolution = 1080p | 56.1 | $0.561 |
generate_audio = true, resolution = 1080p | 56.1 | $0.561 |
generate_audio = false, resolution = 4k | 116.7 | $1.167 |
generate_audio = true, resolution = 4k | 116.7 | $1.167 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
video_urlRequired | string (uri) | — | — | The clip to continue: MP4, MOV or WebM, up to 60 seconds. Its last frame opens the new segment, and the result is your clip with the new segment joined on. |
promptOptional | string | — | — | What happens next: the action that follows, the camera move and the sound. Optional. |
last_image_urlOptional | string | — | — | Optional closing image: the new segment lands on this picture. Leave it out and the model decides how the shot ends. |
resolutionOptional | string | 720p | 480p, 720p, 1080p, 4k | Resolution of the new segment. Match your source clip. |
duration_secondsOptional | integer | 5 | -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | Length of the new segment in seconds. This is the billed quantity; the source clip is added on top and is not billed. Pass -1 for smart duration: the model picks the length itself. |
generate_audioOptional | boolean | true | — | Generate a native soundtrack for the new segment. The source keeps its own sound either way. |
seedOptional | integer | — | 0 to 2147483647 | Random seed. Omit to let the model pick one. |
bitrate_modeOptional | string | standard | standard, high | Encoding bitrate of the delivered file: standard, or high for crisper detail and a larger file. |
watermarkOptional | boolean | false | — | Add the model’s visible "AI generated" watermark to the video. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in video_url. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "bytedance/seedance-2.0/video-extend",
"input": {
"prompt": "The flowers keep opening while the camera slowly pulls back to reveal a sunlit meadow",
"video_url": "https://media.popnow.ai/effects/flower-bloom-1abd6efb.mp4",
"generate_audio": true,
"duration_seconds": 5,
"resolution": "720p"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"
