PopNowAPI Docs
Main content

Seedance 2.5 API reference

ByteDance's newest: 30-second clips with native audio

Call Seedance 2.5 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
11.07 credits per second of output ($0.1107)
Typical time
about 279 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.5/text-to-video

Price

OptionCredits (per second of output)US dollars
generate_audio = false, resolution = 480p18.51$0.1851
generate_audio = true, resolution = 480p18.51$0.1851
generate_audio = false, resolution = 720p41.6$0.416
generate_audio = true, resolution = 720p41.6$0.416
generate_audio = false, resolution = 1080p102.35$1.0235
generate_audio = true, resolution = 1080p102.35$1.0235

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring——What to generate: subject, action, camera movement and mood.
aspect_ratioOptionalstringadaptive21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptiveAspect ratio of the generated video.
resolutionOptionalstring720p480p, 720p, 1080pOutput resolution. Super-resolution tiers are not offered.
duration_secondsOptionalinteger54, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, … (+13)Clip length in seconds. This is the billed quantity.
generate_audioOptionalbooleantrue—Generate a native soundtrack synchronised to the picture.
output_formatOptionalstringmp4mp4, movContainer of the returned video.
enable_web_searchOptionalbooleanfalse—Let the model search the web for information related to the prompt before rendering.
seedOptionalinteger—0 to 2147483647Random seed. Omit to let the model pick one.
return_last_frameOptionalbooleanfalse—Also return the clip’s final frame as a separate image.
watermarkOptionalbooleanfalse—Ask the model to watermark the video as AI-generated.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

POST /api/v1/jobs/createTask
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.5/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",
    "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.

GET /api/v1/jobs/recordInfo
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.5/image-to-video

Price

OptionCredits (per second of output)US dollars
generate_audio = false, resolution = 480p18.51$0.1851
generate_audio = true, resolution = 480p18.51$0.1851
generate_audio = false, resolution = 720p41.6$0.416
generate_audio = true, resolution = 720p41.6$0.416
generate_audio = false, resolution = 1080p102.35$1.0235
generate_audio = true, resolution = 1080p102.35$1.0235

Parameters

FieldTypeDefaultAllowedWhat it does
image_urlRequiredstring——URL of the image used as the first frame.
promptOptionalstring——What to generate: subject, action, camera movement and mood.
last_image_urlOptionalstring——URL of the image used as the closing frame. Only accepted together with image_url.
aspect_ratioOptionalstringadaptiveadaptiveAspect ratio of the generated video. Seedance 2.5 frames an image-to-video clip on the first frame, so adaptive is the only accepted value.
resolutionOptionalstring720p480p, 720p, 1080pOutput resolution. Super-resolution tiers are not offered.
duration_secondsOptionalinteger54, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, … (+13)Clip length in seconds. This is the billed quantity.
generate_audioOptionalbooleantrue—Generate a native soundtrack synchronised to the picture.
output_formatOptionalstringmp4mp4, movContainer of the returned video.
enable_web_searchOptionalbooleanfalse—Let the model search the web for information related to the prompt before rendering.
seedOptionalinteger—0 to 2147483647Random seed. Omit to let the model pick one.
return_last_frameOptionalbooleanfalse—Also return the clip’s final frame as a separate image.
watermarkOptionalbooleanfalse—Ask the model to watermark the video as AI-generated.

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.

POST /api/v1/jobs/createTask
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.5/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.

GET /api/v1/jobs/recordInfo
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.5/reference-to-video

Price

