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)
API Notes
Section titled “API Notes”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)
Endpoints
Section titled “Endpoints”POST /v1/queue/seedance-1-0-pro # Create taskGET /v1/queue/seedance-1-0-pro/requests/{request_id}/status # Check statusGET /v1/queue/seedance-1-0-pro/requests/{request_id}/response # Get resultPUT /v1/queue/seedance-1-0-pro/requests/{request_id}/cancel # Cancel taskRequest parameters
Section titled “Request parameters”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}'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)
Content type
Value: text
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
Content type
Value: image_url
Image URL object
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
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 notification address for task results
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 type for processing this request
default: Online inference mode
flex: Offline inference mode
Default: default
Options: default, flex
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]
Video resolution
Default: 1080p
Options: 480p, 720p, 1080p
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
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
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 for controlling randomness of generated content
Default: -1
Range: [-1, 2^32-1]
Whether to fix the camera
Default: false
Options: true, false
Whether the generated video contains watermark
Default: false
Options: true, false
Response parameters
Section titled “Response parameters”{ "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}| Field | Type | Description |
|---|---|---|
request_id | string | Task ID used for all follow-up operations. |
response_url | string | URL to fetch the final result. |
status_url | string | URL to query task status. |
cancel_url | string | URL to cancel the task. |
queue_position | int | Current queue position. |