# Wan API Documentation

> Generate videos with the Wan model through the AI Studio API.

## Overview

Use the AI Studio API to create Wan generation tasks and query their status. The flow is asynchronous: create a task first, then poll the task endpoint with the returned `taskId`.

## Authentication

All requests require an API key in the `Authorization` header.

```http
Authorization: Bearer YOUR_API_KEY
```

## Available models

| modelId | Version | Provider | Runtime model |
| --- | --- | --- | --- |
| `video:wan-3-0-video` | Wan 3.0 Video | Wan 3.0 | wan/3-0-video |
| `video:wan-3-0-video-prime` | Wan 3.0 Video Prime | Wan 3.0 | wan/3-0-video-prime |
| `video:fal-alibaba-wan-3-0-text-to-video` | Wan 3.0 Text to Video | Alibaba | alibaba/wan-3.0/text-to-video |
| `video:fal-alibaba-wan-3-0-image-to-video` | Wan 3.0 Image to Video | Alibaba | alibaba/wan-3.0/image-to-video |
| `video:fal-alibaba-wan-3-0-reference-to-video` | Wan 3.0 Reference to Video | Alibaba | alibaba/wan-3.0/reference-to-video |
| `video:fal-alibaba-wan-3-0-prime-text-to-video` | Wan 3.0 Prime Text to Video | Alibaba | alibaba/wan-3.0-prime/text-to-video |
| `video:fal-alibaba-wan-3-0-prime-image-to-video` | Wan 3.0 Prime Image to Video | Alibaba | alibaba/wan-3.0-prime/image-to-video |
| `video:fal-alibaba-wan-3-0-prime-reference-to-video` | Wan 3.0 Prime Reference to Video | Alibaba | alibaba/wan-3.0-prime/reference-to-video |
| `video:wan-2-7-text-to-video` | Wan 2.7 Text to Video | Wan 2.7 | wan/2-7-text-to-video |
| `video:wan-2-7-image-to-video` | Wan 2.7 Image to Video | Wan 2.7 | wan/2-7-image-to-video |
| `video:wan-2-7-video-edit` | Wan 2.7 Video Edit | Wan 2.7 | wan/2-7-videoedit |
| `video:wan-2-7-reference-to-video` | Wan 2.7 Reference to Video | Wan 2.7 | wan/2-7-r2v |
| `video:fal-fal-ai-wan-v2-7-text-to-video` | Wan 2.7 Text to Video | wan | fal-ai/wan/v2.7/text-to-video |
| `video:fal-fal-ai-wan-v2-7-image-to-video` | Wan 2.7 Image to Video | wan | fal-ai/wan/v2.7/image-to-video |
| `video:fal-fal-ai-wan-v2-7-reference-to-video` | Wan 2.7 Reference to Video | wan | fal-ai/wan/v2.7/reference-to-video |
| `video:wan-2-6-text-to-video` | Wan 2.6 Text to Video | Wan 2.6 | wan/2-6-text-to-video |
| `video:wan-2-6-image-to-video` | Wan 2.6 Image to Video | Wan 2.6 | wan/2-6-image-to-video |
| `video:wan-2-6-video-to-video` | Wan 2.6 Video to Video | Wan 2.6 | wan/2-6-video-to-video |
| `video:wan-2-5-text-to-video` | Wan 2.5 Text to Video | Wan 2.5 | wan/2-5-text-to-video |
| `video:wan-2-5-image-to-video` | Wan 2.5 Image to Video | Wan 2.5 | wan/2-5-image-to-video |
| `video:wan-text-to-video` | Wan Text to Video | Wan | wan/2-2-a14b-text-to-video-turbo |
| `video:wan-2-2-a14b-image-to-video-turbo` | Wan 2.2 A14B Image to Video Turbo | Wan | wan/2-2-a14b-image-to-video-turbo |
| `video:wan-2-2-a14b-speech-to-video-turbo` | Wan 2.2 A14B Speech to Video Turbo | Wan | wan/2-2-a14b-speech-to-video-turbo |
| `video:wan-animate-move` | Wan Animate Move | Wan | wan/2-2-animate-move |
| `video:wan-animate-replace` | Wan Animate Replace | Wan | wan/2-2-animate-replace |

## 1. Create generation task

### Endpoint

```http
POST https://localhost:3000/api/ai-studio/execute
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
```

### Request example

```json
{
  "modelId": "video:wan-3-0-video",
  "isPublic": true,
  "payload": {
    "model": "wan/3-0-video",
    "input": {
      "prompt": "Under the moonlight, a little cat is running on the roof. In the distance, the neon lights are flashing, giving a cinematic feel. The camera movement is smooth.",
      "resolution": "480P",
      "aspect_ratio": "adaptive",
      "duration": 5,
      "audio": true
    }
  }
}
```

### Success response

```json
{
  "success": true,
  "data": {
    "modelId": "video:wan-3-0-video",
    "generationId": "generation-id",
    "reservedCredits": 20,
    "taskId": "provider-task-id",
    "state": "queued"
  }
}
```

## 2. Query task status

### Endpoint

```http
GET https://localhost:3000/api/ai-studio/tasks/{taskId}
Authorization: Bearer YOUR_API_KEY
```

### Success response

```json
{
  "success": true,
  "data": {
    "generationId": "generation-id",
    "taskId": "provider-task-id",
    "modelId": "video:wan-3-0-video",
    "state": "succeeded",
    "mediaUrls": [
      "https://example.com/result.mp4"
    ],
    "reservedCredits": 20,
    "refundedCredits": 0
  }
}
```

## Request fields

