Skip to main content
POST
Seedance Series
The ByteDance Seedance video line: the two 1.0 tiers cover text-to-video and first/last-frame control, 1.5 Pro adds multi-image reference and native audio, the three 2.0 tiers widen references to images, video and audio, and 2.5 adds video editing and video extension on top. This page covers the seven available models. They share one task endpoint and one set of parameters, and differ in the resolutions, duration ranges and reference material each accepts — switching tiers means changing model.
Seedance is the video line; the image models under the similar name are the Seedream Series, with different parameters and different billing.

Quick start

A successful submission returns a task_id. Retrieve the result with GET /v1/tasks/{task_id}, wait inline with Prefer: wait, or configure a webhook. edit and extend take a video URL, not the previous task_id: run generate first, read the video address from result.videos[].url on the finished task, and pass it in video_urls on the next call. To continue the same shot instead, send return_last_frame on the earlier call and use the returned last frame as the next first_frame_image.

Request parameters

string
required
The model ID; see Available models for the values.
string
default:"generate"
  • generate: generate a video, on every model
  • edit: edit a source video, seedance-2.5 only
  • extend: extend a source video, seedance-2.5 only
Both edit and extend require video_urls and the adaptive aspect ratio.
string
required
The video description or editing instruction. On seedance-2.0, seedance-2.0-fast and seedance-2.0-mini the prompt is optional when reference material is present; everywhere else it is required.
integer
Output length in seconds, an integer. The range depends on the model: 2–12 on seedance-1.0-pro and seedance-1.0-pro-fast, 4–12 on seedance-1.5-pro, 4–15 on the three 2.0 tiers, 4–30 on seedance-2.5.Special values on seedance-2.5:
  • 0 under generate or extend: the model picks the length (4–30 seconds), billed on the length actually generated
  • 0 under edit: the output keeps the source video’s length
string
Output resolution; the tiers each model accepts are listed under Available models. Defaults to 1080p on seedance-1.0-pro and seedance-1.0-pro-fast, and to 720p on the other models.
string
Frame ratio: 16:9, 9:16, 1:1, 4:3, 3:4 or 21:9. The four 2.x models also accept adaptive, which follows the input material.Defaults to adaptive on seedance-2.5 and to 16:9 on the other models. On 2.x, first-frame and first/last-frame jobs as well as edit and extend accept adaptive only.
integer
default:"1"
Number of videos to generate. Value: 1. Each task returns one video.
integer
Random seed. The same request and seed produce similar results.
string
First frame image URL. Supported on every model.
string
Last frame image URL; must be sent together with first_frame_image. Not supported on seedance-1.0-pro-fast.
string[]
Reference image URLs. Up to 2 on seedance-1.5-pro, 9 on the three 2.0 tiers and 30 on seedance-2.5; seedance-1.0-pro and seedance-1.0-pro-fast do not take this field. Reference images cannot be combined with a first or last frame; on seedance-1.5-pro and the three 2.0 tiers they cannot be combined with image_with_roles.
string[]
Reference video URLs. Up to 3 clips totalling 2 to 15 seconds on the 2.0 tiers, and up to 10 clips totalling 2 to 30 seconds on seedance-2.5; the 1.0 and 1.5 models do not take this field. edit and extend on seedance-2.5 use it for the source video.
string[]
Reference audio URLs. Up to 3 clips totalling 15 seconds on the 2.0 tiers, and up to 10 clips totalling 30 seconds (2 to 30 seconds each) on seedance-2.5; the 1.0 and 1.5 models do not take this field.
boolean
default:"true"
Whether to generate a video with sound. Supported on seedance-1.5-pro and the four 2.x models; seedance-1.0-pro and seedance-1.0-pro-fast do not support it.
boolean
Whether to watermark the output video. seedance-2.5 only.
object[]
Role-tagged images, merged with first_frame_image and last_frame_image. Each entry holds a url and a role; supported on every model. role values:
  • seedance-1.0-pro, seedance-1.5-pro: first_frame or last_frame, at most one each
  • seedance-1.0-pro-fast: first_frame only
  • The three 2.0 tiers and seedance-2.5: first_frame, last_frame or reference_image
Cannot be combined with image_urls on seedance-1.5-pro and the three 2.0 tiers.
boolean
default:"false"
Keep the camera fixed. generate on seedance-1.5-pro only.
boolean
default:"false"
Return the last frame for continuation. Supported on the four 2.x models.
object[]
Tool list; currently only [{"type": "web_search"}], which grounds generation on web information. Supported on the four 2.x models.
string
default:"mp4"
Output video container format, mp4 or mov. seedance-2.5 only.
string
default:"auto"
Reference-mode hint for generate, auto or reference. Sending reference validates the reference-to-video constraints at submit time: an invalid request returns 400 with no task created and nothing billed. edit and extend are derived from the action and need no hint. seedance-2.5 only.

