Seedance 2.0
ByteDance Seedance 2.0. Video with native dialogue and sound, from text, a first frame, or reference pictures and clips.
Model id: seedance-2-0
Parameters
Only model and prompt are required. Omitted optional params use the default. An unsupported value returns 400. These values are the same ones GET /v1/models?type=video reports.
| Parameter | Allowed | Default | Required |
|---|---|---|---|
resolution |
480p, 720p, 1080p, 4k | 720p | No |
duration |
4-15 | 5 | No |
audio |
true, false | false | No |
seed |
0-2147483647 | — | No |
ratio |
16:9, 9:16, 1:1 | 16:9 | No |
Attachment roles and upload limits
| Role | Content block | Max per request | Supported | Required |
|---|---|---|---|---|
Opening
first_frame
|
image_url |
— | Yes | Optional |
Ending
last_frame
|
image_url |
— | Yes | Optional |
Reference image
reference_image
|
image_url |
9 | Yes | Optional |
Reference video
reference_video
|
video_url |
3 | Yes | Optional |
Source video (edit/motion reference)
source_video
|
video_url |
— | No | Optional |
| Combination | Allowed | Notes |
|---|---|---|
| Opening + Ending | Yes | Sets the clip's opening and closing image. This is only offered on models that accept a last frame. Other models refuse the second image. |
| Opening + Reference image | Yes | Refused. A picture used as a frame and a picture used as a likeness reference are different modes, and no model accepts both at once. |
| Opening + Reference video | Yes | Allowed. A video reference is a different medium from a frame, so the two do not compete. |
| Reference image | Yes | Up to the per-request maximum in the table above. The cap differs per model, so one model's number never applies to another. |
| Source video (edit/motion reference) | No | The source clip's own duration is billed on top of the output, so a 5s edit of a 5s clip bills as 10 seconds. |
| Source image (photo to edit) | No | Never accepted on a video model, whatever its other capabilities. Editing a photo belongs on the image endpoint. |
The role token distinguishes two attachments. First frame and last frame both travel as an image_url content block, so the block alone cannot identify them.
On this endpoint, a request may carry only one image_url attachment, and a second one is rejected even though /media allows more. This is the most common cause of support requests.
Sending a role a model does not support returns 422 model_capability_unsupported.
Per-file and total byte ceilings differ per model. One model's numbers never apply to another.
| Field | Value |
|---|---|
| Accepted image types | image/jpeg, image/png, image/webp |
| Max per image | 30 MB |
| Max total across all images | 64 MB |
| Dimensions | 300–6000 px |
| Aspect ratio (width / height) | 0.4–2.5 |
| Accepted video types | video/mp4, video/quicktime |
| Max per video | 50 MB |
| Reference clip duration | 2–15 seconds |
Example
curl https://console.aimodelhub.ai/v1/videos \
-H "Authorization: Bearer $AIHUB_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"seedance-2-0","prompt":"a drone shot over a canyon"}'Metered once at this model's list price on success and debited from the wallet. See the Video overview for the full request/response shape.