### Wan 3.0 Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/3-0-video"` | wan/3-0-video | wan/3-0-video is the standard model. The name of the model used to generate videos. This field is required. - This endpoint must be `wan/3-0-video` |
| `input` | object | Yes | `-` | - | Parameters for Wan 3.0 video generation. |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | No | `"A kitten running across a rooftop under the moonlight, neon lights flickering in the distance, cinematic quality, with smooth camera movement."` | - | Text prompt, supporting both Chinese and English. Up to 20,000 characters; excess characters will be truncated automatically. Required for text-to-video generation; for other modes, it is recommended to provide it together with media. In reference mode, use Image1/Video1/Audio1 to reference the provided media. |
| `first_frame_url` | string | No | `-` | - | URL of the first-frame image. Up to 1 image, used strictly as the first frame of the video. Used for first-frame-to-video / first-and-last-frame-to-video generation. Cannot be provided together with `reference_*_urls`.<br>Formats: JPEG/JPG, PNG (transparency not supported), BMP, WEBP; each side [240, 8000] px; aspect ratio ≤ 8:1; ≤ 20MB. |
| `last_frame_url` | string | No | `-` | - | URL of the last-frame image. Used with first_frame_url for first-and-last-frame generation; the same image limits apply. |
| `reference_image_urls` | string[] | No | `-` | - | Reference images for the all-purpose reference mode, with up to 10 images. Correspond to Image1, Image2, … in the prompt according to array order. Specifications are the same as `first_frame_url`. Cannot be provided together with the first-frame/last-frame parameters. |
| `reference_video_urls` | string[] | No | `-` | - | Reference videos for the all-purpose reference mode, with up to 5 clips. Each clip must be 1–15 seconds, with a total duration ≤ 15 seconds. Correspond to Video1, Video2, … according to array order.<br>Formats: mp4, mov; each side [240, 4096] px; aspect ratio ≤ 8:1; each file ≤ 100MB.<br>There is an additional constraint on the output side: the input video duration + `duration` must not exceed 30 seconds. |
| `reference_audio_urls` | string[] | No | `-` | - | Reference audio for the all-purpose reference mode, with up to 5 clips. Each clip must be 1–15 seconds, with a total duration ≤ 15 seconds. Correspond to Audio1, Audio2, … according to array order. Formats: wav, mp3; ≤ 15MB. Audio should not be used alone as the only media input; pairing it with an image or video is still recommended. |
| `reference_file_urls` | string[] | No | `-` | - | File-to-video generation. Up to 1 file. Cannot be provided together with `reference_link_urls`, or with the first-frame/last-frame parameters.<br>Formats: docx/doc/xlsx/xls/pptx/ppt/pdf/txt/key/pages/numbers/md; ≤ 100MB; pdf/docx/ppt/key/pages, etc. ≤ 50 pages. |
| `reference_link_urls` | string[] | No | `-` | - | Link-to-video generation. Up to 1 publicly accessible webpage that does not require login. Cannot be provided together with `reference_file_urls`, or with the first-frame/last-frame parameters. |
| `resolution` | enum | No | `"1080P"` | 480P, 720P, 1080P | Output resolution. Default: **1080P**. |
| `aspect_ratio` | enum | No | `"adaptive"` | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | Output aspect ratio. `adaptive` (default) automatically selects the ratio based on the input media and intent. |
| `duration` | number | No | `5` | - | Output video duration in seconds. Default: 5. Without video input, the range is [2, 30]. With reference videos: input video duration + output duration ≤ 30. Pass `-1` to use an intelligent duration determined by the model. This studio requires a fixed duration of 2–30 seconds so the price can be calculated before submission; automatic duration (-1) is disabled. |
| `audio` | boolean | No | `true` | - | Whether the output video includes an audio track. Default: true. |
| `seed` | number | No | `-` | - | Random seed used to reproduce results. If omitted, a random seed will be used. |

### Wan 3.0 Video Prime

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/3-0-video-prime"` | wan/3-0-video-prime | wan/3-0-video-prime is a high-speed model. The model name used to generate videos. This field is required. - This endpoint must be `wan/3-0-video-prime` |
| `input` | object | Yes | `-` | - | Parameters for Wan 3.0 video generation. |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | No | `"A kitten running across a rooftop under the moonlight, neon lights flickering in the distance, cinematic quality, with smooth camera movement."` | - | Text prompt. Chinese and English are supported. Up to 20,000 characters; excess characters are truncated automatically. Required for text-to-video; for other modes, it is recommended to provide it together with media. In reference mode, use Image1/Video1/Audio1 to reference the provided materials. |
| `first_frame_url` | string | No | `-` | - | URL of the first-frame image. Up to 1 image, used strictly as the first frame of the video. Used for first-frame-to-video or first-and-last-frame-to-video generation. Cannot be provided together with `reference_*_urls`.<br>Formats: JPEG/JPG, PNG (transparency not supported), BMP, WEBP; each side [240, 8000] px; aspect ratio ≤ 8:1; ≤ 20MB. |
| `last_frame_url` | string | No | `-` | - | URL of the last-frame image. Used with first_frame_url for first-and-last-frame generation; the same image limits apply. |
| `reference_image_urls` | string[] | No | `-` | - | Reference images for all-purpose reference mode. Up to 10 images. Correspond to Image1, Image2, and so on in the prompt according to array order. Same specifications as `first_frame_url`. Cannot be provided together with the first-frame or last-frame image. |
| `reference_video_urls` | string[] | No | `-` | - | Reference videos for all-purpose reference mode. Up to 5 videos. Each video must be 1–15s, with a combined duration of ≤ 15s. Correspond to Video1, Video2, and so on according to array order.<br>Formats: mp4, mov; each side [240, 4096] px; aspect ratio ≤ 8:1; each file ≤ 100MB.<br>There is an additional output-side limit: the input video duration plus `duration` cannot exceed 30 seconds. |
| `reference_audio_urls` | string[] | No | `-` | - | Reference audio files for all-purpose reference mode. Up to 5 audio files. Each file must be 1–15s, with a combined duration of ≤ 15s. Correspond to Audio1, Audio2, and so on according to array order. Formats: wav, mp3; ≤ 15MB. Even when used as the only media input, it is still recommended to provide an image or video together with it. |
| `reference_file_urls` | string[] | No | `-` | - | File-to-video generation. Up to 1 file. Cannot be provided together with `reference_link_urls`, or with the first-frame/last-frame image.<br>Formats: docx/doc/xlsx/xls/pptx/ppt/pdf/txt/key/pages/numbers/md; ≤ 100MB; pdf/docx/ppt/key/pages, etc. ≤ 50 pages. |
| `reference_link_urls` | string[] | No | `-` | - | Link-to-video generation. Up to 1 publicly accessible webpage that does not require login. Cannot be provided together with `reference_file_urls`, or with the first-frame/last-frame image. |
| `resolution` | enum | No | `"1080P"` | 480P, 720P, 1080P | Output resolution level. Default: **1080P**. |
| `aspect_ratio` | enum | No | `"adaptive"` | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | Output aspect ratio. `adaptive` (default) automatically selects the aspect ratio based on the input materials and intent. |
| `duration` | number | No | `5` | - | Output video duration in seconds. Default: 5. When there is no video input, the value must be within [2, 30]. When reference videos are provided: input video duration plus output duration ≤ 30. Pass `-1` to use an intelligent duration determined by the model. This studio requires a fixed duration of 2–30 seconds so the price can be calculated before submission; automatic duration (-1) is disabled. |
| `audio` | boolean | No | `true` | - | Whether the output video includes an audio track. Default: true. |
| `seed` | number | No | `-` | - | Random seed used to reproduce results. If omitted, a random seed is used. |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan 3.0 Text to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `seed` | object | No | `-` | - | - |
| `prompt` | string | Yes | `"A red panda walking through a bamboo forest at sunrise"` | - | Text prompt for the generated video. |
| `enable_thinking` | boolean | No | `false` | - | Enable enhanced reasoning before generation. |
| `resolution` | enum | No | `"1080p"` | 480p, 720p, 1080p | Output video resolution tier. |
| `duration` | number | No | `5` | - | Output video duration in seconds, from 2 to 30. |
| `aspect_ratio` | enum | No | `"adaptive"` | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | Output aspect ratio, or adaptive selection. |
| `enable_prompt_expansion` | boolean | No | `true` | - | Enable intelligent prompt rewriting. Disabling it can save roughly 20-60 seconds of latency but is likely to degrade generation quality. |
| `enable_safety_checker` | boolean | No | `true` | - | Enable content moderation for input and output. Disabling it requires account authorization; unauthorized requests are always checked. |
| `audio` | boolean | No | `true` | - | Include generated audio. |

#### Input fields

_No fields are configured for this model._

