> ## Documentation Index
> Fetch the complete documentation index at: https://help.tokener.jeekmind.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MU 通义万相 3.0

万相 3.0 全能视频生成接口。异步任务接口，提交后返回 task\_id，凭 task\_id 轮询获取生成结果。

支持模型：

* `wan3.0-video`：标准版
* `wan3.0-video-prime`：高速版（能力对齐标准版，生成速度更快）

一个模型即可覆盖 **文生视频、图生视频（首帧/首尾帧）、参考生视频（参考图/参考视频/参考音频）、文件/网页生视频（解析文档或网页内容）** 多种用法，用法由传入的素材决定，无需切换模型。

***

## 接口地址

### 提交任务

```
POST https://tokener.jeekmind.com/v1/video/generations
```

### 查询结果

```
GET https://tokener.jeekmind.com/v1/video/generations/{task_id}
```

***

## 请求示例

### 文生视频（Text-to-Video）

仅传 `prompt`，不带任何素材。

#### cURL

```bash theme={null}
curl -X POST "https://tokener.jeekmind.com/v1/video/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "prompt": "一只小猫在月光下的屋顶上奔跑，城市的霓虹灯在远处闪烁，电影级画质，流畅运镜。",
    "resolution": "1080P",
    "ratio": "adaptive",
    "duration": 5
  }'
```

***

### 图生视频（首帧）

通过 `input_reference` 传入一张首帧图片 URL，视频将以该图为第一帧。

```bash theme={null}
curl -X POST "https://tokener.jeekmind.com/v1/video/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "prompt": "镜头缓缓推进，画面从冷色调渐变为暖色调",
    "input_reference": "https://example.com/first-frame.png",
    "resolution": "1080P",
    "duration": 5
  }'
```

***

### 首帧 / 首尾帧 / 参考生视频（media 数组）

更精细的素材控制通过 `media` 数组表达。数组每个元素是一个 `{ "type": ..., "url": ... }` 对象，`type` 指定素材角色：

| type | 含义 | 数量上限 |
| - | - | - |
| `first_frame` | 首帧图像（严格作为视频第一帧） | 1 |
| `last_frame` | 尾帧图像（严格作为视频最后一帧） | 1 |
| `reference_image` | 参考图像 | 10 |
| `reference_video` | 参考视频 | 5（合计 ≤ 15 秒） |
| `reference_audio` | 参考音频 | 5（合计 ≤ 15 秒） |
| `file` | 文档文件 URL，解析文档内容生成视频 | 1 |
| `link` | 网页链接，解析网页内容生成视频 | 1 |

> `first_frame` / `last_frame` 与 `reference_image` / `reference_video` / `reference_audio` **不能在同一次请求中混用**，请二选一。
>
> `file` 与 `link` 二选一、各限 1 个，且不与其它素材类型混用。文档与网页链接**仅支持无需登录的公开页面**（否则模型无法抓取内容）。

#### 首尾帧示例

```bash theme={null}
curl -X POST "https://tokener.jeekmind.com/v1/video/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "prompt": "一个女孩从微笑逐渐变为大笑，镜头缓缓推进",
    "media": [
      { "type": "first_frame", "url": "https://example.com/start.png" },
      { "type": "last_frame",  "url": "https://example.com/end.png" }
    ],
    "resolution": "1080P",
    "duration": 5
  }'
```

#### 参考生视频示例

可在 `prompt` 中用「图1」「视频1」「音频1」等按 `media` 数组中同类素材的出现顺序引用（图、视频、音频分别计数）。

```bash theme={null}
curl -X POST "https://tokener.jeekmind.com/v1/video/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "prompt": "图1中的女性手持图2的折扇，随图3的音乐节奏轻盈起舞",
    "media": [
      { "type": "reference_image", "url": "https://example.com/girl.jpg" },
      { "type": "reference_image", "url": "https://example.com/fan.jpg" },
      { "type": "reference_audio", "url": "https://example.com/music.mp3" }
    ],
    "resolution": "1080P",
    "ratio": "adaptive",
    "duration": 5
  }'
```

#### 参考图（简写）

若只需传若干张参考图，也可用 `images` 数组代替 `media`：

```bash theme={null}
curl -X POST "https://tokener.jeekmind.com/v1/video/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "prompt": "身着红色旗袍的女性 图1，轻抬玉手 图2",
    "images": [
      "https://example.com/girl.jpg",
      "https://example.com/hand.jpg"
    ],
    "resolution": "1080P",
    "duration": 5
  }'
```

***

### 文件 / 网页生视频（file / link）

解析一个**公开可访问**的文档或网页内容来生成视频。`file`（文档 URL）与 `link`（网页 URL）二选一，各限 1 个，不与其它素材类型混用。

#### 网页生视频示例

```bash theme={null}
curl -X POST "https://tokener.jeekmind.com/v1/video/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "prompt": "根据网页内容生成一段介绍视频，节奏明快、画面丰富",
    "media": [
      { "type": "link", "url": "https://example.com/public-article" }
    ],
    "resolution": "1080P",
    "ratio": "adaptive",
    "duration": 5
  }'
```

#### 文件生视频示例

