# Wan API 文档

> 通过 AI Studio API 使用 Wan 模型生成视频。

## 概览

使用 AI Studio API 创建 Wan 生成任务并查询任务状态。接口采用异步流程：先创建任务拿到 `taskId`，再通过任务查询接口轮询结果。

## 认证方式

所有请求都需要在 `Authorization` 请求头中携带 API Key。

```http
Authorization: Bearer YOUR_API_KEY
```

## 可用模型

| modelId | 版本 | 服务商 | 运行模型 |
| --- | --- | --- | --- |
| `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: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-image-to-video` | Wan Image to Video | 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 |
| `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 |

## 1. 创建生成任务

### 接口地址

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

### 请求示例

```json
{
  "modelId": "video:wan-2-7-text-to-video",
  "isPublic": true,
  "payload": {
    "model": "wan/2-7-text-to-video",
    "input": {
      "prompt": "A futuristic city street at night, neon reflections shimmering on the wet ground. The camera slowly pushes forward as a silver hover car glides in from the left. Giant holographic billboards flicker in the distance, creating a cinematic atmosphere.",
      "negative_prompt": "blurry, low quality, flicker, distorted characters",
      "audio_url": "https://your-domain.com/audio/custom-track.mp3",
      "resolution": "1080p",
      "ratio": "16:9",
      "duration": 5,
      "prompt_extend": true,
      "watermark": false,
      "seed": 123456
    }
  }
}
```

### 成功响应

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

## 2. 查询任务状态

### 接口

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

### 成功响应

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

## 请求字段

### Wan 2.7 Text to Video

#### Payload 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 是 | `-` | - | Input parameters for the text-to-video task. |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | 是 | `-` | - | Positive prompt. Minimum length: 1 character. Maximum length: 5000 characters. |
| `negative_prompt` | string | 否 | `-` | - | Negative prompt. Maximum length: 500 characters. |
| `audio_url` | string | 否 | `-` | - | Optional custom audio URL. |
| `resolution` | enum | 否 | `"1080p"` | 720p, 1080p | Video resolution. - `720p`: 720p<br>- `1080p`: 1080p |
| `ratio` | enum | 否 | `"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 | 否 | `5` | - | Video duration in seconds. - Minimum: `2`<br>- Maximum: `15`<br>- Default: `5` |
| `prompt_extend` | boolean | 否 | `true` | - | Whether to enable intelligent prompt rewriting. Default value: `true`. |
| `watermark` | boolean | 否 | `false` | - | Whether to add an AI-generated watermark. Default value: `false`. |
| `seed` | number | 否 | `-` | - | Random seed. - Minimum: `0`<br>- Maximum: `2147483647` |
| `nsfw_checker` | boolean | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 是 | `-` | - | Input parameters for the image-to-video task. |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | 是 | `-` | - | Positive prompt. Maximum length: 5000 characters. |
| `negative_prompt` | string | 否 | `-` | - | Negative prompt. Maximum length: 500 characters. |
| `first_frame_url` | string | 否 | `-` | - | First frame image URL. |
| `last_frame_url` | string | 否 | `-` | - | Last frame image URL. |
| `first_clip_url` | string | 否 | `-` | - | First clip video URL, used for video continuation. |
| `driving_audio_url` | string | 否 | `-` | - | Driving audio URL. |
| `resolution` | enum | 否 | `"1080p"` | 720p, 1080p | Video resolution. - `720p`: 720p<br>- `1080p`: 1080p |
| `duration` | number | 否 | `5` | - | Total output video duration in seconds. - Minimum: `2`<br>- Maximum: `15`<br>- Default: `5` |
| `prompt_extend` | boolean | 否 | `true` | - | Whether to enable intelligent prompt rewriting. Default value: `true`. |
| `watermark` | boolean | 否 | `false` | - | Whether to add an AI-generated watermark. Default value: `false`. |
| `seed` | number | 否 | `-` | - | Random seed. - Minimum: `0`<br>- Maximum: `2147483647` |
| `nsfw_checker` | boolean | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 是 | `-` | - | Input parameters for the video editing task. |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | 否 | `"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 | 否 | `"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 | 是 | `"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 | 否 | `"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 | 否 | `"1080p"` | 720p, 1080p | Output video resolution tier. `1080p` costs more than `720p`. Default value: `1080p`. - `720p`: 720p<br>- `1080p`: 1080p |
| `aspect_ratio` | enum | 否 | `"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 | 否 | `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 | 否 | `"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 | 否 | `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 | 否 | `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 | 否 | `0` | - | Random seed. Range: `0-2147483647`. If omitted, the system generates one automatically. |
| `nsfw_checker` | boolean | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 是 | `-` | - | Input parameters for the reference-to-video task. |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | 是 | `"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 | 否 | `"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[] | 否 | `["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[] | 否 | `["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 | 否 | `"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 | 否 | `"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 | 否 | `"1080p"` | 720p, 1080p | Output video resolution tier. Available values: `720p`, `1080p`. Default value: `1080p`. |
| `aspect_ratio` | enum | 否 | `"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 | 否 | `5` | - | Output video duration in seconds. Valid range is an integer from `2` to `10`. Default value: `5`. |
| `prompt_extend` | boolean | 否 | `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 | 否 | `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 | 否 | `0` | - | Random seed. Range: `0-2147483647`. If omitted, the system generates one automatically. |
| `nsfw_checker` | boolean | 否 | `-` | - | 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 Text to Video

#### Payload 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 否 | `-` | - | Input parameters for the generation task |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | 是 | `"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 | 否 | `"5"` | 5, 10, 15 | The duration of the generated video in seconds |
| `resolution` | enum | 否 | `"1080p"` | 720p, 1080p | Video resolution tier |
| `nsfw_checker` | boolean | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 否 | `-` | - | Input parameters for the generation task |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | 是 | `"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[] | 是 | `["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 | 否 | `"5"` | 5, 10, 15 | The duration of the generated video in seconds |
| `resolution` | enum | 否 | `"1080p"` | 720p, 1080p | Video resolution tier |
| `nsfw_checker` | boolean | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 否 | `-` | - | Input parameters for the generation task |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | 是 | `"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[] | 是 | `["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 | 否 | `"5"` | 5, 10 | The duration of the generated video in seconds |
| `resolution` | enum | 否 | `"1080p"` | 720p, 1080p | Video resolution tier |
| `nsfw_checker` | boolean | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 是 | `-` | - | Input parameters for the text-to-video task. |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | 是 | `"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 | 是 | `"5"` | 5, 10 | The duration of the generated video in seconds. - `5`: 5 seconds<br>- `10`: 10 seconds |
| `aspect_ratio` | enum | 否 | `"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 | 否 | `"1080p"` | 720p, 1080p | Video resolution tier. - `720p`: 720p<br>- `1080p`: 1080p |
| `negative_prompt` | string | 否 | `-` | - | Negative prompt used to describe content to avoid. Maximum length: 500 characters. |
| `enable_prompt_expansion` | boolean | 否 | `true` | - | Whether to enable prompt rewriting using LLM. Improves results for short prompts but increases processing time. - Boolean value: `true` / `false` |
| `seed` | number | 否 | `-` | - | Random seed for reproducibility. If omitted, a random seed is chosen. |
| `nsfw_checker` | boolean | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 是 | `-` | - | Input parameters for the image-to-video task. |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | 是 | `"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 | 是 | `"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 | 是 | `"5"` | 5, 10 | The duration of the generated video in seconds. - `5`: 5 seconds<br>- `10`: 10 seconds |
| `resolution` | enum | 否 | `"1080p"` | 720p, 1080p | Video resolution. Valid values: `720p`, `1080p`. |
| `negative_prompt` | string | 否 | `-` | - | Negative prompt used to describe content to avoid. Maximum length: 500 characters. |
| `enable_prompt_expansion` | boolean | 否 | `true` | - | Whether to enable prompt rewriting using LLM. - Boolean value: `true` / `false` |
| `seed` | number | 否 | `-` | - | Random seed for reproducibility. If omitted, a random seed is chosen. |
| `nsfw_checker` | boolean | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 否 | `-` | - | Input parameters for the generation task |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | 是 | `"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 | 否 | `"720p"` | 480p, 720p | Resolution of the generated video (480p or 720p). Default value: "720p" |
| `aspect_ratio` | enum | 否 | `"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 | 否 | `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 | 否 | `0` | - | Random seed for reproducibility. If None, a random seed is chosen. (Min: 0, Max: 2147483647, Step: 1) (step: 1) |
| `acceleration` | enum | 否 | `"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 | 否 | `-` | - | 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 Image to Video

#### Payload 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 否 | `-` | - | Input parameters for the generation task |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `image_url` | string | 是 | `"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 | 是 | `"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 | 否 | `"720p"` | 480p, 720p | Resolution of the generated video (480p or 720p). Default value: "720p" |
| `enable_prompt_expansion` | boolean | 否 | `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 | 否 | `0` | - | Random seed for reproducibility. If None, a random seed is chosen. (Min: 0, Max: 2147483647, Step: 1) (step: 1) |
| `acceleration` | enum | 否 | `"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 | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 否 | `-` | - | Input parameters for the generation task |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `prompt` | string | 是 | `"The lady is talking"` | - | The text prompt used for video generation (Max length: 5000 characters) |
| `image_url` | string | 是 | `"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 | 是 | `"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 | 否 | `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 | 否 | `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 | 否 | `"480p"` | 480p, 580p, 720p | Resolution of the generated video (480p, 580p, or 720p) |
| `negative_prompt` | string | 否 | `""` | - | Negative prompt for video generation (Max length: 500 characters) |
| `seed` | number | 否 | `-` | - | Random seed for reproducibility. If None, a random seed is chosen |
| `num_inference_steps` | number | 否 | `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 | 否 | `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 | 否 | `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 | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 否 | `-` | - | Input parameters for the generation task |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `video_url` | string | 是 | `"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 | 是 | `"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 | 否 | `"480p"` | 480p, 580p, 720p | Resolution of the generated video (480p, 580p, or 720p). |
| `nsfw_checker` | boolean | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `model` | enum | 是 | `"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 | 否 | `-` | - | Input parameters for the generation task |

#### input 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `video_url` | string | 是 | `"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 | 是 | `"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 | 否 | `"480p"` | 480p, 580p, 720p | Resolution of the generated video (480p, 580p, or 720p). |
| `nsfw_checker` | boolean | 否 | `-` | - | 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 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `seed` | object | 否 | `-` | - | Random seed for reproducibility (0-2147483647). |
| `enable_prompt_expansion` | boolean | 否 | `true` | - | Enable intelligent prompt rewriting. |
| `audio_url` | object | 否 | `-` | - | URL of driving audio. Supports WAV and MP3. Duration: 3-30s. Max 15 MB. If not provided, the model auto-generates matching background music. |
| `duration` | enum | 否 | `5` | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | Output video duration in seconds (2-15). |
| `prompt` | string | 是 | `"A kitten running in a meadow, cinematic lighting, smooth camera movement."` | - | Text prompt describing the desired video. Max 5000 characters. |
| `enable_safety_checker` | boolean | 否 | `true` | - | Enable content moderation for input and output. |
| `aspect_ratio` | enum | 否 | `"16:9"` | 16:9, 9:16, 1:1, 4:3, 3:4 | Aspect ratio of the generated video. |
| `resolution` | enum | 否 | `"1080p"` | 720p, 1080p | Output video resolution tier. |
| `negative_prompt` | object | 否 | `"low resolution, errors, worst quality, low quality"` | - | Content to avoid in the video. Max 500 characters. |

#### input 字段

_该模型暂无字段配置。_

### Wan 2.7 Image to Video

#### Payload 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `enable_prompt_expansion` | boolean | 否 | `true` | - | Enable intelligent prompt rewriting. |
| `seed` | object | 否 | `-` | - | Random seed for reproducibility (0-2147483647). |
| `duration` | enum | 否 | `5` | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | Output video duration in seconds (2-15). |
| `resolution` | enum | 否 | `"1080p"` | 720p, 1080p | Output video resolution tier. |
| `negative_prompt` | object | 否 | `"low resolution, errors, worst quality, low quality, incomplete, extra fingers, bad proportions, blurry, distorted"` | - | Content to avoid in the video. Max 500 characters. |
| `end_image_url` | object | 否 | `-` | - | URL of the last frame image for first-and-last-frame-to-video. Same constraints as image_url. |
| `audio_url` | object | 否 | `-` | - | URL of driving audio. Supports WAV and MP3. Duration: 2-30s. Max 15 MB. |
| `prompt` | object | 否 | `"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. |
| `image_url` | object | 否 | `"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. |
| `video_url` | object | 否 | `-` | - | URL of a video clip to continue from. Format: MP4, MOV. Duration: 2-10s. Max 100 MB. Cannot be combined with image_url. |
| `enable_safety_checker` | boolean | 否 | `true` | - | Enable content moderation for input and output. |

#### input 字段

_该模型暂无字段配置。_

### Wan 2.7 Reference to Video

#### Payload 字段

| 字段 | 类型 | 必填 | 默认值 / 示例 | 可选值 | 说明 |
| --- | --- | --- | --- | --- | --- |
| `reference_video_urls` | object | 否 | `-` | - | Reference video URLs for character/object appearance and motion. Pass multiple videos for multi-subject generation. Max 100 MB each. |
| `negative_prompt` | object | 否 | `"low resolution, errors, worst quality, low quality"` | - | Content to avoid in the video. Max 500 characters. |
| `aspect_ratio` | enum | 否 | `"16:9"` | 16:9, 9:16, 1:1, 4:3, 3:4 | Aspect ratio of the generated video. |
| `prompt` | string | 是 | `"A person walking through a beautiful garden, cinematic style."` | - | Text prompt describing the desired video. Max 5000 characters. |
| `multi_shots` | boolean | 否 | `false` | - | When true, enables intelligent multi-shot segmentation. When false (default), generates a single continuous shot. |
| `seed` | object | 否 | `-` | - | Random seed for reproducibility (0-2147483647). |
| `resolution` | enum | 否 | `"1080p"` | 720p, 1080p | Output video resolution tier. |
| `reference_image_urls` | object | 否 | `-` | - | Reference image URLs for character/object appearance. Pass multiple images for multi-subject generation. Max 20 MB each. |
| `duration` | enum | 否 | `5` | 2, 3, 4, 5, 6, 7, 8, 9, 10 | Output video duration in seconds (2-10). |
| `enable_safety_checker` | boolean | 否 | `true` | - | Enable content moderation for input and output. |

#### input 字段

_该模型暂无字段配置。_

## 价格

创建生成任务时会预扣积分。创建任务响应中的 `reservedCredits` 是本次请求最终预留的积分数量。

| 模型 | 类型 | 规格 | 价格 | 计费方式 |
| --- | --- | --- | --- | --- |
| Wan 2.7 Text to Video | 文生视频 | 720p | 16 积分/秒 | 输出秒数 × 16 |
| Wan 2.7 Text to Video | 文生视频 | 1080p | 24 积分/秒 | 输出秒数 × 24 |
| Wan 2.7 Image to Video | 图生视频 | 720p | 16 积分/秒 | 输出秒数 × 16 |
| Wan 2.7 Image to Video | 图生视频 | 1080p | 24 积分/秒 | 输出秒数 × 24 |
| Wan 2.7 Video Edit | 文/图生视频 | 720p | 16 积分/秒 | 输出秒数 × 16 |
| Wan 2.7 Video Edit | 文/图生视频 | 1080p | 24 积分/秒 | 输出秒数 × 24 |
| Wan 2.7 Reference to Video | 文/图生视频 | 720p | 16 积分/秒 | 输出秒数 × 16 |
| Wan 2.7 Reference to Video | 文/图生视频 | 1080p | 24 积分/秒 | 输出秒数 × 24 |
| Wan 2.6 Text to Video | 文生视频 | 720p | 70 积分 | 单次生成固定价格 |
| Wan 2.6 Text to Video | 文生视频 | 720p | 140 积分 | 单次生成固定价格 |
| Wan 2.6 Text to Video | 文生视频 | 720p | 210 积分 | 单次生成固定价格 |
| Wan 2.6 Text to Video | 文生视频 | 1080p | 105 积分 | 单次生成固定价格 |
| Wan 2.6 Text to Video | 文生视频 | 1080p | 210 积分 | 单次生成固定价格 |
| Wan 2.6 Text to Video | 文生视频 | 1080p | 315 积分 | 单次生成固定价格 |
| Wan 2.6 Image to Video | 图生视频 | 720p | 70 积分 | 单次生成固定价格 |
| Wan 2.6 Image to Video | 图生视频 | 720p | 140 积分 | 单次生成固定价格 |
| Wan 2.6 Image to Video | 图生视频 | 720p | 210 积分 | 单次生成固定价格 |
| Wan 2.6 Image to Video | 图生视频 | 1080p | 105 积分 | 单次生成固定价格 |
| Wan 2.6 Image to Video | 图生视频 | 1080p | 210 积分 | 单次生成固定价格 |
| Wan 2.6 Image to Video | 图生视频 | 1080p | 315 积分 | 单次生成固定价格 |
| Wan 2.6 Video to Video | 文/图生视频 | 720p | 70 积分 | 单次生成固定价格 |
| Wan 2.6 Video to Video | 文/图生视频 | 720p | 140 积分 | 单次生成固定价格 |
| Wan 2.6 Video to Video | 文/图生视频 | 1080p | 105 积分 | 单次生成固定价格 |
| Wan 2.6 Video to Video | 文/图生视频 | 1080p | 210 积分 | 单次生成固定价格 |
| Wan 2.5 Text to Video | 文生视频 | 720p | 12 积分/秒 | 输出秒数 × 12 |
| Wan 2.5 Text to Video | 文生视频 | 1080p | 20 积分/秒 | 输出秒数 × 20 |
| Wan 2.5 Image to Video | 图生视频 | 720p | 12 积分/秒 | 输出秒数 × 12 |
| Wan 2.5 Image to Video | 图生视频 | 1080p | 20 积分/秒 | 输出秒数 × 20 |
| Wan Text to Video | 文生视频 | 480p | 8 积分 | 单次生成固定价格 |
| Wan Text to Video | 文生视频 | 720p | 16 积分 | 单次生成固定价格 |
| Wan Image to Video | 图生视频 | 480p | 8 积分 | 单次生成固定价格 |
| Wan Image to Video | 图生视频 | 720p | 16 积分 | 单次生成固定价格 |
| Wan 2.2 A14B Speech to Video Turbo | 文/图生视频 | 480p | 12 积分/秒 | 输出秒数 × 12 |
| Wan 2.2 A14B Speech to Video Turbo | 文/图生视频 | 580p | 18 积分/秒 | 输出秒数 × 18 |
| Wan 2.2 A14B Speech to Video Turbo | 文/图生视频 | 720p | 24 积分/秒 | 输出秒数 × 24 |
| Wan Animate Move | 文/图生视频 | 480p | 6 积分 | 单次生成固定价格 |
| Wan Animate Move | 文/图生视频 | 580p | 10 积分 | 单次生成固定价格 |
| Wan Animate Move | 文/图生视频 | 720p | 13 积分 | 单次生成固定价格 |
| Wan Animate Replace | 文/图生视频 | 480p | 6 积分 | 单次生成固定价格 |
| Wan Animate Replace | 文/图生视频 | 580p | 10 积分 | 单次生成固定价格 |
| Wan Animate Replace | 文/图生视频 | 720p | 13 积分 | 单次生成固定价格 |
| Wan 2.7 Text to Video | 文生视频 | 720p | 20 积分/秒 | 输出秒数 × 20 |
| Wan 2.7 Text to Video | 文生视频 | 1080p | 30 积分/秒 | 输出秒数 × 30 |
| Wan 2.7 Image to Video | 图生视频 | 720p | 20 积分/秒 | 输出秒数 × 20 |
| Wan 2.7 Image to Video | 图生视频 | 1080p | 30 积分/秒 | 输出秒数 × 30 |
| Wan 2.7 Reference to Video | 文/图生视频 | - | 20 积分/秒 | 输出秒数 × 20 |

## 常见错误

| 状态 | 含义 |
| --- | --- |
| `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 |
