Generate videos from text descriptions using Seedance model
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
model | string | ✅ Yes | - | - | The ID of the model you want to call. You need to enable model service and query the Model ID. You can also call the model through Endpoint ID to get advanced capabilities such as rate limiting, billing type (prepaid/postpaid), running status query, monitoring, and security. |
content | array | ✅ Yes | - | - | Information input to the model for video generation, supporting text and image information. |
>content.type | string | ✅ Yes | - | textimage_url | Type of input content. Use text for text input, image_url for image input (supports image URL or Base64 encoding). |
>content.text | string | ✅ Yes (if type is text) | - | - | Text content input to the model, describing the expected video to be generated. |
>content.image_url | object | ✅ Yes (if type is image_url) | - | - | Image object input to the model. |
>>content.image_url.url | string | ✅ Yes (if image_url is used) | - | - | Image information, which can be an image URL or Base64 encoded image. |
>content.role | string | ❌ No | - | first_framelast_framereference_image | Position or purpose of the image. Different roles correspond to different video generation scenarios. See Video Generation Scenarios for details. |
generate_audio | boolean | ❌ No | true | - | Whether to include synchronized sound with the video. Only supported by Seedance 1.5 pro. |
Note: Different models may support different parameter options. For more details, please refer to the Model Field Compatibility table.
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
resolution (rs) | string | ❌ No | 720p/1080p | 480p720p1080p | Video resolution. Default values vary by model. |
ratio (rt) | string | ❌ No | 16:9/adaptive | 16:94:31:13:49:1621:9adaptive | Aspect ratio of the generated video. |
duration (dur) | integer | ❌ No | 5 | [2, 12] | Duration of the generated video in seconds. |
frames (frames) | integer | ❌ No | - | [29, 289] (25+4n) | Number of frames of the generated video. |
framespersecond (fps) | integer | ❌ No | 24 | 24 | Frame rate of the video in frames per second. |
seed (seed) | integer | ❌ No | -1 | [-1, 2^32-1] | Seed integer for controlling randomness. |
camerafixed (cf) | boolean | ❌ No | false | - | Whether to fix the camera. |
watermark (wm) | boolean | ❌ No | false | - | Whether to include watermark in the generated video. |
Seedance 1.5 pro, Seedance 1.0 lite default value:Enumeration values:720pSeedance 1.0 pro&pro-fast default value:1080p
Default for Text-to-Video is generallyEnumeration values:16:9Default for Image-to-Video is generallyadaptive. Note: Default for Reference Image Video Generation is16:9Seedance 1.5 pro default isadaptive
Seedance 1.5 pro does not support frames temporarily
Choose either duration or frames; frames has higher priority than duration. If you want to generate videos with fractional seconds, it is recommended to specify frames.
| Scenario | content.role | Supported Models | Description |
|---|---|---|---|
| Text-to-Video | Not applicable (text only) | Seedance 1.5 pro Seedance 1.0 pro Seedance 1.0 pro fast Seedance 1.0 lite (doubao-seedance-1-0-lite-t2v) | Generate video from text prompts only. |
| Image-to-Video (First Frame) | Optional, or first_frame | All image-to-video models | Generate video from a first frame image. Requires 1 image_url object. |
| Image-to-Video (First & Last Frame) | First frame: first_frameLast frame: last_frame | Seedance 1.5 pro Seedance 1.0 pro Seedance 1.0 lite (doubao-seedance-1-0-lite-i2v) | Generate video from first and last frame images. Requires 2 image_url objects with both roles specified. |
| Image-to-Video (Reference Images) | reference_image | Seedance 1.0 lite (doubao-seedance-1-0-lite-i2v) | Generate video from reference images. Requires 1-4 image_url objects, all with reference_image role. |
| Resolution | Aspect Ratio | Width x Height (Seedance 1.0) | Width x Height (Seedance 1.5 pro) |
|---|---|---|---|
| 480p | 16:9 | 864×480 | 864×496 |
| 480p | 4:3 | 736×544 | 752×560 |
| 480p | 1:1 | 640×640 | 640×640 |
| 480p | 3:4 | 544×736 | 560×752 |
| 480p | 9:16 | 480×864 | 496×864 |
| 480p | 21:9 | 960×416 | 992×432 |
| 720p | 16:9 | 1248×704 | 1280×720 |
| 720p | 4:3 | 1120×832 | 1112×834 |
| 720p | 1:1 | 960×960 | 960×960 |
| 720p | 3:4 | 832×1120 | 834×1112 |
| 720p | 9:16 | 704×1248 | 720×1280 |
| 720p | 21:9 | 1504×640 | 1470×630 |
| 1080p | 16:9 | 1920×1088 | - |
| 1080p | 4:3 | 1664×1248 | - |
| 1080p | 1:1 | 1440×1440 | - |
| 1080p | 3:4 | 1248×1664 | - |
| 1080p | 9:16 | 1088×1920 | - |
| 1080p | 21:9 | 2176×928 | - |
--[parameters] after the text prompt to control video output specifications, including aspect ratio, frame rate, resolution, etc.
| Error Code | Error Name | Description |
|---|---|---|
| 401 | Unauthorized | API key is missing or invalid |
| 403 | Forbidden | Your API key doesn’t have permission to access this resource, or insufficient balance for the requested operation |
| 429 | Too Many Requests | You’ve exceeded your rate limit |
| 500 | Internal server error | An internal server error occurred |
| 503 | Content policy violation | Content blocked due to safety concerns (actual status code is 400) |