# Create Video Task (New) This file is the focused AI-readable context for one UniAll documentation page. URL: https://docs.uniall.ai/models/video/seedance-2-0/create-task Locale: en Markdown: https://docs.uniall.ai/ai/pages/models/video/seedance-2-0/create-task.md Description: Seedance 2.0 create video task endpoint. Agent guidance: - Use this page when the user is asking about this specific route or model capability. - Preserve endpoint paths, JSON keys, model IDs, and placeholder values exactly. - Treat examples such as `sk-***`, `{BASE_URL}`, and `task_xxx` as safe placeholders, not real secrets. ## Page Markdown ## 1. Public Models - `seedance2.0-480p` - `seedance2.0-720p` - `seedance2.0-1080p` - `seedance2.0-4k` - `seedance2.0-fast-480p` - `seedance2.0-fast-720p` - `seedance2.0-mini-480p` - `seedance2.0-mini-720p` Current unified public endpoint: - `POST /v1/videos/generations` - `GET /v1/videos/{task_id}` ## 2. Design Principles ### 2.1 Prefer Volcano Native Format If you already use the Volcano-native `content[]`, the platform prioritizes `content[]` processing. This means: - `content[]` is the primary protocol - `type`/`role` is the primary semantic meaning - **If you pass `content[]`, the platform ignores self-wrapped `extra_body.operation`** ### 2.2 Legacy Fields Are Compatibility Only The following legacy fields remain compatible: - `prompt` - `image` - `images` - `video` - `videos` - `audios` - `last_image` These legacy fields are compatibility fields only and are no longer the recommended integration pattern. ### 2.3 `extra_body.operation` reserved compatibility Only when you**do not pass `content[]`**, and use the legacy-field compatibility format, should you use: - `reference_to_video` - `edit_video` - `extend_video` - `first_last_frame` If you already pass `content[]`: - even if you also pass `extra_body.operation` - the platform ignores it ## 3. Models and Allowed Values | Model | Type | resolution | `duration`|`aspect_ratio` | |---|---|---|---|---| | `seedance2.0-480p`| standard |`480p`|`4` `15` integer |`auto`/`21:9`/`16:9`/`4:3`/`1:1`/`3:4`/`9:16`| | `seedance2.0-720p`| standard |`720p`|`4` `15` integer |`auto`/`21:9`/`16:9`/`4:3`/`1:1`/`3:4`/`9:16`| | `seedance2.0-1080p`| standard |`1080p`|`4` `15` integer |`auto`/`21:9`/`16:9`/`4:3`/`1:1`/`3:4`/`9:16`| | `seedance2.0-fast-480p`| Fast |`480p`|`4` `15` integer |`auto`/`21:9`/`16:9`/`4:3`/`1:1`/`3:4`/`9:16`| | `seedance2.0-fast-720p`| Fast |`720p`|`4` `15` integer |`auto`/`21:9`/`16:9`/`4:3`/`1:1`/`3:4`/`9:16`| Additional notes: - Resolution is locked by the selected model. - Do not use `size` to change `480p` model to `720p`. - If you need to pass `size`: - `seedance2.0-480p`/`seedance2.0-fast-480p` only pass `480p` - `seedance2.0-720p`/`seedance2.0-fast-720p` only pass `720p` - `seedance2.0-1080p`/ only pass `1080p` ## 4. Top-level Parameters ### 4.1 Required Parameters | Parameters | Type | Required | allowed values | Note | |---|---|---|---|---| | `model` | string | Yes | 4 one of the public models | Public model name | | `duration`| integer | Yes |`4` `15` integer | video duration | ### 4.2 Primary Parameters | Parameters | Type | Required | allowed values | Note | |---|---|---|---|---| | `content` | array | Recommended | see below | Volcano-native input | | `aspect_ratio`| string | No |`auto`/`21:9`/`16:9`/`4:3`/`1:1`/`3:4`/`9:16` | aspect ratio | | `prompt`| string | No | any non-empty string | If `new-api`, recommended to pass both | ### 4.3 Compatibility Parameters | Parameters | Type | Required | allowed values | Note | |---|---|---|---|---| | `image` | string / object | No | single image URL | legacy-field compatibility | | `images`| array | No |`1` `9` image URLs | legacy-field compatibility | | `video` | string | No | single video URL | legacy-field compatibility | | `videos`| array | No |`1` `3` video URLs | legacy-field compatibility | | `audios`| array | No |`1` `3` audio URLs | legacy-field compatibility | | `last_image` | string / object | No | single image URL | legacy-field compatibility | ### 4.4 `extra_body` Parameters | Parameters | Type | Required | allowed values | Note | |---|---|---|---|---| | `extra_body.generate_audio`| boolean | No |`true`/`false` | whether to generate audio | | `extra_body.seed` | integer | No | any integer | random seed | | `extra_body.watermark`| boolean | No |`true`/`false` | whether to add a watermark | | `extra_body.camera_fixed`| boolean | No |`true`/`false` | whether to keep the camera fixed | | `extra_body.service_tier` | string | No | the platform does not enumerate fixed values currently | passed through to upstream | | `extra_body.execution_expires_after` | integer | No | positive integer | passed through to upstream | | `extra_body.draft`| boolean | No |`true`/`false` | draft mode | | `extra_body.return_last_frame`| boolean | No |`true`/`false` | whether to return the last frame | | `extra_body.frames` | integer | No | positive integer | frame count | | `extra_body.operation`| string | compatibility layer only |`reference_to_video`/`edit_video`/`extend_video`/`first_last_frame`| **use only in legacy-field mode;`content[]` mode ignores it** | ## 5. `content[]` Structure ### 5.1 Text Item ```json { "type": "text", "text": "A futuristic city with advanced transportation" } ``` Rules: - `type` must be `text` - `text` must be string - 1 Text Item ### 5.2 Image Item ```json { "type": "image_url", "url": "https://example.com/ref.png", "role": "reference_image" } ``` image `role` allowed values: - `image` - `reference_image` - `first_frame` - `last_frame` ### 5.3 Video Item ```json { "type": "video_url", "url": "https://example.com/ref.mp4", "role": "reference_video" } ``` video `role` allowed values: - `reference_video` - `source_video` ### 5.4 Audio Item ```json { "type": "audio_url", "url": "https://example.com/ref.mp3", "role": "reference_audio" } ``` audio `role` allowed values: - `reference_audio` ## 6. `content[]` mode Capability Yes: - userpass `content[]` - the platform `content[]` `type + role` Capability - **do not pass `extra_body.operation`** - pass, ignores ### 6.1 text-to-video ```json { "model": "seedance2.0-720p", "content": [ { "type": "text", "text": ", slow camera push-in" } ], "duration": 5, "aspect_ratio": "16:9" } ``` ### 6.2 single-image-to-video ```json { "model": "seedance2.0-fast-720p", "content": [ { "type": "text", "text": ", camera, style" }, { "type": "image_url", "url": "https://example.com/product.png", "role": "image" } ], "duration": 5, "aspect_ratio": "16:9", "extra_body": { "generate_audio": false, "watermark": false } } ``` ### 6.3 first-and-last-frame ```json { "model": "seedance2.0-720p", "content": [ { "type": "text", "text": ", subject " }, { "type": "image_url", "url": "https://example.com/start.png", "role": "first_frame" }, { "type": "image_url", "url": "https://example.com/end.png", "role": "last_frame" } ], "duration": 6, "aspect_ratio": "16:9" } ``` ### 6.4 image reference mode ```json { "model": "seedance2.0-720p", "content": [ { "type": "text", "text": ", generate a video" }, { "type": "image_url", "url": "https://example.com/ref-1.png", "role": "reference_image" }, { "type": "image_url", "url": "https://example.com/ref-2.png", "role": "reference_image" } ], "duration": 8, "aspect_ratio": "9:16" } ``` ### 6.5 omni-reference mode ```json { "model": "seedance2.0-720p", "content": [ { "type": "text", "text": ", referenceactionandaudio, generate a video" }, { "type": "image_url", "url": "https://example.com/product.png", "role": "reference_image" }, { "type": "video_url", "url": "https://example.com/motion-guide.mp4", "role": "reference_video" }, { "type": "audio_url", "url": "https://example.com/music-guide.mp3", "role": "reference_audio" } ], "duration": 10, "aspect_ratio": "16:9", "extra_body": { "generate_audio": true, "seed": 88, "watermark": false } } ``` ### 6.6 video editing ```json { "model": "seedance2.0-720p", "content": [ { "type": "text", "text": "to change videointo style" }, { "type": "video_url", "url": "https://example.com/source.mp4", "role": "source_video" } ], "duration": 5, "aspect_ratio": "16:9", "extra_body": { "watermark": false } } ``` ### 6.7 video extension ```json { "model": "seedance2.0-720p", "content": [ { "type": "text", "text": " camera andscenariostyle, subject " }, { "type": "video_url", "url": "https://example.com/source.mp4", "role": "source_video" } ], "duration": 5, "aspect_ratio": "16:9", "extra_body": { "watermark": false } } ``` ## 7. legacy-field compatibility format or compatibilityuse. ### 7.1 compatibility ```json { "model": "seedance2.0-fast-480p", "prompt": " ", "image": "https://example.com/product.png", "duration": 5, "aspect_ratio": "16:9" } ``` ### 7.2 first-and-last-framecompatibility ```json { "model": "seedance2.0-720p", "prompt": " ", "image": "https://example.com/start.png", "last_image": "https://example.com/end.png", "duration": 6, "aspect_ratio": "16:9", "extra_body": { "operation": "first_last_frame" } } ``` ### 7.3 referencecompatibility ```json { "model": "seedance2.0-720p", "prompt": "generate a referenceactionandaudio video", "images": [ "https://example.com/ref-1.png" ], "videos": [ "https://example.com/ref.mp4" ], "audios": [ "https://example.com/ref.mp3" ], "duration": 8, "aspect_ratio": "16:9", "extra_body": { "operation": "reference_to_video" } } ``` ### 7.4 Fieldvideo editing / compatibility ```json { "model": "seedance2.0-720p", "prompt": "to change videointo style", "video": "https://example.com/source.mp4", "duration": 5, "aspect_ratio": "16:9", "extra_body": { "operation": "edit_video" } } ``` ## 8. this site new-apicall recommended to pass both `prompt` and `content[0].text`.: - openaistyle, `prompt` FieldRequired, No Volcano service recommendedcompatibility: ```json { "model": "seedance2.0-fast-480p", "prompt": "A futuristic city with advanced transportation", "content": [ { "type": "text", "text": "A futuristic city with advanced transportation" } ], "duration": 5, "aspect_ratio": "16:9", "extra_body": { "generate_audio": false, "watermark": false } } ``` ## 9. Common Errors ### Error 1: `new-api` only pass `content[]`, pass `prompt`: - `prompt is required`: - `prompt` and `content[0].text` pass both ### Error 2: `content[]` `role` image `role`: - `image` - `reference_image` - `first_frame` - `last_frame` video `role`: - `reference_video` - `source_video` audio `role`: - `reference_audio` ### Error 3: legacy-field compatibilitymode pass `operation` Note: - Field - the platformrequires: - `video` compatibilitymode `edit_video` or `extend_video` - `videos / audios` compatibilitymode `reference_to_video` ### Error 4: resolution Note: - Modelresolution Public model name: - `seedance2.0-fast-480p` into `720p` - `seedance2.0-720p` into `480p` ## 10. responsesNote submit return async taskobject,: ```json { "id": "task_xxx", "task_id": "task_xxx", "object": "video.generation.job", "model": "seedance2.0-720p", "status": "queued", "raw_status": "PENDING", "progress": 0, "created_at": 1773980459, "video_url": null } ``` poll: - `GET /v1/videos/generations/{task_id}` Status: - `completed` - or `failed` ## 11. recommended: - **If `content[]`, Volcanonativestyle, pass `extra_body.operation`** - **If legacy-field compatibility format, pass `extra_body.operation`** - **If `new-api`, recommended to pass both `prompt` and `content[0].text`** ## API Parameters and Examples ### Endpoint ```http POST /v1/video/generations ``` ### Header Parameters | Name | Type | Required | Description | Example | | --- | --- | --- | --- | --- | | `Authorization` | string | No | | Bearer {your_token} | ### Request Body Parameters | Field | Type | Required | Title | Description | | --- | --- | --- | --- | --- | | `model` | string | Yes | Model name | | | `prompt`| string | Yes | prompt | only `prompt` -> text-to-video | | `image` | string | Yes | single source image | image-to-video | | `last_image` | string | Yes | | first-and-last-frameandimage use | | `images` | string | Yes | reference URL array | reference, 'omni-reference mode', imageup to9 | | `audios` | string | Yes | reference audio URL array | omni-reference mode, up to 3, each 2~15s, <= 15s | | `videos` | string | Yes | reference video URL array | omni-reference mode, up to 3, each 2~15s, <= 15s | | `duration` | string | Yes | duration | 5 15 value | | `aspect_ratio`| string | Yes | Ratio |`9:16`, `1:1`, `16:9` | | `extra_body` | object | No | | | ### Request Examples #### Example ```json { "model": "string", "prompt": "string", "image": "string", "last_image": "string", "images": "string", "audios": "string", "videos": "string", "duration": "string", "aspect_ratio": "string", "extra_body": { "generate_audio": true, "seed": "string", "watermark": "string", "camera_fixed": "string", "service_tier": "string", "execution_expires_after": "string", "draft": "string", "return_last_frame": "string", "frames": "string", "operation": "string" } } ``` ```bash curl -X POST "{BASE_URL}/v1/video/generations" \ -H "Authorization: Bearer sk-***" \ -H "Content-Type: application/json" \ -d '{"model": "string", "prompt": "string", "image": "string", "last_image": "string", "images": "string", "audios": "string", "videos": "string", "duration": "string", "aspect_ratio": "string", "extra_body": {"generate_audio": true, "seed": "string", "watermark": "string", "camera_fixed": "string", "service_tier": "string", "execution_expires_after": "string", "draft": "string", "return_last_frame": "string", "frames": "string", "operation": "string"}}' ``` ### Response Fields | Field | Type | Required | Title | Description | | --- | --- | --- | --- | --- | ### Response Examples #### Example 1 ```json { "id": "task_xxx", "error": null, "model": "seedance2.0-720p", "object": "video.generation.job", "result": { "outputs": [ "https://xxx.aijisu.cn/video/xxxx.mp4" ], "video_url": "https://xxx.aijisu.cn/video/xxx.mp4" }, "status": "completed", "task_id": "task_xxxxx", "progress": 100, "video_url": "https://xxx.aijisu.cn/video/xxx.mp4", "created_at": 1774405050, "raw_status": "COMPLETED" } ```