### Wan 3.0 Image to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `seed` | object | No | `-` | - | - |
| `prompt` | object | No | `-` | - | Text prompt describing the motion to generate. |
| `end_image_url` | object | No | `-` | - | Last frame of the generated video. Requires start_image_url. |
| `audio` | boolean | No | `true` | - | Include generated audio. |
| `enable_thinking` | boolean | No | `false` | - | Enable enhanced reasoning before generation. |
| `resolution` | enum | No | `"1080p"` | 480p, 720p, 1080p | Output video resolution tier. |
| `duration` | number | No | `5` | - | Output video duration in seconds, from 2 to 30. |
| `aspect_ratio` | enum | No | `"adaptive"` | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | Output aspect ratio, or adaptive selection. |
| `enable_prompt_expansion` | boolean | No | `true` | - | Enable intelligent prompt rewriting. Disabling it can save roughly 20-60 seconds of latency but is likely to degrade generation quality. |
| `enable_safety_checker` | boolean | No | `true` | - | Enable content moderation for input and output. Disabling it requires account authorization; unauthorized requests are always checked. |
| `start_image_url` | string | Yes | `-` | - | First frame of the generated video. |

#### Input fields

_No fields are configured for this model._

### Wan 3.0 Reference to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `seed` | object | No | `-` | - | - |
| `enable_prompt_expansion` | boolean | No | `true` | - | Enable intelligent prompt rewriting. Disabling it can save roughly 20-60 seconds of latency but is likely to degrade generation quality. |
| `enable_safety_checker` | boolean | No | `true` | - | Enable content moderation for input and output. Disabling it requires account authorization; unauthorized requests are always checked. |
| `aspect_ratio` | enum | No | `"adaptive"` | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | Output aspect ratio, or adaptive selection. |
| `reference_audio_urls` | string[] | No | `-` | - | Up to 5 reference audio URLs totaling at most 15 seconds. |
| `resolution` | enum | No | `"1080p"` | 480p, 720p, 1080p | Output video resolution tier. |
| `audio` | boolean | No | `true` | - | Include generated audio. |
| `file_url` | object | No | `-` | - | Document URL to base the video on. Requires enable_thinking=true. |
| `duration` | number | No | `5` | - | Output video duration in seconds, from 2 to 30. |
| `reference_video_urls` | string[] | No | `-` | - | Up to 5 reference video URLs totaling at most 15 seconds. Each clip must be at least 16 fps. |
| `reference_image_urls` | string[] | No | `-` | - | Up to 10 reference image URLs. |
| `prompt` | object | No | `-` | - | Text prompt directing how the reference media is used. Reference media can be addressed positionally, e.g. 'the subject in Image 1 walks past Video 1'. |
| `enable_thinking` | boolean | No | `false` | - | Enable enhanced reasoning before generation. |
| `web_url` | object | No | `-` | - | Public webpage URL to base the video on. Requires enable_thinking=true. Only pages that do not require login can be read. |

#### Input fields

_No fields are configured for this model._

### Wan 3.0 Prime Text to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `resolution` | enum | No | `"1080p"` | 480p, 720p, 1080p | Output video resolution tier. |
| `enable_prompt_expansion` | boolean | No | `true` | - | Enable intelligent prompt rewriting. Disabling it can save roughly 20-60 seconds of latency but is likely to degrade generation quality. |
| `aspect_ratio` | enum | No | `"adaptive"` | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | Output aspect ratio, or adaptive selection. |
| `enable_thinking` | boolean | No | `false` | - | Enable enhanced reasoning before generation. |
| `prompt` | string | Yes | `"A red panda walking through a bamboo forest at sunrise"` | - | Text prompt for the generated video. |
| `duration` | number | No | `5` | - | Output video duration in seconds, from 2 to 30. |
| `audio` | boolean | No | `true` | - | Include generated audio. |
| `seed` | object | No | `-` | - | - |
| `enable_safety_checker` | boolean | No | `true` | - | Enable content moderation for input and output. Disabling it requires account authorization; unauthorized requests are always checked. |

#### Input fields

_No fields are configured for this model._

### Wan 3.0 Prime Image to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `enable_thinking` | boolean | No | `false` | - | Enable enhanced reasoning before generation. |
| `enable_prompt_expansion` | boolean | No | `true` | - | Enable intelligent prompt rewriting. Disabling it can save roughly 20-60 seconds of latency but is likely to degrade generation quality. |
| `aspect_ratio` | enum | No | `"adaptive"` | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | Output aspect ratio, or adaptive selection. |
| `resolution` | enum | No | `"1080p"` | 480p, 720p, 1080p | Output video resolution tier. |
| `start_image_url` | string | Yes | `-` | - | First frame of the generated video. |
| `end_image_url` | object | No | `-` | - | Last frame of the generated video. Requires start_image_url. |
| `prompt` | object | No | `-` | - | Text prompt describing the motion to generate. |
| `duration` | number | No | `5` | - | Output video duration in seconds, from 2 to 30. |
| `audio` | boolean | No | `true` | - | Include generated audio. |
| `seed` | object | No | `-` | - | - |
| `enable_safety_checker` | boolean | No | `true` | - | Enable content moderation for input and output. Disabling it requires account authorization; unauthorized requests are always checked. |

#### Input fields

_No fields are configured for this model._

### Wan 3.0 Prime Reference to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `enable_thinking` | boolean | No | `false` | - | Enable enhanced reasoning before generation. |
| `reference_image_urls` | string[] | No | `-` | - | Up to 10 reference image URLs. |
| `aspect_ratio` | enum | No | `"adaptive"` | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | Output aspect ratio, or adaptive selection. |
| `reference_video_urls` | string[] | No | `-` | - | Up to 5 reference video URLs totaling at most 15 seconds. Each clip must be at least 16 fps. |
| `web_url` | object | No | `-` | - | Public webpage URL to base the video on. Requires enable_thinking=true. Only pages that do not require login can be read. |
| `reference_audio_urls` | string[] | No | `-` | - | Up to 5 reference audio URLs totaling at most 15 seconds. |
| `enable_prompt_expansion` | boolean | No | `true` | - | Enable intelligent prompt rewriting. Disabling it can save roughly 20-60 seconds of latency but is likely to degrade generation quality. |
| `prompt` | object | No | `-` | - | Text prompt directing how the reference media is used. Reference media can be addressed positionally, e.g. 'the subject in Image 1 walks past Video 1'. |
| `duration` | number | No | `5` | - | Output video duration in seconds, from 2 to 30. |
| `resolution` | enum | No | `"1080p"` | 480p, 720p, 1080p | Output video resolution tier. |
| `audio` | boolean | No | `true` | - | Include generated audio. |
| `seed` | object | No | `-` | - | - |
| `file_url` | object | No | `-` | - | Document URL to base the video on. Requires enable_thinking=true. |
| `enable_safety_checker` | boolean | No | `true` | - | Enable content moderation for input and output. Disabling it requires account authorization; unauthorized requests are always checked. |

#### Input fields

_No fields are configured for this model._

