Version: v1.0.0 | Last Updated: 2026-06-11 This platform fully supports the Doubao Seedance series video generation API. Requests and responses are transparently proxied, and all parameter semantics remain consistent with the official API.
id is returned immediately. Use the Query Task endpoint to poll for completion.POST https://platform.dataeyes.ai/seedance/api/v3/contents/generations/tasks| Capability | 2.0 / 2.0 Lite / 2.0 Fast | 1.5 Pro | 1.0 Pro / 1.0 Lite |
|---|---|---|---|
| Text-to-Video (T2V) | Yes | Yes | Yes |
| I2V (First Frame) | Yes | Yes | Yes |
| I2V (First + Last Frame) | No | Yes | Yes |
| Reference Video | Yes | No | No |
| Reference Audio | Yes | No | No |
| Reference Image | Yes | No | No |
Audio Generation (generate_audio) | Yes | Yes | No |
Draft Mode (draft) | No | Yes | No |
Web Search (tools) | Yes | No | No |
Priority Queue (priority) | Yes | No | No |
| Flex Service Tier | No | No | No |
| 1080p Resolution | Yes (except 2.0 Fast) | Yes | Yes |
| Generation Mode | Required Content Types | Notes |
|---|---|---|
| Text-to-Video | text | Text prompt only |
| I2V (First Frame) | text + image_url (role: first_frame) | Single reference image as first frame |
| I2V (First + Last Frame) | text + image_url (role: first_frame) + image_url (role: last_frame) | 1.5 Pro and 1.0 series only |
| Reference Video | text + video_url (role: reference_video) | 2.0 series only |
| Reference Audio | text + audio_url (role: reference_audio) | 2.0 series only |
| Reference Image | text + image_url (role: reference_image) | 2.0 series only |
| Draft Upgrade | draft_task | 1.5 Pro only; upgrades a completed draft task |
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | - | Model Endpoint ID. See Model Overview. |
content | object[] | Yes | - | Array of content objects defining the generation input. See Content Objects. Note: Seedance 2.0 models restrict face-related content in reference images; consult safety guidelines for details. |
callback_url | string | No | - | Webhook URL for task completion notifications. When the task reaches a terminal status (succeeded, failed, cancelled, expired), the platform sends an HTTP POST request to this URL with the full task result as the JSON body. The callback is best-effort; implement idempotent handling on your server. |
return_last_frame | boolean | No | false | When true, the completed task response includes a last_frame_url field containing the last frame of the generated video as an image URL. Useful for chaining I2V tasks or for thumbnail generation. |
service_tier | string | No | "default" | Service tier for task execution. Values: "default", "flex". Seedance 2.0 models only support "default". The "flex" tier offers lower cost with potentially longer queue times. |
execution_expires_after | integer | No | 172800 | Maximum time (in seconds) a task may remain in the queue before being automatically expired. Range: [3600, 259200] (1 hour to 3 days). Default: 172800 (2 days). If the task has not started processing within this window, its status transitions to expired. |
generate_audio | boolean | No | true | Generate synchronized audio with the video output. Supported by Seedance 2.0 and 1.5 Pro models only. When enabled, the output video contains a single audio channel. Set to false to produce silent video. |
draft | boolean | No | false | Generate a fast draft-quality preview. Seedance 1.5 Pro only. Draft videos are rendered at 480p only, do not support last-frame return, and cannot use the offline/flex service tier. Draft tasks can later be upgraded to full quality by submitting a new task with a draft_task content object. |
tools | object[] | No | - | Enable auxiliary tools for the generation process. Seedance 2.0 only. Currently supports web search: [{"type": "web_search"}]. When enabled, the model may search the web for reference material to improve generation quality. Tool usage is reported in usage.tool_usage. |
safety_identifier | string | No | - | Safety policy identifier for content moderation. Used to apply specific safety filtering rules to the generation request. |
priority | integer | No | - | Task priority within the queue. Seedance 2.0 only. Range: [0, 9], where 0 is highest priority and 9 is lowest. Tasks with the same priority are processed in FIFO (first-in, first-out) order. Tasks with higher priority (lower number) are dequeued before tasks with lower priority, regardless of submission time. |
--params JSON block appended to the text prompt.Parameter Upgrade Note The recommended approach is to pass generation parameters as top-level fields in the request body (the "new way"). The legacy approach of embedding parameters in the text prompt via a --params {...}suffix (the "old way") is still supported for backward compatibility but is discouraged for new integrations.New way (recommended): { "model": "seedance-2.0", "content": [{"type": "text", "text": "A cat walking on the beach"}], "resolution": "720p", "ratio": "16:9", "duration": 5 }Old way (legacy, still supported): { "model": "seedance-2.0", "content": [{"type": "text", "text": "A cat walking on the beach --params {\"resolution\":\"720p\",\"ratio\":\"16:9\",\"duration\":5}"}] }When both are present, the top-level body parameters take precedence.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
resolution | string | No | Varies by model | Output video resolution. Values: "480p", "720p", "1080p". Default is "720p" for most models. Seedance 2.0 Fast does not support "1080p". See Resolution & Pixel Dimensions for exact pixel sizes. |
ratio | string | No | "16:9" | Output video aspect ratio. Values: "16:9", "4:3", "1:1", "3:4", "9:16", "21:9", "adaptive". The "adaptive" ratio automatically matches the aspect ratio of the input reference image. Adaptive rules: only available when a reference image is provided; the system selects the closest standard ratio to the input image's aspect ratio. If no reference image is present, "adaptive" falls back to "16:9". |
duration | integer | No | 5 | Output video duration in seconds. Supported ranges vary by model: Seedance 2.0 series supports [5, 10]; Seedance 1.5 Pro supports [5, 10]; Seedance 1.0 series supports [5, 10]. Set to -1 for automatic duration selection by the model. Mutually exclusive with frames. |
frames | integer | No | - | Output video frame count. Not supported by Seedance 2.0 or 1.5 models. Range: [29, 289]. The value must follow the formula 25 + 4n (where n is a non-negative integer), i.e., valid values are 29, 33, 37, 41, ..., 285, 289. Mutually exclusive with duration. |
seed | integer | No | Random | Random seed for reproducible generation. Range: [-1, 2^32 - 1]. Use -1 or omit for random seed selection. The actual seed used is returned in the task query response. |
camera_fixed | boolean | No | false | Lock the camera position during video generation. When true, the camera remains stationary throughout the video. Not supported by Seedance 2.0 models. |
watermark | boolean | No | - | Add a watermark to the output video. When true, a platform watermark is overlaid on the generated video. |
content array defines the input materials for the generation task. Each object has a type field that determines its structure.Important: The rolefield is specified at the content object level (i.e.,content[].role), NOT nested insideimage_url,video_url, oraudio_url.
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be "text". |
text | string | Yes | The text prompt describing the desired video. Maximum length varies by model. |
{
"type": "text",
"text": "A golden retriever running through a sunflower field at sunset, cinematic lighting"
}| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be "image_url". |
image_url.url | string | Yes | URL of the reference image. Supports HTTPS URLs and base64 data URIs (data:image/...;base64,...). |
role | string | Yes | Role of this image in the generation. Values: "first_frame", "last_frame", "reference_image". first_frame: use as the opening frame of the video. last_frame: use as the closing frame (1.5 Pro and 1.0 series only). reference_image: use as a style/subject reference (2.0 series only). |
{
"type": "image_url",
"image_url": {
"url": "https://example.com/reference.jpg"
},
"role": "first_frame"
}| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be "video_url". |
video_url.url | string | Yes | URL of the reference video. Supports HTTPS URLs and base64 data URIs. |
role | string | Yes | Must be "reference_video". Seedance 2.0 series only. |
{
"type": "video_url",
"video_url": {
"url": "https://example.com/reference.mp4"
},
"role": "reference_video"
}| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be "audio_url". |
audio_url.url | string | Yes | URL of the reference audio. Supports HTTPS URLs and base64 data URIs. |
role | string | Yes | Must be "reference_audio". Seedance 2.0 series only. |
{
"type": "audio_url",
"audio_url": {
"url": "https://example.com/reference.mp3"
},
"role": "reference_audio"
}| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be "draft_task". |
draft_task.id | string | Yes | The task ID of a previously completed draft task. Seedance 1.5 Pro only. The referenced draft task must have status: "succeeded" and draft: true. |
{
"type": "draft_task",
"draft_task": {
"id": "draft_task_abc123"
}
}| Property | Requirement |
|---|---|
| Formats | JPEG, PNG, WebP |
| Maximum file size | 10 MB |
| Minimum resolution | 128 x 128 pixels |
| Maximum resolution | 4096 x 4096 pixels |
| Color space | RGB (CMYK images may produce unexpected results) |
| Property | Requirement |
|---|---|
| Formats | MP4, MOV, WebM |
| Maximum file size | 100 MB |
| Maximum duration | 60 seconds |
| Minimum resolution | 128 x 128 pixels |
| Maximum resolution | 4096 x 4096 pixels |
| Codecs | H.264, H.265, VP9 |
| Property | Requirement |
|---|---|
| Formats | MP3, WAV, AAC, FLAC |
| Maximum file size | 20 MB |
| Maximum duration | 60 seconds |
| Sample rate | 16 kHz - 48 kHz recommended |
| Resolution | Ratio | Pixels (1.0 Series) | Pixels (1.5 Pro / 2.0 Series) |
|---|---|---|---|
| 480p | 16:9 | 864 x 480 | 864 x 496 |
| 480p | 4:3 | 736 x 544 | 752 x 560 |
| 480p | 1:1 | 640 x 640 | 640 x 640 |
| 480p | 3:4 | 544 x 736 | 560 x 752 |
| 480p | 9:16 | 480 x 864 | 496 x 864 |
| 480p | 21:9 | 960 x 416 | 992 x 432 |
| 720p | 16:9 | 1248 x 704 | 1280 x 720 |
| 720p | 4:3 | 1120 x 832 | 1112 x 834 |
| 720p | 1:1 | 960 x 960 | 960 x 960 |
| 720p | 3:4 | 832 x 1120 | 834 x 1112 |
| 720p | 9:16 | 704 x 1248 | 720 x 1280 |
| 720p | 21:9 | 1504 x 640 | 1470 x 630 |
| 1080p | 16:9 | 1920 x 1088 | 1920 x 1080 |
| 1080p | 4:3 | 1664 x 1248 | 1664 x 1248 |
| 1080p | 1:1 | 1440 x 1440 | 1440 x 1440 |
| 1080p | 3:4 | 1248 x 1664 | 1248 x 1664 |
| 1080p | 9:16 | 1088 x 1920 | 1080 x 1920 |
| 1080p | 21:9 | 2176 x 928 | 2206 x 946 |
Note: Pixel dimensions may not exactly match standard broadcast resolutions due to model architecture constraints (e.g., divisibility requirements). The values above are the actual output dimensions produced by each model series.
{
"id": "task_abc123def456"
}| Field | Type | Description |
|---|---|---|
id | string | Unique task identifier. Valid for 7 days from creation. Use this ID to query task status, retrieve results, or cancel/delete the task. |
succeeded, failed, cancelled, or expired). See Overview - Asynchronous Workflow for the recommended polling pattern.