Doubao Seedance 2.0
doubao-seedance-2-0Use the Doubao Seedance 2 0 API for AI video generation. Generate clips from text or use an image or reference on supported routes. Turn a creative brief or still image into motion tests and draft shots. Compare the available provider routes, request examples, and usage prices on OpenAny.
- Published price
- Output $6.345 / 1M tokens
- Billing unit
- / 1M tokens
- Context / Max output
- — / —
- Listed routes
- 2
Result preview
ByteDance · 316ms
Response example. Run to see the actual response.
{
"id": "yy-cgt-190928547529883717c4896a303531456abec02c308ac335eb",
"seed": 61102,
"media": [
{
"key": "key-market/playgrounds/2026/08/10/2ae7f003-cc95-4656-860a-12a93152f0e0.mp4",
"url": "/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4",
"name": "cgt-20260810114447-knqp7.mp4",
"type": "video",
"mimeType": "video/mp4"
}
],
"model": "doubao-seedance-2-0",
"ratio": "16:9",
"tools": [],
"usage": {
"total_tokens": 108900,
"completion_tokens": 108900
},
"status": "succeeded",
"content": {
"video_url": "/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4",
"kz_video_url": "/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4",
"last_frame_url": ""
},
"duration": 5,
"video_url": "/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4",
"created_at": 1786333487,
"resolution": "720p",
"updated_at": 1786333802,
"generate_audio": true,
"framespersecond": 24,
"openmodels_cost": 1129116,
"execution_expires_after": 172800
}- Base URL
https://api.openany.si/v1- POST
/v1/videos- GET
/v1/videos/{task_id}- Authentication
Authorization: Bearer $OPENANY_API_KEY
Request parameters
| Parameter | Type / range | Default value | Required | Description |
|---|---|---|---|---|
content | array | — | Yes | Input content for video generation. Supports text, image, audio, video, and draft task ID. |
model | string | — | Yes | Model ID or Endpoint ID to call. |
callback_url | string | — | No | Callback URL for task status updates. The callback body is consistent with the query task API response. |
camera_fixed | boolean | false | No | Whether to fix the camera. Reference image scenarios and Seedance 2.0 series currently do not support this parameter. |
draft | boolean | false | No | Whether to enable draft mode. Supported only by Seedance 1.5 Pro. Draft mode uses 480p resolution, does not support return_last_frame, and does not support offline inference. |
duration | integer | 5 | No | Generated video duration in seconds. duration and frames are mutually optional; frames has higher priority. Seedance 2.0 supports integers in [4,15] or -1 for automatic duration. |
execution_expires_after | integer · 3600 ~ 259200 | 172800 | No | Task expiration threshold in seconds, calculated from the created_at timestamp. Default is 172800 seconds, or 48 hours. |
frames | integer · 29 ~ 289 | — | No | Generated video frame count. frames has higher priority than duration. Supported values are integers in [29,289] matching 25 + 4n. Seedance 2.0 series and Seedance 1.5 Pro currently do not support this parameter. |
generate_audio | boolean | true | No | Whether to generate synchronized audio. Supported by Seedance 2.0 series and Seedance 1.5 Pro. true generates voice, sound effects, and background music; false generates silent video. |
priority | integer · 0 ~ 9 | 0 | No | Execution priority for Seedance 2.0 series. Higher values are scheduled earlier in the queue. Not supported when service_tier is flex. |
ratio | string · 16:9 | 4:3 | 1:1 | 3:4 | 9:16 | 21:9 | adaptive | — | No | Generated video aspect ratio. Seedance 2.0 series and Seedance 1.5 Pro default to adaptive. example:16:9、4:3、1:1、3:4、9:16、21:9、adaptive |
resolution | string · 480p | 720p | 1080p | 4k | — | No | Video resolution. Seedance 2.0 series and Seedance 1.5 Pro default to 720p. Seedance 1.0 Pro and Pro Fast default to 1080p. 4k is supported only by Seedance 2.0. |
return_last_frame | boolean | false | No | Whether to return the last frame image of the generated video. The last frame can be retrieved from the query task API. |
safety_identifier | string | — | No | Stable and unique end-user identifier for safety detection. Use an English string up to 64 characters. Avoid private user information; hashed user ID is recommended. |
seed | integer · -1 ~ 4294967295 | -1 | No | Random seed for controlling generation randomness. -1 means random. Seedance 2.0 series currently does not support this parameter. |
service_tier | string · default | flex | default | No | Service tier. default means online inference; flex means offline inference. Seedance 2.0 series only supports online inference and does not support this parameter. |
tools | array | — | No | Tools available to the model. Supported by Seedance 2.0 series. |
watermark | boolean | false | No | Whether the generated video contains an AI-generated watermark. |
Request example
curl 'https://api.openany.si/v1/videos' \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": [
{
"text": "Generate a video of a carp leaping over the Dragon Gate.",
"type": "text"
}
],
"duration": 5,
"generate_audio": true,
"model": "doubao-seedance-2-0",
"ratio": "16:9",
"resolution": "720p",
"route_mode": "balanced",
"watermark": false,
"camera_fixed": false,
"draft": false,
"execution_expires_after": 172800,
"priority": 0,
"return_last_frame": false,
"seed": -1,
"service_tier": "default"
}'Response example
Configured response example · not a live result
{
"id": "yy-cgt-190928547529883717c4896a303531456abec02c308ac335eb",
"seed": 61102,
"media": [
{
"key": "key-market/playgrounds/2026/08/10/2ae7f003-cc95-4656-860a-12a93152f0e0.mp4",
"url": "/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4",
"name": "cgt-20260810114447-knqp7.mp4",
"type": "video",
"mimeType": "video/mp4"
}
],
"model": "doubao-seedance-2-0",
"ratio": "16:9",
"tools": [],
"usage": {
"total_tokens": 108900,
"completion_tokens": 108900
},
"status": "succeeded",
"content": {
"video_url": "/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4",
"kz_video_url": "/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4",
"last_frame_url": ""
},
"duration": 5,
"video_url": "/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4",
"created_at": 1786333487,
"resolution": "720p",
"updated_at": 1786333802,
"generate_audio": true,
"framespersecond": 24,
"openmodels_cost": 1129116,
"execution_expires_after": 172800
}Error handling
400Check the model ID and request fields.429Retry with exponential backoff.5xxRetry only temporary provider failures.JSON Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"model",
"content"
],
"properties": {
"seed": {
"type": "integer",
"default": -1,
"maximum": 4294967295,
"minimum": -1,
"description": "Random seed for controlling generation randomness. -1 means random. Seedance 2.0 series currently does not support this parameter."
},
"draft": {
"type": "boolean",
"default": false,
"description": "Whether to enable draft mode. Supported only by Seedance 1.5 Pro. Draft mode uses 480p resolution, does not support return_last_frame, and does not support offline inference."
},
"model": {
"type": "string",
"description": "Model ID or Endpoint ID to call."
},
"ratio": {
"enum": [
"16:9",
"4:3",
"1:1",
"3:4",
"9:16",
"21:9",
"adaptive"
],
"type": "string",
"description": "Generated video aspect ratio. Seedance 2.0 series and Seedance 1.5 Pro default to adaptive. example:16:9、4:3、1:1、3:4、9:16、21:9、adaptive"
},
"tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"enum": [
"web_search"
],
"type": "string",
"description": "Tool type. web_search enables online search capability."
}
}
},
"description": "Tools available to the model. Supported by Seedance 2.0 series."
},
"frames": {
"type": "integer",
"maximum": 289,
"minimum": 29,
"description": "Generated video frame count. frames has higher priority than duration. Supported values are integers in [29,289] matching 25 + 4n. Seedance 2.0 series and Seedance 1.5 Pro currently do not support this parameter."
},
"content": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"role": {
"enum": [
"first_frame",
"last_frame",
"reference_image",
"reference_video",
"reference_audio"
],
"type": "string",
"description": "Role or purpose of the media input. Use first_frame/last_frame for first/last frame image generation, reference_image for reference images, reference_video for reference videos, and reference_audio for reference audio."
},
"text": {
"type": "string",
"description": "Text prompt describing the expected video. Chinese and English are supported; Seedance 2.0 also supports Japanese, Indonesian, Spanish, and Portuguese."
},
"type": {
"enum": [
"text",
"image_url",
"video_url",
"audio_url",
"draft_task"
],
"type": "string",
"description": "Input content type."
},
"audio_url": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Audio URL, base64 audio data, or asset ID. Base64 format example: data:audio/wav;base64,{base64_audio}."
}
},
"description": "Audio input object. Audio input is supported by Seedance 2.0 series and cannot be used alone; at least one reference image or video is required."
},
"image_url": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Image URL, base64 image data, or asset ID. Asset ID format: asset://."
}
},
"description": "Image input object."
},
"video_url": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Video URL or asset ID. Asset ID format: asset://."
}
},
"description": "Video input object. Video input is supported by Seedance 2.0 series."
},
"draft_task": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Draft video task ID."
}
},
"description": "Draft task object. Supported by Seedance 1.5 Pro for generating final video from a draft video task."
}
}
},
"description": "Input content for video generation. Supports text, image, audio, video, and draft task ID."
},
"duration": {
"type": "integer",
"default": 5,
"description": "Generated video duration in seconds. duration and frames are mutually optional; frames has higher priority. Seedance 2.0 supports integers in [4,15] or -1 for automatic duration."
},
"priority": {
"type": "integer",
"default": 0,
"maximum": 9,
"minimum": 0,
"description": "Execution priority for Seedance 2.0 series. Higher values are scheduled earlier in the queue. Not supported when service_tier is flex."
},
"watermark": {
"type": "boolean",
"default": false,
"description": "Whether the generated video contains an AI-generated watermark."
},
"resolution": {
"enum": [
"480p",
"720p",
"1080p",
"4k"
],
"type": "string",
"description": "Video resolution. Seedance 2.0 series and Seedance 1.5 Pro default to 720p. Seedance 1.0 Pro and Pro Fast default to 1080p. 4k is supported only by Seedance 2.0."
},
"callback_url": {
"type": "string",
"description": "Callback URL for task status updates. The callback body is consistent with the query task API response."
},
"camera_fixed": {
"type": "boolean",
"default": false,
"description": "Whether to fix the camera. Reference image scenarios and Seedance 2.0 series currently do not support this parameter."
},
"service_tier": {
"enum": [
"default",
"flex"
],
"type": "string",
"default": "default",
"description": "Service tier. default means online inference; flex means offline inference. Seedance 2.0 series only supports online inference and does not support this parameter."
},
"generate_audio": {
"type": "boolean",
"default": true,
"description": "Whether to generate synchronized audio. Supported by Seedance 2.0 series and Seedance 1.5 Pro. true generates voice, sound effects, and background music; false generates silent video."
},
"return_last_frame": {
"type": "boolean",
"default": false,
"description": "Whether to return the last frame image of the generated video. The last frame can be retrieved from the query task API."
},
"safety_identifier": {
"type": "string",
"description": "Stable and unique end-user identifier for safety detection. Use an English string up to 64 characters. Avoid private user information; hashed user ID is recommended."
},
"execution_expires_after": {
"type": "integer",
"default": 172800,
"maximum": 259200,
"minimum": 3600,
"description": "Task expiration threshold in seconds, calculated from the created_at timestamp. Default is 172800 seconds, or 48 hours."
}
}
}Request example
POST /v1/videoscurl 'https://api.openany.si/v1/videos' \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": [
{
"text": "Generate a video of a carp leaping over the Dragon Gate.",
"type": "text"
}
],
"duration": 5,
"generate_audio": true,
"model": "doubao-seedance-2-0",
"ratio": "16:9",
"resolution": "720p",
"route_mode": "balanced",
"watermark": false,
"camera_fixed": false,
"draft": false,
"execution_expires_after": 172800,
"priority": 0,
"return_last_frame": false,
"seed": -1,
"service_tier": "default"
}'Model API questions
How do I call Doubao Seedance 2.0 through OpenAny?
Use model ID doubao-seedance-2-0 with an OpenAny key and the operation published in this model's API tab. The model API base is https://api.openany.si/v1. Confirm the protocol and request schema; model availability does not imply every OpenAI API operation is supported.
How is Doubao Seedance 2.0 billed?
Compare the published rate and billing unit of the selected provider route. Input, output and cache token rates may differ. Image, audio and video models can use other units. Recorded usage determines the charge under that route's billing contract.
Are Community and Verified routes the same as an official publisher API?
No. Inspect the provider name and supply classification for the specific route. A marketplace listing or a supply label is not a claim of publisher endorsement, identical service or measured uptime. Different route prices may reflect different supply and conditions.
Where do these prices come from, and when were they updated?
Rates come from the provider routes in OpenAny's public model catalog, not an independent quote from the model publisher. The catalog does not supply a price update timestamp. A page or catalog snapshot date is not a price revision date. Compare supply, billing units, tiers and conditions; a lower listed rate alone does not establish equivalent service or explain the price difference.
Use Doubao Seedance 2.0 with your agent
Inspect endpoint contracts and confirm availability and pricing before a paid call.