### Wan 2.7 Text to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-7-text-to-video"` | wan/2-7-text-to-video | The model name used for generation. This field is required. - This endpoint must use the `wan/2-7-text-to-video` model |
| `input` | object | Yes | `-` | - | Input parameters for the text-to-video task. |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | Yes | `-` | - | Positive prompt. Minimum length: 1 character. Maximum length: 5000 characters. |
| `negative_prompt` | string | No | `-` | - | Negative prompt. Maximum length: 500 characters. |
| `audio_url` | string | No | `-` | - | Optional custom audio URL. |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Video resolution. - `720p`: 720p<br>- `1080p`: 1080p |
| `ratio` | enum | No | `"16:9"` | 16:9, 9:16, 1:1, 4:3, 3:4 | Video aspect ratio. - `16:9`: Landscape<br>- `9:16`: Portrait<br>- `1:1`: Square<br>- `4:3`: Landscape 4:3<br>- `3:4`: Portrait 3:4 |
| `duration` | number | No | `5` | - | Video duration in seconds. - Minimum: `2`<br>- Maximum: `15`<br>- Default: `5` |
| `prompt_extend` | boolean | No | `true` | - | Whether to enable intelligent prompt rewriting. Default value: `true`. |
| `watermark` | boolean | No | `false` | - | Whether to add an AI-generated watermark. Default value: `false`. |
| `seed` | number | No | `-` | - | Random seed. - Minimum: `0`<br>- Maximum: `2147483647` |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan 2.7 Image to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-7-image-to-video"` | wan/2-7-image-to-video | The model name used for generation. This field is required. This endpoint must use the `wan/2-7-image-to-video` model. |
| `input` | object | Yes | `-` | - | Input parameters for the image-to-video task. |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | Yes | `-` | - | Positive prompt. Maximum length: 5000 characters. |
| `negative_prompt` | string | No | `-` | - | Negative prompt. Maximum length: 500 characters. |
| `first_frame_url` | string | No | `-` | - | First frame image URL. |
| `last_frame_url` | string | No | `-` | - | Last frame image URL. |
| `first_clip_url` | string | No | `-` | - | First clip video URL, used for video continuation. |
| `driving_audio_url` | string | No | `-` | - | Driving audio URL. |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Video resolution. - `720p`: 720p<br>- `1080p`: 1080p |
| `duration` | number | No | `5` | - | Total output video duration in seconds. - Minimum: `2`<br>- Maximum: `15`<br>- Default: `5` |
| `prompt_extend` | boolean | No | `true` | - | Whether to enable intelligent prompt rewriting. Default value: `true`. |
| `watermark` | boolean | No | `false` | - | Whether to add an AI-generated watermark. Default value: `false`. |
| `seed` | number | No | `-` | - | Random seed. - Minimum: `0`<br>- Maximum: `2147483647` |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan 2.7 Video Edit

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-7-videoedit"` | wan/2-7-videoedit | The model name used for generation. This field is required. This endpoint must use the `wan/2-7-videoedit` model. |
| `input` | object | Yes | `-` | - | Input parameters for the video editing task. |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | No | `"Change the character's outfit and add the hat shown in the reference image."` | - | Optional text prompt describing the expected elements and visual features in the generated video. Supports Chinese and English. Maximum length: 5000 characters. |
| `negative_prompt` | string | No | `"low resolution, errors, worst quality, low quality, malformed, extra fingers, bad proportions"` | - | Optional negative prompt describing content that should not appear in the video. Supports Chinese and English. Maximum length: 500 characters. |
| `video_url` | string | Yes | `"https://example.com/demo/video.mp4"` | - | URL of the source video to edit. Required. Only one video is supported. - Formats: `mp4`, `mov`<br>- Duration: `2` to `10` seconds<br>- Resolution: width and height range `[240,4096]` pixels<br>- Aspect ratio: `1:8` to `8:1`<br>- File size: up to `100MB`<br>- Supports public `http/https` URLs or temporary `oss` URLs |
| `reference_image` | string | No | `"https://example.com/demo/reference.png"` | - | Optional reference image URL for character, clothing, or style guidance. - Formats: `JPEG`, `JPG`, `PNG` (no alpha channel), `BMP`, `WEBP`<br>- Resolution: width and height range `[240,8000]` pixels<br>- Aspect ratio: `1:8` to `8:1`<br>- Supports public `http/https` URLs or temporary `oss` URLs |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Output video resolution tier. `1080p` costs more than `720p`. Default value: `1080p`. - `720p`: 720p<br>- `1080p`: 1080p |
| `aspect_ratio` | enum | No | `"16:9"` | 16:9, 9:16, 1:1, 4:3, 3:4 | Output video aspect ratio. - If omitted: the output uses an aspect ratio close to the input video<br>- If provided: the output uses the specified aspect ratio<br>- Available values: `16:9`, `9:16`, `1:1`, `4:3`, `3:4` |
| `duration` | number | No | `0` | - | Output video duration in seconds. - Default `0` means using the full input video duration without truncation<br>- If a value is provided, the output is clipped from second `0` to the specified length<br>- Valid values are `0` or any integer in `[2,10]` |
| `audio_setting` | enum | No | `"auto"` | auto, origin | Video audio setting. - `auto`: default, the model decides whether to regenerate audio based on the `prompt`<br>- `origin`: force keeping the original input video audio |
| `prompt_extend` | boolean | No | `true` | - | Whether to enable prompt rewriting. When enabled, the model expands the input prompt. This usually works better for short prompts but increases processing time. |
| `watermark` | boolean | No | `false` | - | Whether to add a watermark. The watermark is placed in the lower-right corner of the video with the fixed text "AI generated". |
| `seed` | number | No | `0` | - | Random seed. Range: `0-2147483647`. If omitted, the system generates one automatically. |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan 2.7 Reference to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-7-r2v"` | wan/2-7-r2v | The model name used for generation. This field is required. This endpoint must use the `wan/2-7-r2v` model. |
| `input` | object | Yes | `-` | - | Input parameters for the reference-to-video task. |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | Yes | `"Image 1 is eating, while video 1 and image 2 are singing beside it."` | - | Text prompt. Required. Describes the desired elements and visual features in the generated video. Supports Chinese and English. Maximum length: 5000 characters. |
| `negative_prompt` | string | No | `"low resolution, errors, worst quality, low quality, malformed, extra fingers, bad proportions"` | - | Optional negative prompt describing what should not appear in the video. Supports Chinese and English. Maximum length: 500 characters. |
| `reference_image` | string[] | No | `["https://example.com/demo/ref-image-1.png","https://example.com/demo/ref-image-2.png"]` | - | Array of reference image URLs. At least one of `reference_image` or `reference_video` must be provided. The total number of images and videos cannot exceed 5. |
| `reference_video` | string[] | No | `["https://example.com/demo/ref-video-1.mp4"]` | - | Array of reference video URLs. At least one of `reference_image` or `reference_video` must be provided. The total number of images and videos cannot exceed 5. |
| `first_frame` | string | No | `"https://example.com/demo/first-frame.png"` | - | First frame image URL. At most one image can be provided. If supplied, `aspect_ratio` is ignored and the output uses a ratio close to the first frame image. |
| `reference_voice` | string | No | `"https://example.com/demo/reference-voice.mp3"` | - | Audio URL used to specify the voice timbre of the subject in the reference material. Rules:<br>- If `reference_video` contains audio and `reference_voice` is not provided, the original video audio is used by default<br>- If both `reference_video` and `reference_voice` are provided, `reference_voice` takes priority Audio limits:<br>- Formats: `wav`, `mp3`<br>- Duration: `1` to `10` seconds<br>- File size: up to `15MB` |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Output video resolution tier. Available values: `720p`, `1080p`. Default value: `1080p`. |
| `aspect_ratio` | enum | No | `"16:9"` | 16:9, 9:16, 1:1, 4:3, 3:4 | Output video aspect ratio. Effective logic:<br>- If `first_frame` is not provided: the video is generated using the specified `aspect_ratio`<br>- If `first_frame` is provided: `aspect_ratio` is ignored and the output uses a ratio close to the first frame image |
| `duration` | number | No | `5` | - | Output video duration in seconds. Valid range is an integer from `2` to `10`. Default value: `5`. |
| `prompt_extend` | boolean | No | `true` | - | Whether to enable prompt rewriting. When enabled, the model expands the input prompt. This usually works better for short prompts but increases processing time. |
| `watermark` | boolean | No | `false` | - | Whether to add a watermark. The watermark is placed in the lower-right corner of the video with the fixed text "AI generated". |
| `seed` | number | No | `0` | - | Random seed. Range: `0-2147483647`. If omitted, the system generates one automatically. |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan 2.7 Text to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Output video resolution tier. |
| `aspect_ratio` | enum | No | `"16:9"` | 16:9, 9:16, 1:1, 4:3, 3:4 | Aspect ratio of the generated video. |
| `duration` | enum | No | `5` | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | Output video duration in seconds (2-15). |
| `seed` | object | No | `-` | - | Random seed for reproducibility (0-2147483647). |
| `enable_safety_checker` | boolean | No | `true` | - | Enable content moderation for input and output. Disabling it requires account authorization; unauthorized requests are always checked. |
| `prompt` | string | Yes | `"A kitten running in a meadow, cinematic lighting, smooth camera movement."` | - | Text prompt describing the desired video. Max 5000 characters. |
| `negative_prompt` | object | No | `"low resolution, errors, worst quality, low quality"` | - | Content to avoid in the video. Max 500 characters. |
| `enable_prompt_expansion` | boolean | No | `true` | - | Enable intelligent prompt rewriting. |
| `audio_url` | object | No | `-` | - | URL of driving audio. Supports WAV and MP3. Duration: 3-30s. Max 15 MB. If not provided, the model auto-generates matching background music. |