Asset references (asset://)

On seedance-2.0, seedance-2.0-fast, seedance-2.0-mini and seedance-2.5, media fields accept asset://<asset ID> to reference an asset uploaded to the Asset library; assets and ordinary links can be mixed: Only active assets owned by your account can be referenced; an asset that does not exist, belongs to another account or is not active returns 400 and is not billed. Other models do not accept asset://. See Submit Task for callback_url, callback_events, Prefer: wait, Idempotency-Key and the maximum-cost header. Any other parameter returns 400 and is not billed.

Limits

  • Each task returns one video.
  • This model requires a prompt. (seedance-1.0-pro, seedance-1.0-pro-fast, seedance-1.5-pro, seedance-2.5)
  • Text-only generation requires a prompt; prompt is optional when reference media is present. (seedance-2.0, seedance-2.0-fast, seedance-2.0-mini)
  • generate/extend requires an explicit duration from 2 to 12 seconds. (seedance-1.0-pro, seedance-1.0-pro-fast)
  • generate/extend requires an explicit duration from 4 to 12 seconds. (seedance-1.5-pro)
  • generate/extend requires an explicit duration from 4 to 15 seconds. (seedance-2.0, seedance-2.0-fast, seedance-2.0-mini)
  • generate/extend requires duration: 4 to 30 seconds, or 0 to let the model pick the length. (seedance-2.5)
  • A last frame requires a first frame. (every model except seedance-1.0-pro-fast)
  • First/last frames cannot be mixed with general image references.
  • 2.x first-frame tasks require adaptive aspect ratio.
  • 2.x first/last-frame tasks require adaptive aspect ratio.
  • At most two reference images are accepted. (seedance-1.5-pro)
  • Reference videos must be duration-readable HTTP(S) MP4/MOV/WebM or your own active asset:// video assets; total duration must be 2 to 15 seconds. (seedance-2.0, seedance-2.0-fast, seedance-2.0-mini)
  • Reference videos must be duration-readable HTTP(S) MP4/MOV/WebM or your own active asset:// video assets; total duration must be 2 to 30 seconds. (seedance-2.5)
  • Seedance 2.0 does not accept audio-only reference requests.
  • image_with_roles cannot be combined with image_urls. (seedance-1.5-pro, seedance-2.0, seedance-2.0-fast, seedance-2.0-mini)
  • Video edit requires a source video, adaptive aspect ratio, and source-length duration. (seedance-2.5 · edit)
  • The edit source video must be 4 to 30 seconds. (seedance-2.5 · edit)
  • Video extension requires a source video and adaptive aspect ratio. (seedance-2.5 · extend)
The upstream also classifies 2.5 sub-tasks from the prompt: write edit prompts as editing instructions (remove, replace, modify) and extend prompts as continuation instructions, matching the action you send.

Pricing

Billing is resolution tier × output seconds. Within one model, higher resolutions cost more; at the same resolution, seedance-2.0-mini is the cheapest, seedance-2.0-fast sits in the middle and seedance-2.0 is the most expensive. With a reference video (video_urls, on the three 2.0 tiers and seedance-2.5), the charge is the sum of two parts:
  • the output seconds, at the reference-video tier for that resolution
  • the reference video’s input seconds, at the input-second rate
The reference video’s length is read at submit time; when it cannot be read, the model’s reference-video ceiling is used instead, and asset:// assets use the length measured at upload. Reference images and reference audio carry no separate charge. seedance-1.5-pro has its own audio tier, so generate_audio is billed at the audio tier for that resolution; on the other models audio does not change the tier. seedance-2.5 freezes quota at submission (at 30 seconds when duration is 0) and settles on the actual result when the task completes, refunding the difference.
Per-model rates are in price_config on GET /v1/models, and in the console’s Model Market.What a single call actually cost is the cost field on the task response — an integer quota at 500,000 quota = 1 USD.
You are billed only for a delivered video. Failed and cancelled tasks, and upstream successes that carry no deliverable video, are refunded in full. The final charge is the cost field on the task response — an integer quota, not dollars.

Response

Completed task
Generated videos are returned in result.videos; url is an array and expires_at is the link expiry in Unix seconds, so copy the file to your own storage before then. Tasks submitted with return_last_frame also carry the last-frame image in the result. See Query Task Status for the full field reference.

Available models