# Create Video Task (New)

> Seedance 2.0 create video task endpoint.

Canonical URL: https://docs.uniall.ai/models/video/seedance-2-0/create-task
Locale: en

## 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 &#123;your_token&#125; |
### Request Body Parameters

| Field | Type | Required | Title | Description |
| --- | --- | --- | --- | --- |
| `model` | string | Yes | Model name | |
| `prompt`| string | Yes | prompt | only `prompt` -&gt; 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, &lt;= 15s |
| `videos` | string | Yes | reference video URL array | omni-reference mode, up to 3, each 2~15s, &lt;= 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"
}
```