#### Input fields

_No fields are configured for this model._

### Wan 2.7 Image to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Output video resolution tier. |
| `enable_prompt_expansion` | boolean | No | `true` | - | Enable intelligent prompt rewriting. |
| `enable_safety_checker` | boolean | No | `true` | - | Enable content moderation for input and output. Disabling it requires account authorization; unauthorized requests are always checked. |
| `negative_prompt` | object | No | `"low resolution, errors, worst quality, low quality, incomplete, extra fingers, bad proportions, blurry, distorted"` | - | Content to avoid in the video. Max 500 characters. |
| `audio_url` | object | No | `-` | - | URL of driving audio. Supports WAV and MP3. Duration: 2-30s. Max 15 MB. |
| `end_image_url` | object | No | `-` | - | URL of the last frame image for first-and-last-frame-to-video. Same constraints as image_url. |
| `prompt` | object | No | `"The massive humpback whale glides slowly through the deep blue water. It turns gracefully, its huge pectoral fin sweeping through the water like a wing. Sunbeams penetrate from above, illuminating the whale's textured skin. Small fish scatter. Awe-inspiring scale and grace."` | - | Text prompt describing the desired video. Max 5000 characters. |
| `duration` | enum | No | `5` | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | Output video duration in seconds (2-15). |
| `image_url` | object | No | `"https://v3b.fal.media/files/b/0a9413bb/qH6QY4JRzWxHOFKtCe70S_uPDJyzKZ.png"` | - | URL of the first frame image. Formats: JPEG, JPG, PNG, BMP, WEBP. Max 20 MB. |
| `seed` | object | No | `-` | - | Random seed for reproducibility (0-2147483647). |
| `video_url` | object | No | `-` | - | URL of a video clip to continue from. Format: MP4, MOV. Duration: 2-10s. Max 100 MB. Cannot be combined with image_url. |

#### Input fields

_No fields are configured for this model._

### Wan 2.7 Reference to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `reference_video_urls` | object | No | `-` | - | Reference video URLs for character/object appearance and motion. Pass multiple videos for multi-subject generation. Max 100 MB each. |
| `reference_image_urls` | object | No | `-` | - | Reference image URLs for character/object appearance. Pass multiple images for multi-subject generation. Max 20 MB each. |
| `aspect_ratio` | enum | No | `"16:9"` | 16:9, 9:16, 1:1, 4:3, 3:4 | Aspect ratio of the generated video. |
| `negative_prompt` | object | No | `"low resolution, errors, worst quality, low quality"` | - | Content to avoid in the video. Max 500 characters. |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Output video resolution tier. |
| `prompt` | string | Yes | `"A person walking through a beautiful garden, cinematic style."` | - | Text prompt describing the desired video. Max 5000 characters. |
| `duration` | enum | No | `5` | 2, 3, 4, 5, 6, 7, 8, 9, 10 | Output video duration in seconds (2-10). |
| `multi_shots` | boolean | No | `false` | - | When true, enables intelligent multi-shot segmentation. When false (default), generates a single continuous shot. |
| `seed` | object | No | `-` | - | Random seed for reproducibility (0-2147483647). |
| `enable_safety_checker` | boolean | No | `true` | - | Enable content moderation for input and output. Disabling it requires account authorization; unauthorized requests are always checked. |

#### Input fields

_No fields are configured for this model._

