Create an asynchronous ByteDance Seedance video job on CometAPI with POST /v1/videos. One endpoint serves Seedance 1.0 Pro, 1.5 Pro, and 2.0, with multipart/form-data requests.
curl https://api.cometapi.com/v1/videos \
-H "Authorization: Bearer <COMETAPI_KEY>" \
-F 'prompt="A slow cinematic camera push across a coastal landscape at sunrise"' \
-F 'model="doubao-seedance-2-0-fast"' \
-F 'seconds="5"' \
-F 'size="16:9"' \
-F 'resolution="720p"'{
"id": "task_abc123",
"task_id": "task_abc123",
"object": "video",
"model": "doubao-seedance-2-0-fast",
"status": "SUBMITTED",
"progress": 0,
"created_at": 1776681149
}model field. The call returns a task id immediately and the render continues in the background.
| Model id | Tier | Notes |
|---|---|---|
doubao-seedance-2-0 | 2.0 | Highest quality output in the 2.0 family. |
doubao-seedance-2-0-fast | 2.0 | Faster variant of 2.0 for quick iteration and previews. |
doubao-seedance-1-5-pro | 1.5 Pro | Supports 1080p. Text-to-video only. |
doubao-seedance-1-0-pro | 1.0 Pro | Supports 1080p and shorter clips from 2 seconds. Text-to-video only. |
| Field | Type | Required | Default | Allowed values |
|---|---|---|---|---|
prompt | string | yes | — | any text |
model | string | yes | — | doubao-seedance-2-0, doubao-seedance-2-0-fast, doubao-seedance-1-5-pro, doubao-seedance-1-0-pro |
seconds | integer | no | 5 | depends on model (see below) |
size | string | no | 16:9 | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 |
resolution | string | no | 720p | 480p, 720p for 2.0 models; 480p, 720p, 1080p for 1.5 Pro and 1.0 Pro |
input_reference | file | no | — | JPEG, PNG, or WebP. Accepted only by the 2.0 models. |
| Model | seconds range |
|---|---|
doubao-seedance-2-0, doubao-seedance-2-0-fast | 4 to 15 |
doubao-seedance-1-5-pro | 4 to 12 |
doubao-seedance-1-0-pro | 2 to 10 |
400 with code: "InvalidParameter" and a message about duration.
input_reference file. Sending input_reference with doubao-seedance-1-5-pro or doubao-seedance-1-0-pro returns HTTP 400 with a message of the form the specified task_type r2v does not support model seedance-1-5-pro. Use those models for text-to-video only.
multipart/form-data. To run image-to-video on a 2.0 model, attach the image as the input_reference part in the same request:
curl https://api.cometapi.com/v1/videos \
-H "Authorization: Bearer <COMETAPI_KEY>" \
-F 'prompt="A slow cinematic camera push across a coastal landscape at sunrise."' \
-F 'model="doubao-seedance-2-0"' \
-F 'seconds="5"' \
-F 'size="16:9"' \
-F 'resolution="720p"' \
-F 'input_reference=@/path/to/reference.jpg'
/path/to/reference.jpg with the absolute or relative path to the image you want to use as the first-frame anchor. Supported formats are JPEG, PNG, and WebP.
Submit the task
prompt and model. Save the returned id for the next step.Poll the task
400 when a required field is missing, a value falls outside the accepted range, or input_reference is sent to a model that does not support image-to-video. It returns HTTP 401 when the bearer token is missing or invalid. The error body uses one of two shapes; see the 400 and 401 examples in the playground for the exact fields.Bearer token authentication. Use your CometAPI key.
Text prompt that describes the video. Required.
"A slow cinematic camera push across a coastal landscape at sunrise."
Seedance model id. Choose doubao-seedance-2-0 for the highest quality 2.0 output, doubao-seedance-2-0-fast for quick iteration on 2.0, doubao-seedance-1-5-pro for the 1.5 Pro tier, or doubao-seedance-1-0-pro for the 1.0 Pro tier. Only the two 2.0 models accept input_reference.
doubao-seedance-2-0, doubao-seedance-2-0-fast, doubao-seedance-1-5-pro, doubao-seedance-1-0-pro "doubao-seedance-2-0-fast"
Video duration in seconds. The accepted range depends on the model: doubao-seedance-2-0 and doubao-seedance-2-0-fast accept 4 to 15, doubao-seedance-1-5-pro accepts 4 to 12, and doubao-seedance-1-0-pro accepts 2 to 10. The default is 5 for every model.
2 <= x <= 155
Output aspect ratio. All Seedance models accept the same set of values.
21:9, 16:9, 4:3, 1:1, 3:4, 9:16 "16:9"
Output resolution. 480p and 720p are accepted by every model; 1080p is supported only by doubao-seedance-1-5-pro and doubao-seedance-1-0-pro.
480p, 720p, 1080p "720p"
Optional reference image. When included, the job runs in image-to-video mode and uses the image as the visual anchor. Only doubao-seedance-2-0 and doubao-seedance-2-0-fast accept this field; sending it with a 1.0 Pro or 1.5 Pro model returns HTTP 400.
Task created. Save the returned id and poll GET /v1/videos/{id}.
Task id. Use it as the path parameter for GET /v1/videos/{id}.
Object type, always video.
Echo of the requested model id.
Initial task status. A newly created task is returned as SUBMITTED.
SUBMITTED, IN_PROGRESS, SUCCESS, FAILED, ERROR Completion percentage. 0 at creation.
0 <= x <= 100Task creation time as a Unix timestamp in seconds.
Alias of id returned for compatibility. The value matches id.
curl https://api.cometapi.com/v1/videos \
-H "Authorization: Bearer <COMETAPI_KEY>" \
-F 'prompt="A slow cinematic camera push across a coastal landscape at sunrise"' \
-F 'model="doubao-seedance-2-0-fast"' \
-F 'seconds="5"' \
-F 'size="16:9"' \
-F 'resolution="720p"'{
"id": "task_abc123",
"task_id": "task_abc123",
"object": "video",
"model": "doubao-seedance-2-0-fast",
"status": "SUBMITTED",
"progress": 0,
"created_at": 1776681149
}