Skip to main content
seedance 2.0 and seedance 2.5 belong to the seedance/h3 group and use the unified POST /v1/videos endpoint with per-second billing; the resolution determines the per-second price. Tasks are asynchronous: creation returns a task_id, then use Retrieve video task to poll status and download the result.
Public model names carry no -A suffix: pass either seedance 2.0 or seedance 2.5 as model. See Video groups and billing rules for the differences between the two video groups.

Endpoint

Text-to-video example

Success response:

Model capabilities

Pricing

Cost = per-second price × seconds. Prices may change; use GET /api/pricing as the runtime source of truth.

Parameters

Reference media

Put media into the references array. Each source must be a public HTTPS URL the server can fetch directly:
Limits:
  • seedance 2.0: images ≤ 9, videos ≤ 3, audios ≤ 3, total ≤ 12; reference videos 1.8-15s each, total ≤ 15s; reference audio 2-15s.
  • seedance 2.5: images ≤ 30, videos ≤ 10, audios ≤ 10, total ≤ 50; reference videos ≤ 30s each and in total; reference audio 2-30s.
  • Single file ≤ 100 MB; reference video pixels roughly 640×640 to 4K.
  • role can be reference / first_frame / last_frame: videos and audios only use reference; first/last frames must be images.

First/last frame mode (only seedance 2.0)

  • First and last frames must be submitted in pairs, as images only, and cannot be mixed with ordinary references.
  • Frame mode supports only the Auto aspect ratio.
  • @图N and @图片N are equivalent in prompts; every submitted reference must be referenced in the prompt, unreferenced media is rejected.

Next step

Save the task_id from the creation response, then poll with Retrieve video task until completed before downloading. For a lower-cost 720p option, use the doubao seedance group.