### Wan 2.6 Text to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-6-text-to-video"` | wan/2-6-text-to-video | The model name to use for generation. Required field. - Must be `wan/2-6-text-to-video` for this endpoint |
| `input` | object | No | `-` | - | Input parameters for the generation task |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | Yes | `"In a hyperrealistic ASMR video, a hand uses a knitted knife to slowly slice a burger made entirely of knitted wool. The satisfyingly crisp cut reveals a detailed cross-section of knitted meat, lettuce, and tomato slices. Captured in a close-up with a shallow depth of field, the scene is set against a stark, matte black surface. Cinematic lighting makes the surreal yarn textures shine with clear reflections. The focus is on the deliberate, satisfying motion and the unique, tactile materials."` | - | Text prompts for video generation. Supports both Chinese and English, with a minimum of 1 characters and a maximum of 5,000 characters. (Max length: 5000 characters) |
| `duration` | enum | No | `"5"` | 5, 10, 15 | The duration of the generated video in seconds |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Video resolution tier |
| `multi_shots` | boolean | No | `false` | - | The multi shots parameter controls the shot composition style during AI video generation, determining whether the generated video is a single continuous shot or multiple shots with transitions. |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan 2.6 Image to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-6-image-to-video"` | wan/2-6-image-to-video | The model name to use for generation. Required field. - Must be `wan/2-6-image-to-video` for this endpoint |
| `input` | object | No | `-` | - | Input parameters for the generation task |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | Yes | `"Anthopmopric fox singing a Christmas song at the rubbish dump in the rain."` | - | Text prompts for video generation. Supports both Chinese and English, with a minimum of 2 characters and a maximum of 5,000 characters. (Max length: 5000 characters) |
| `image_urls` | string[] | Yes | `["https://static.aiquickdraw.com/tools/example/1765957673717_awiBAidD.webp"]` | - | Upload an image file to use as input for the API (File URL after upload, not file content; Accepted types: image/jpeg, image/png, image/webp; Max size: 10.0MB),All images must be at least 256x256px. |
| `duration` | enum | No | `"5"` | 5, 10, 15 | The duration of the generated video in seconds |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Video resolution tier |
| `multi_shots` | boolean | No | `false` | - | The multi shots parameter controls the shot composition style during AI video generation, determining whether the generated video is a single continuous shot or multiple shots with transitions. |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan 2.6 Video to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-6-video-to-video"` | wan/2-6-video-to-video | The model name to use for generation. Required field. - Must be `wan/2-6-video-to-video` for this endpoint |
| `input` | object | No | `-` | - | Input parameters for the generation task |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | Yes | `"The video drinks milk tea while doing some improvised dance moves to the music."` | - | Text prompts for video generation. Supports both Chinese and English, with a minimum of 2 characters and a maximum of 5,000 characters. (Max length: 5000 characters) |
| `video_urls` | string[] | Yes | `["https://static.aiquickdraw.com/tools/example/1765957777782_cNJpvhRx.mp4"]` | - | The URL of the image used to generate video (File URL after upload, not file content; Accepted types: video/mp4, video/quicktime, video/x-matroska; Max size: 10.0MB) |
| `duration` | enum | No | `"5"` | 5, 10 | The duration of the generated video in seconds |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Video resolution tier |
| `multi_shots` | boolean | No | `false` | - | The multi shots parameter controls the shot composition style during AI video generation, determining whether the generated video is a single continuous shot or multiple shots with transitions. |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan 2.5 Text to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-5-text-to-video"` | wan/2-5-text-to-video | The model name used for generation. This field is required. - This endpoint must use the `wan/2-5-text-to-video` model |
| `input` | object | Yes | `-` | - | Input parameters for the text-to-video task. |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | Yes | `"A dimly lit jazz bar at night, wooden tables glowing under warm pendant lights. Patrons sip drinks and chat quietly while a three-piece band performs on stage. The saxophone player stands under a spotlight, gleaming instrument reflecting the light. No dialogue. Ambient audio: smooth live jazz music with saxophone and piano, clinking glasses, low murmur of audience conversations, occasional burst of laughter from a nearby table. Camera: slow pan across the crowd, then gentle zoom toward the saxophone player's solo, focusing on expressive hand movements."` | - | The text prompt for video generation. Supports Chinese and English. Maximum length: 800 characters. |
| `duration` | enum | Yes | `"5"` | 5, 10 | The duration of the generated video in seconds. - `5`: 5 seconds<br>- `10`: 10 seconds |
| `aspect_ratio` | enum | No | `"16:9"` | 16:9, 9:16, 1:1 | The aspect ratio of the generated video. - `16:9`: Landscape<br>- `9:16`: Portrait<br>- `1:1`: Square |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Video resolution tier. - `720p`: 720p<br>- `1080p`: 1080p |
| `negative_prompt` | string | No | `-` | - | Negative prompt used to describe content to avoid. Maximum length: 500 characters. |
| `enable_prompt_expansion` | boolean | No | `true` | - | Whether to enable prompt rewriting using LLM. Improves results for short prompts but increases processing time. - Boolean value: `true` / `false` |
| `seed` | number | No | `-` | - | Random seed for reproducibility. If omitted, a random seed is chosen. |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan 2.5 Image to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-5-image-to-video"` | wan/2-5-image-to-video | The model name used for generation. This field is required. - This endpoint must use the `wan/2-5-image-to-video` model |
| `input` | object | Yes | `-` | - | Input parameters for the image-to-video task. |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | Yes | `"The same woman from the reference image looks directly into the camera, takes a breath, then smiles brightly and speaks with enthusiasm: \"Have you heard? Alibaba Wan 2.5 API is now available on AI Studio!\" Ambient audio: quiet indoor atmosphere, soft natural room tone. Camera: medium close-up, steady framing, natural daylight mood, accurate lip-sync with dialogue."` | - | The text prompt describing the desired video motion. Maximum length: 800 characters. |
| `image_url` | string | Yes | `"https://file.aiquickdraw.com/custom-page/akr/section-images/1758796480945qb63zxq8.webp"` | - | URL of the image to use as the first frame. Must be publicly accessible. - Please provide the URL of the uploaded file, not raw file content<br>- Accepted types: `image/jpeg`, `image/png`, `image/webp`<br>- Max size: 10.0MB |
| `duration` | enum | Yes | `"5"` | 5, 10 | The duration of the generated video in seconds. - `5`: 5 seconds<br>- `10`: 10 seconds |
| `resolution` | enum | No | `"1080p"` | 720p, 1080p | Video resolution. Valid values: `720p`, `1080p`. |
| `negative_prompt` | string | No | `-` | - | Negative prompt used to describe content to avoid. Maximum length: 500 characters. |
| `enable_prompt_expansion` | boolean | No | `true` | - | Whether to enable prompt rewriting using LLM. - Boolean value: `true` / `false` |
| `seed` | number | No | `-` | - | Random seed for reproducibility. If omitted, a random seed is chosen. |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan Text to Video

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-2-a14b-text-to-video-turbo"` | wan/2-2-a14b-text-to-video-turbo | The model name to use for generation. Required field. - Must be `wan/2-2-a14b-text-to-video-turbo` for this endpoint |
| `input` | object | No | `-` | - | Input parameters for the generation task |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | Yes | `"Drone shot, fast traversal, starting inside a cracked, frosty circular pipe. The camera bursts upward through the pipe to reveal a vast polar landscape bathed in golden sunrise light. Workers in orange suits operate steaming machinery. The camera tilts up, revealing the scene from the perspective of a rising hot air balloon. It continues ascending into a glowing sky, the balloon trailing steam and displaying the letters \"AI Studio\" as it rises into breathtaking polar majesty."` | - | The text prompt to guide video generation. (Max length: 5000 characters) |
| `resolution` | enum | No | `"720p"` | 480p, 720p | Resolution of the generated video (480p or 720p). Default value: "720p" |
| `aspect_ratio` | enum | No | `"16:9"` | 16:9, 9:16 | Aspect ratio of the generated video (16:9 or 9:16). Default value: "16:9" |
| `enable_prompt_expansion` | boolean | No | `false` | - | Whether to enable prompt expansion. This will use a large language model to expand the prompt with additional details while maintaining the original meaning. (Boolean value (true/false)) |
| `seed` | number | No | `0` | - | Random seed for reproducibility. If None, a random seed is chosen. (Min: 0, Max: 2147483647, Step: 1) (step: 1) |
| `acceleration` | enum | No | `"none"` | none, regular | Acceleration level to use. The more acceleration, the faster the generation, but with lower quality. The recommended value is 'none'. Default value: "none" |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan 2.2 A14B Image to Video Turbo

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-2-a14b-image-to-video-turbo"` | wan/2-2-a14b-image-to-video-turbo | The model name to use for generation. Required field. - Must be `wan/2-2-a14b-image-to-video-turbo` for this endpoint |
| `input` | object | No | `-` | - | Input parameters for the generation task |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `image_url` | string | Yes | `"https://file.aiquickdraw.com/custom-page/akr/section-images/1755166042585gtf2mlrk.png"` | - | URL of the input image. If the input image does not match the chosen aspect ratio, it is resized and center cropped. (File URL after upload, not file content; Accepted types: image/jpeg, image/png, image/webp; Max size: 10.0MB) |
| `prompt` | string | Yes | `"Overcast lighting, medium lens, soft lighting, low contrast lighting, edge lighting, low angle shot, desaturated colors, medium close-up shot, clean single shot, cool colors, center composition.The camera captures a low-angle close-up of a Western man outdoors, sharply dressed in a black coat over a gray sweater, white shirt, and black tie. His gaze is fixed on the lens as he advances. In the background, a brown building looms, its windows glowing with warm, yellow light above a dark doorway. As the camera pushes in, a blurred black object on the right side of the frame drifts back and forth, partially obscuring the view against a dark, nighttime background."` | - | The text prompt to guide video generation. (Max length: 5000 characters) |
| `resolution` | enum | No | `"720p"` | 480p, 720p | Resolution of the generated video (480p or 720p). Default value: "720p" |
| `enable_prompt_expansion` | boolean | No | `false` | - | Whether to enable prompt expansion. This will use a large language model to expand the prompt with additional details while maintaining the original meaning. (Boolean value (true/false)) |
| `seed` | number | No | `0` | - | Random seed for reproducibility. If None, a random seed is chosen. (Min: 0, Max: 2147483647, Step: 1) (step: 1) |
| `acceleration` | enum | No | `"none"` | none, regular | Acceleration level to use. The more acceleration, the faster the generation, but with lower quality. The recommended value is 'none'. Default value: "none" |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan 2.2 A14B Speech to Video Turbo

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-2-a14b-speech-to-video-turbo"` | wan/2-2-a14b-speech-to-video-turbo | The model name to use for generation. Required field. - Must be `wan/2-2-a14b-speech-to-video-turbo` for this endpoint |
| `input` | object | No | `-` | - | Input parameters for the generation task |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | Yes | `"The lady is talking"` | - | The text prompt used for video generation (Max length: 5000 characters) |
| `image_url` | string | Yes | `"https://file.aiquickdraw.com/custom-page/akr/section-images/1756797663082u4pjmcrq.png"` | - | URL of the input image. If the input image does not match the chosen aspect ratio, it is resized and center cropped (File URL after upload, not file content; Accepted types: image/jpeg, image/png, image/webp; Max size: 10.0MB) |
| `audio_url` | string | Yes | `"https://file.aiquickdraw.com/custom-page/akr/section-images/17567977044127d1emlmc.mp3"` | - | The URL of the audio file (File URL after upload, not file content; Accepted types: audio/mp3, audio/wav, audio/ogg, audio/m4a, audio/flac, audio/aac, audio/x-ms-wma, audio/mpeg; Max size: 10.0MB) |
| `num_frames` | number | No | `80` | - | Number of frames to generate. Must be between 40 to 120, (must be multiple of 4) (Min: 40, Max: 120, Step: 4) (step: 4) |
| `frames_per_second` | number | No | `16` | - | Frames per second of the generated video. Must be between 4 to 60. When using interpolation and adjust_fps_for_interpolation is set to true (default true,) the final FPS will be multiplied by the number of interpolated frames plus one. For example, if the generated frames per second is 16 and the number of interpolated frames is 1, the final frames per second will be 32. If adjust_fps_for_interpolation is set to false, this value will be used as-is (Min: 4, Max: 60, Step: 1) (step: 1) |
| `resolution` | enum | No | `"480p"` | 480p, 580p, 720p | Resolution of the generated video (480p, 580p, or 720p) |
| `negative_prompt` | string | No | `""` | - | Negative prompt for video generation (Max length: 500 characters) |
| `seed` | number | No | `-` | - | Random seed for reproducibility. If None, a random seed is chosen |
| `num_inference_steps` | number | No | `27` | - | Number of inference steps for sampling. Higher values give better quality but take longer (Min: 2, Max: 40, Step: 1) (step: 1) |
| `guidance_scale` | number | No | `3.5` | - | Classifier-free guidance scale. Higher values give better adherence to the prompt but may decrease quality (Min: 1, Max: 10, Step: 0.1) (step: 0.1) |
| `shift` | number | No | `5` | - | Shift value for the video. Must be between 1.0 and 10.0 (Min: 1, Max: 10, Step: 0.1) (step: 0.1) |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan Animate Move

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-2-animate-move"` | wan/2-2-animate-move | The model name to use for generation. Required field. - Must be `wan/2-2-animate-move` for this endpoint |
| `input` | object | No | `-` | - | Input parameters for the generation task |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `video_url` | string | Yes | `"https://file.aiquickdraw.com/custom-page/akr/section-images/17586254974931y2hottk.mp4"` | - | URL of the input video. (File URL after upload, not file content; Accepted types: video/mp4, video/quicktime, video/x-matroska; Max size: 10.0MB) |
| `image_url` | string | Yes | `"https://file.aiquickdraw.com/custom-page/akr/section-images/1758625466310wpehpbnf.png"` | - | URL of the input image. If the input image does not match the chosen aspect ratio, it is resized and center cropped. (File URL after upload, not file content; Accepted types: image/jpeg, image/png, image/webp; Max size: 10.0MB) |
| `resolution` | enum | No | `"480p"` | 480p, 580p, 720p | Resolution of the generated video (480p, 580p, or 720p). |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

