Seedance Series
Seedance Series
ByteDance Seedance video generation: text, image, first/last frame and multimodal references, plus video edit and extend on 2.5, billed by resolution tier × seconds
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
A successful submission returns a
Asset references (
On
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
Generated videos are returned in
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
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 modeledit: edit a source video,seedance-2.5onlyextend: extend a source video,seedance-2.5only
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:0undergenerateorextend: the model picks the length (4–30 seconds), billed on the length actually generated0underedit: 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_frameorlast_frame, at most one eachseedance-1.0-pro-fast:first_frameonly- The three 2.0 tiers and
seedance-2.5:first_frame,last_frameorreference_image
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.cost field on the task response — an integer quota, not dollars.
Response
Completed task
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.