# Wan 2.6 Video Generation

> Generate videos with Wan 2.6 models through UniAll video APIs.

Canonical URL: https://docs.uniall.ai/models/video/wan-2-6
Locale: en

Wan 2.6 covers text-to-video, image-to-video, and reference-to-video model families. The source scope also includes a duration reference table for the Wan 2.6 public models.

## Supported Models

| Model | Type | Duration rules |
| --- | --- | --- |
| `wan2.6-video-720p` | Text-to-video / image-to-video | Required; `5`, `10`, or `15`. |
| `wan2.6-video-1080p` | Text-to-video / image-to-video | Required; `5`, `10`, or `15`. |
| `wan2.6-i2v-flash-720p-audio` | Image-to-video with audio | Required; any integer from `5` to `15`. |
| `wan2.6-i2v-flash-720p-silent` | Image-to-video silent | Required; any integer from `5` to `15`. |
| `wan2.6-i2v-flash-1080p-audio` | Image-to-video with audio | Required; any integer from `5` to `15`. |
| `wan2.6-i2v-flash-1080p-silent` | Image-to-video silent | Required; any integer from `5` to `15`. |
| `wan2.6-r2v-720p` | Reference-to-video | Required; see account model configuration. |
| `wan2.6-r2v-1080p` | Reference-to-video | Required; see account model configuration. |
| `wan2.6-r2v-flash-720p-audio` | Reference-to-video with audio | Required; see account model configuration. |
| `wan2.6-r2v-flash-720p-silent` | Reference-to-video silent | Required; see account model configuration. |
| `wan2.6-r2v-flash-1080p-audio` | Reference-to-video with audio | Required; see account model configuration. |
| `wan2.6-r2v-flash-1080p-silent` | Reference-to-video silent | Required; see account model configuration. |

## Endpoint

```http
POST /v1/video/generations
GET  /v1/videos/{task_id}
```

## Authentication

```http
Authorization: Bearer sk-***
Content-Type: application/json
```

## Request Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `model` | string | Yes | Wan 2.6 model ID. |
| `prompt` | string | Yes | Prompt. |
| `image` | string | Conditional | Reference image for image-to-video. |
| `images` | string[] | Conditional | Reference images for R2V models. |
| `videos` | string[] | Conditional | Reference videos for R2V models. |
| `duration` | integer | Yes | See the supported model table. |
| `size` | string | No | Output size. Text-to-video can use this to choose landscape or portrait. Image-to-video follows the reference image orientation. |
| `extra_body.negative_prompt` | string | No | Content to avoid. |
| `extra_body.shot_type` | string | No | `single` or `multi`. |
| `extra_body.seed` | integer | No | `-1` for random; fixed value for reproducibility. |
| `extra_body.audio` | string | No | Public audio URL. |
| `extra_body.enable_prompt_expansion` | boolean | No | Prompt expansion switch for R2V models. |

Common `size` values include `1280*720`, `720*1280`, `1920*1080`, and `1080*1920`.

## Text-To-Video Example

```bash
curl -X POST "{BASE_URL}/v1/video/generations" \
  -H "Authorization: Bearer sk-***" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan2.6-video-1080p",
    "prompt": "sunrise",
    "duration": 5,
    "size": "1080*1920",
    "extra_body": {
      "negative_prompt": "blur, watermark",
      "shot_type": "multi",
      "seed": -1
    }
  }'
```

## Reference Video Example

```bash
curl -X POST "{BASE_URL}/v1/video/generations" \
  -H "Authorization: Bearer sk-***" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan2.6-r2v-flash-720p-audio",
    "prompt": "Keep the same subject identity and cinematic style, generate a faster-paced new shot.",
    "videos": [
      "https://example.com/reference-shot-1.mp4"
    ],
    "size": "1280*720",
    "duration": 5,
    "extra_body": {
      "negative_prompt": "watermark, blur, flicker",
      "audio": "https://example.com/guide-audio.mp3",
      "shot_type": "single",
      "enable_prompt_expansion": false,
      "seed": -1
    }
  }'
```

## Multi-Image Reference Example

```bash
curl -X POST "{BASE_URL}/v1/video/generations" \
  -H "Authorization: Bearer sk-***" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan2.6-r2v-flash-1080p-silent",
    "prompt": "Keep the same product identity and style, generate a clean marketing video.",
    "images": [
      "https://example.com/ref-1.png",
      "https://example.com/ref-2.png"
    ],
    "size": "1920*1080",
    "duration": 10,
    "extra_body": {
      "negative_prompt": "watermark, blur",
      "shot_type": "multi",
      "enable_prompt_expansion": true,
      "seed": 42
    }
  }'
```

## Query Task Status

```bash
curl "{BASE_URL}/v1/videos/task_xxx" \
  -H "Authorization: Bearer sk-***"
```

```json
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "video.generation.job",
  "model": "wan2.6-video-1080p",
  "status": "completed",
  "progress": 100,
  "video_url": "https://example.com/output.mp4"
}
```

## Billing Notes

Wan 2.6 billing depends on model family, output resolution, duration, audio mode, and whether the task is text/image/video reference generation. Use settlement records for final accounting.

## Common Errors

- Using a duration value outside the selected model's allowed range.
- Expecting `size` to control portrait or landscape for image-to-video; image orientation follows the reference image.
- Passing private media URLs.
- Using R2V fields with a non-R2V model.
- Using `audio` with a silent model.

## Related Pages

- [Video Generation Overview](/models/video/overview)
- [Vidu Video Generation](/models/video/vidu)
- [Sora 2 Video Generation](/models/video/sora-2)