### Wan Animate Replace

#### Payload fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | Yes | `"wan/2-2-animate-replace"` | wan/2-2-animate-replace | The model name to use for generation. Required field. - Must be `wan/2-2-animate-replace` for this endpoint |
| `input` | object | No | `-` | - | Input parameters for the generation task |

#### Input fields

| Field | Type | Required | Default / Example | Options | Description |
| --- | --- | --- | --- | --- | --- |
| `video_url` | string | Yes | `"https://file.aiquickdraw.com/custom-page/akr/section-images/17586199429271xscyd5d.mp4"` | - | URL of the input video. (File URL after upload, not file content; Accepted types: video/mp4, video/quicktime, video/x-matroska; Max size: 10.0MB) |
| `image_url` | string | Yes | `"https://file.aiquickdraw.com/custom-page/akr/section-images/17586199255323tks43kq.png"` | - | URL of the input image. If the input image does not match the chosen aspect ratio, it is resized and center cropped. (File URL after upload, not file content; Accepted types: image/jpeg, image/png, image/webp; Max size: 10.0MB) |
| `resolution` | enum | No | `"480p"` | 480p, 580p, 720p | Resolution of the generated video (480p, 580p, or 720p). |
| `nsfw_checker` | boolean | No | `-` | - | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself.<br>Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |

## Pricing

Credits are reserved when a generation task is created. The `reservedCredits` value in the create-task response is the final amount reserved for that request.