OptionCredits (per second of output)US dollars
generate_audio = false, resolution = 480p, with_video = true11.07$0.1107
generate_audio = true, resolution = 480p, with_video = true11.07$0.1107
generate_audio = false, resolution = 480p, with_video = false18.51$0.1851
generate_audio = true, resolution = 480p, with_video = false18.51$0.1851
generate_audio = false, resolution = 720p, with_video = true24.89$0.2489
generate_audio = true, resolution = 720p, with_video = true24.89$0.2489
generate_audio = false, resolution = 720p, with_video = false41.6$0.416
generate_audio = true, resolution = 720p, with_video = false41.6$0.416
generate_audio = false, resolution = 1080p, with_video = true61.23$0.6123
generate_audio = true, resolution = 1080p, with_video = true61.23$0.6123
generate_audio = false, resolution = 1080p, with_video = false102.35$1.0235
generate_audio = true, resolution = 1080p, with_video = false102.35$1.0235

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring——What to generate: subject, action, camera movement and mood.
reference_image_urlsOptionalarray<string>—up to 30 itemsReference image URLs that carry over characters, style or scene composition. Up to 30 images. Cannot be combined with a first-frame image.
reference_video_urlsOptionalarray<string>—up to 10 itemsReference video URLs that carry over motion and pacing. Up to 10 clips, 2-30 seconds each and 30 seconds in total. Reference footage is added to the billed duration.
reference_audio_urlsOptionalarray<string>—up to 10 itemsReference audio URLs the generated soundtrack follows, for beat matching or lip sync. Up to 10 clips, 2-30 seconds each and 30 seconds in total.
aspect_ratioOptionalstringadaptive21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptiveAspect ratio of the generated video.
resolutionOptionalstring720p480p, 720p, 1080pOutput resolution. Super-resolution tiers are not offered.
duration_secondsOptionalinteger54, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, … (+13)Clip length in seconds. This is the billed quantity.
generate_audioOptionalbooleantrue—Generate a native soundtrack synchronised to the picture.
output_formatOptionalstringmp4mp4, movContainer of the returned video.
enable_web_searchOptionalbooleanfalse—Let the model search the web for information related to the prompt before rendering.
seedOptionalinteger—0 to 2147483647Random seed. Omit to let the model pick one.
return_last_frameOptionalbooleanfalse—Also return the clip’s final frame as a separate image.
watermarkOptionalbooleanfalse—Ask the model to watermark the video as AI-generated.

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.

POST /api/v1/jobs/createTask
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.5/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.

GET /api/v1/jobs/recordInfo
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.5/video-extend

Price

OptionCredits (per second of output)US dollars
generate_audio = false, resolution = 480p, with_video = true11.07$0.1107
generate_audio = true, resolution = 480p, with_video = true11.07$0.1107
generate_audio = false, resolution = 480p, with_video = false18.51$0.1851
generate_audio = true, resolution = 480p, with_video = false18.51$0.1851
generate_audio = false, resolution = 720p, with_video = true24.89$0.2489
generate_audio = true, resolution = 720p, with_video = true24.89$0.2489
generate_audio = false, resolution = 720p, with_video = false41.6$0.416
generate_audio = true, resolution = 720p, with_video = false41.6$0.416
generate_audio = false, resolution = 1080p, with_video = true61.23$0.6123
generate_audio = true, resolution = 1080p, with_video = true61.23$0.6123
generate_audio = false, resolution = 1080p, with_video = false102.35$1.0235
generate_audio = true, resolution = 1080p, with_video = false102.35$1.0235

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring——Required. Describe what happens next: the action that follows, the camera move and the sound.
video_urlRequiredstring (uri)——The clip to continue: MP4, MOV or WebM, 2 to 60 seconds. Its last 30 seconds at most become reference footage for the new segment and are billed as reference seconds; anything earlier is only joined back on.
resolutionOptionalstring720p480p, 720p, 1080pSize of the new segment. Match your source; it only sets the quality of the new segment.
duration_secondsOptionalinteger54, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, … (+13)Length of the new segment in seconds. The reference seconds taken from your clip are billed on top.
generate_audioOptionalbooleantrue—Generate sound for the new segment. The sound of your source is kept either way.
enable_web_searchOptionalbooleanfalse—Let the model search the web for information related to the prompt before rendering.
seedOptionalinteger—0 to 2147483647Random seed. Omit to let the model pick one.
watermarkOptionalbooleanfalse—Ask the model to watermark the new segment as AI-generated.

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.

POST /api/v1/jobs/createTask
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.5/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.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Next steps

On this page