```bash theme={null}
curl -X POST "https://tokener.jeekmind.com/v1/video/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "prompt": "根据文档内容生成一段讲解视频",
    "media": [
      { "type": "file", "url": "https://example.com/public-doc.pdf" }
    ],
    "resolution": "1080P",
    "duration": 5
  }'
```

> **注意**：文档 / 网页链接仅支持无需登录的公开页面；`file` 与 `link` 每次请求各限 1 个，二者及与其它素材类型均不可混用。

***

```json theme={null}
{
  "id": "dc153518-99ab-4185-980a-e9baf7cf0ba2",
  "object": "video",
  "model": "wan3.0-video",
  "status": "queued",
  "progress": 0,
  "created_at": 1787558977
}
```

**重要**：本接口为异步接口，返回 task\_id（即 `id` 字段）后需要使用该 ID 查询生成结果。

***

## 查询结果

使用返回的 task\_id 查询视频生成进度和结果。

```bash theme={null}
curl -X GET "https://tokener.jeekmind.com/v1/video/generations/{task_id}" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

***

## 请求参数

### 提交任务参数

| 参数 | 类型 | 必填 | 默认值 | 说明 |
| - | - | - | - | - |
| model | string | 是 | - | 模型名称：`wan3.0-video` 或 `wan3.0-video-prime` |
| prompt | string | 条件必填 | - | 视频描述文本。`prompt` 与素材（`media`/`images`/`input_reference`）至少提供其一 |
| resolution | string | 否 | 1080P | 视频分辨率：`480P`、`720P`、`1080P` |
| ratio | string | 否 | adaptive | 画面宽高比：`adaptive`（自适应）、`16:9`、`4:3`、`1:1`、`3:4`、`9:16` |
| duration | number | 否 | 5 | 视频时长（秒），范围 2-30；传 `-1` 为智能时长（由模型自动决定） |
| seed | integer | 否 | - | 随机数种子，范围 \[0, 2147483647]，用于复现生成结果 |
| watermark | boolean | 否 | false | 是否在视频上添加水印 |

### 素材参数（三者按需选用）

| 参数 | 类型 | 说明 |
| - | - | - |
| media | array | 素材数组，每项为 `{ "type": "...", "url": "..." }`。`type` 取值见下方「media 素材类型」 |
| images | string\[] | 参考图 URL 数组（简写方式，等价于多个 `reference_image`） |
| input\_reference | string | 单张首帧图片 URL（简写方式，等价于一个 `first_frame`） |

#### media 素材类型（`type` 字段取值）

| type | 含义 | 数量上限 |
| - | - | - |
| `first_frame` | 首帧图像 | 1 |
| `last_frame` | 尾帧图像 | 1 |
| `reference_image` | 参考图像 | 10 |
| `reference_video` | 参考视频 | 5（合计 ≤ 15 秒） |
| `reference_audio` | 参考音频 | 5（合计 ≤ 15 秒） |
| `file` | 文档文件 URL（解析文档内容） | 1 |
| `link` | 网页链接（解析网页内容） | 1 |

> `first_frame` / `last_frame` 与 `reference_*` 系列互斥，不可在同一请求中同时出现。
>
> `file` 与 `link` 二选一、各限 1 个，且不与其它素材类型混用；仅支持无需登录的公开文档 / 网页。

**素材优先级**：同时提供时以 `media` 为准；未提供 `media` 时，`images` / `input_reference` 会被自动组装为对应的参考图 / 首帧素材。

**输入图片限制**：

* 格式：JPEG、JPG、PNG、BMP、WEBP
* 分辨率：单边 \[240, 8000] 像素
* 宽高比：不超过 8:1
* 文件大小：不超过 20MB

***

## 响应字段说明

### 提交任务响应字段

| 字段 | 类型 | 说明 |
| - | - | - |
| id | string | 任务唯一标识符（task\_id），用于查询结果 |
| object | string | 对象类型，固定为 `video` |
| model | string | 使用的模型名称 |
| status | string | 任务状态：`queued`（排队中） |
| progress | integer | 进度百分比 |
| created\_at | integer | 创建时间戳 |

### 查询结果响应字段

| 字段 | 类型 | 说明 |
| - | - | - |
| code | string | 响应码，`success` 表示查询成功 |
| message | string | 响应消息 |
| data.task\_id | string | 任务 ID |
| data.action | string | 操作类型，如 `textGenerate` |
| data.status | string | 任务状态：`IN_PROGRESS`（进行中）、`SUCCESS`（成功）、`FAILURE`（失败） |
| data.progress | string | 进度百分比，如 `"30%"`、`"100%"` |
| data.submit\_time | integer | 提交时间戳 |
| data.start\_time | integer | 开始时间戳 |
| data.finish\_time | integer | 完成时间戳 |
| data.result\_url | string | 成功时的视频下载地址（有时效性）；失败时为空 |
| data.fail\_reason | string | 失败原因；成功时为空 |

***

## 提示词建议

* 使用详细、具体的描述，包含场景、光线、动作、情绪等元素
* 参考生视频时，可在 prompt 中用「图1」「视频1」「音频1」按素材顺序引用，模型会按引用关系组合素材特征
* 建议轮询查询间隔约 15 秒


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.