| Model | Type | Spec | Price | Billing |
| --- | --- | --- | --- | --- |
| Wan 3.0 Video | Text/Image to Video | 480P | 8 credits/s | Output seconds × 8 |
| Wan 3.0 Video | Text/Image to Video | 720P | 16 credits/s | Output seconds × 16 |
| Wan 3.0 Video | Text/Image to Video | 1080P | 32 credits/s | Output seconds × 32 |
| Wan 3.0 Video Prime | Text/Image to Video | 480P | 12.2 credits/s | Output seconds × 12.2 |
| Wan 3.0 Video Prime | Text/Image to Video | 720P | 25.2 credits/s | Output seconds × 25.2 |
| Wan 3.0 Video Prime | Text/Image to Video | 1080P | 50.4 credits/s | Output seconds × 50.4 |
| Wan 3.0 Text to Video | Text to Video | 480p | 10 credits/s | Output seconds × 10 |
| Wan 3.0 Text to Video | Text to Video | 720p | 20 credits/s | Output seconds × 20 |
| Wan 3.0 Text to Video | Text to Video | 1080p | 40 credits/s | Output seconds × 40 |
| Wan 3.0 Image to Video | Image to Video | 480p | 10 credits/s | Output seconds × 10 |
| Wan 3.0 Image to Video | Image to Video | 720p | 20 credits/s | Output seconds × 20 |
| Wan 3.0 Image to Video | Image to Video | 1080p | 40 credits/s | Output seconds × 40 |
| Wan 3.0 Reference to Video | Text/Image to Video | 480p | 10 credits/s | Output seconds × 10 |
| Wan 3.0 Reference to Video | Text/Image to Video | 720p | 20 credits/s | Output seconds × 20 |
| Wan 3.0 Reference to Video | Text/Image to Video | 1080p | 40 credits/s | Output seconds × 40 |
| Wan 3.0 Prime Text to Video | Text to Video | 480p | 14 credits/s | Output seconds × 14 |
| Wan 3.0 Prime Text to Video | Text to Video | 720p | 28 credits/s | Output seconds × 28 |
| Wan 3.0 Prime Text to Video | Text to Video | 1080p | 56 credits/s | Output seconds × 56 |
| Wan 3.0 Prime Image to Video | Image to Video | 480p | 14 credits/s | Output seconds × 14 |
| Wan 3.0 Prime Image to Video | Image to Video | 720p | 28 credits/s | Output seconds × 28 |
| Wan 3.0 Prime Image to Video | Image to Video | 1080p | 56 credits/s | Output seconds × 56 |
| Wan 3.0 Prime Reference to Video | Text/Image to Video | 480p | 14 credits/s | Output seconds × 14 |
| Wan 3.0 Prime Reference to Video | Text/Image to Video | 720p | 28 credits/s | Output seconds × 28 |
| Wan 3.0 Prime Reference to Video | Text/Image to Video | 1080p | 56 credits/s | Output seconds × 56 |
| Wan 2.7 Text to Video | Text to Video | 720p | 16 credits/s | Output seconds × 16 |
| Wan 2.7 Text to Video | Text to Video | 1080p | 24 credits/s | Output seconds × 24 |
| Wan 2.7 Image to Video | Image to Video | 720p | 16 credits/s | Output seconds × 16 |
| Wan 2.7 Image to Video | Image to Video | 1080p | 24 credits/s | Output seconds × 24 |
| Wan 2.7 Video Edit | Text/Image to Video | 720p | 16 credits/s | Output seconds × 16 |
| Wan 2.7 Video Edit | Text/Image to Video | 1080p | 24 credits/s | Output seconds × 24 |
| Wan 2.7 Reference to Video | Text/Image to Video | 720p | 16 credits/s | Output seconds × 16 |
| Wan 2.7 Reference to Video | Text/Image to Video | 1080p | 24 credits/s | Output seconds × 24 |
| Wan 2.7 Text to Video | Text to Video | 720p | 20 credits/s | Output seconds × 20 |
| Wan 2.7 Text to Video | Text to Video | 1080p | 30 credits/s | Output seconds × 30 |
| Wan 2.7 Image to Video | Image to Video | 720p | 20 credits/s | Output seconds × 20 |
| Wan 2.7 Image to Video | Image to Video | 1080p | 30 credits/s | Output seconds × 30 |
| Wan 2.7 Reference to Video | Text/Image to Video | - | 20 credits/s | Output seconds × 20 |
| Wan 2.6 Text to Video | Text to Video | 720p | 70 credits | Fixed per generation |
| Wan 2.6 Text to Video | Text to Video | 720p | 140 credits | Fixed per generation |
| Wan 2.6 Text to Video | Text to Video | 720p | 210 credits | Fixed per generation |
| Wan 2.6 Text to Video | Text to Video | 1080p | 105 credits | Fixed per generation |
| Wan 2.6 Text to Video | Text to Video | 1080p | 210 credits | Fixed per generation |
| Wan 2.6 Text to Video | Text to Video | 1080p | 315 credits | Fixed per generation |
| Wan 2.6 Image to Video | Image to Video | 720p | 70 credits | Fixed per generation |
| Wan 2.6 Image to Video | Image to Video | 720p | 140 credits | Fixed per generation |
| Wan 2.6 Image to Video | Image to Video | 720p | 210 credits | Fixed per generation |
| Wan 2.6 Image to Video | Image to Video | 1080p | 105 credits | Fixed per generation |
| Wan 2.6 Image to Video | Image to Video | 1080p | 210 credits | Fixed per generation |
| Wan 2.6 Image to Video | Image to Video | 1080p | 315 credits | Fixed per generation |
| Wan 2.6 Video to Video | Text/Image to Video | 720p | 70 credits | Fixed per generation |
| Wan 2.6 Video to Video | Text/Image to Video | 720p | 140 credits | Fixed per generation |
| Wan 2.6 Video to Video | Text/Image to Video | 1080p | 105 credits | Fixed per generation |
| Wan 2.6 Video to Video | Text/Image to Video | 1080p | 210 credits | Fixed per generation |
| Wan 2.5 Text to Video | Text to Video | 720p | 12 credits/s | Output seconds × 12 |
| Wan 2.5 Text to Video | Text to Video | 1080p | 20 credits/s | Output seconds × 20 |
| Wan 2.5 Image to Video | Image to Video | 720p | 12 credits/s | Output seconds × 12 |
| Wan 2.5 Image to Video | Image to Video | 1080p | 20 credits/s | Output seconds × 20 |
| Wan Text to Video | Text to Video | 480p | 8 credits | Fixed per generation |
| Wan Text to Video | Text to Video | 720p | 16 credits | Fixed per generation |
| Wan 2.2 A14B Image to Video Turbo | Image to Video | 480p | 8 credits | Fixed per generation |
| Wan 2.2 A14B Image to Video Turbo | Image to Video | 720p | 16 credits | Fixed per generation |
| Wan 2.2 A14B Speech to Video Turbo | Text/Image to Video | 480p | 12 credits/s | Output seconds × 12 |
| Wan 2.2 A14B Speech to Video Turbo | Text/Image to Video | 580p | 18 credits/s | Output seconds × 18 |
| Wan 2.2 A14B Speech to Video Turbo | Text/Image to Video | 720p | 24 credits/s | Output seconds × 24 |
| Wan Animate Move | Text/Image to Video | 480p | 6 credits | Fixed per generation |
| Wan Animate Move | Text/Image to Video | 580p | 10 credits | Fixed per generation |
| Wan Animate Move | Text/Image to Video | 720p | 13 credits | Fixed per generation |
| Wan Animate Replace | Text/Image to Video | 480p | 6 credits | Fixed per generation |
| Wan Animate Replace | Text/Image to Video | 580p | 10 credits | Fixed per generation |
| Wan Animate Replace | Text/Image to Video | 720p | 13 credits | Fixed per generation |

## Common errors

| Status | Meaning |
| --- | --- |
| `400` | Invalid request payload |
| `401` | Missing or invalid API key |
| `402` | Insufficient credits or plan limit |
| `404` | Model or task not found |
| `429` | Rate limit exceeded |
| `500` | Server error |
