Skip to content
Home

Seedance 1.0 Pro

seedance-1-0-pro

Spark Dance 1.0 Pro video generation model. Supports three modes: text-to-video, image-to-video (first frame), and image-to-video (first and last frames)

Image-to-Video (First and Last Frame): Generate target video based on your input: first frame image + last frame image + text prompt (optional) + parameters (optional)

Image-to-Video (First Frame): Generate target video based on your input: first frame image + text prompt (optional) + parameters (optional)

Text-to-Video: Generate target video based on your input: text prompt + parameters (optional)

POST /v1/queue/seedance-1-0-pro # Create task
GET /v1/queue/seedance-1-0-pro/requests/{request_id}/status # Check status
GET /v1/queue/seedance-1-0-pro/requests/{request_id}/response # Get result
PUT /v1/queue/seedance-1-0-pro/requests/{request_id}/cancel # Cancel task
Окно терминала
curl --request 'POST' 'https://odirouter.ai/model/v1/queue/seedance-1-0-pro' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--location \
--data-raw '{
"content": [
{
"type": "text",
"text": "A clean studio shot of a red apple on a white table, soft natural light."
}
],
"resolution": "720p",
"ratio": "16:9",
"duration": 5
}'
content array required

Input information for generating videos, supports text, image formats. Supports the following combinations: Text, Text + Image (first frame), Text + Image + Image (first and last frames)

Text Content Object object
type string required

Content type

Value: text

text string required

Text content input to the model, describing the expected video, including:

Text prompt (required): Supports Chinese and English. Recommended not exceeding 500 characters. Too many characters can cause information dispersion, and the model may ignore details and only focus on key points, resulting in missing elements in the video

Image Content Object object
type string required

Content type

Value: image_url

image_url object required

Image URL object

url string required

Image information, can be image URL or Base64 encoded image

Image URL: Ensure the image URL is accessible

Base64 encoding: Follow this format data:image/<image_format>;base64,<base64_encoded>, note that <image_format> must be lowercase, e.g. data:image/png;base64,{base64_image}

Image requirements:

Image formats: jpeg, png, webp, bmp, tiff, gif

Aspect ratio (width/height): (0.4, 2.5)

Width and height (px): (300, 6000)

Size: less than 30 MB

role string conditional required

Image position or purpose

First Frame to Video:

role value: Need to pass 1 image_url object, and role field can be empty, or role is: first_frame

First and Last Frame to Video:

role value: Need to pass 2 image_url objects, and role field is required

First frame image corresponds to role: first_frame

Last frame image corresponds to role: last_frame

callback_url string

Callback notification address for task results

return_last_frame boolean

Whether to return the last frame image of the generated video

true: Returns the last frame image of the generated video. After setting to true, you can get the video's last frame image through the query video generation task API. The last frame image format is png, with the same width and height pixels as the generated video, without watermark. This parameter can be used to generate multiple consecutive videos by using the end frame of one video as the first frame of the next video task

false: Does not return the last frame image

Default: false

service_tier string

Service tier type for processing this request

default: Online inference mode

flex: Offline inference mode

Default: default

Options: default, flex

execution_expires_after integer

Task timeout threshold. Specifies the expiration time (in seconds) after task submission, calculated from the created_at timestamp

Default: 172800 (48 hours)

Range: [3600, 259200]

resolution string

Video resolution

Default: 1080p

Options: 480p, 720p, 1080p

ratio string

Aspect ratio of the generated video

Default: 16:9 (text-to-video), adaptive (image-to-video)

Options: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive

Note: adaptive automatically selects the most suitable aspect ratio based on the uploaded first frame image

duration integer

Video duration in seconds

Either duration or frames can be specified (one of two), frames takes priority over duration. If you want to generate an integer-second video, it is recommended to specify duration

Default: 5

Range: 2 - 12

frames integer

Number of frames for the generated video

duration and frames are mutually exclusive, frames has higher priority. If you want to generate videos with fractional seconds, it is recommended to specify frames. By specifying the number of frames, you can flexibly control the length of the generated video, generating videos with fractional seconds

Due to the value restrictions of frames, only limited fractional seconds are supported. You need to calculate the closest frame number based on the formula

Calculation formula: Frame count = Duration × Frame rate (24)

Value range: Supports all integer values in the range [29, 289] that satisfy the format 25 + 4n, where n is a positive integer

Example: If you need to generate a 2.4 second video, frame count = 2.4×24=57.6. Since frames does not support 57.6, you can only choose the closest value. According to 25+4n, the closest frame number is 57, and the actual generated video is 57/24=2.375 seconds

seed integer

Seed integer for controlling randomness of generated content

Default: -1

Range: [-1, 2^32-1]

camera_fixed boolean

Whether to fix the camera

Default: false

Options: true, false

watermark boolean

Whether the generated video contains watermark

Default: false

Options: true, false

{
"request_id": "task_01hxyz...",
"response_url": "https://odirouter.ai/model/v1/queue/seedance-1-0-pro/requests/task_01hxyz.../response",
"status_url": "https://odirouter.ai/model/v1/queue/seedance-1-0-pro/requests/task_01hxyz.../status",
"cancel_url": "https://odirouter.ai/model/v1/queue/seedance-1-0-pro/requests/task_01hxyz.../cancel",
"queue_position": 0
}
FieldTypeDescription
request_idstringTask ID used for all follow-up operations.
response_urlstringURL to fetch the final result.
status_urlstringURL to query task status.
cancel_urlstringURL to cancel the task.
queue_positionintCurrent queue position.