Appearance
千问 Wan 视频生成
千问 Wan 系列(通义万相 Wan 3.0)采用官方 OpenAI 视频生成规范:通过异步接口提交生成任务获取任务 ID,随后轮询任务状态直至生成完成并提取视频下载直链或通过内容端点下载。
支持文生视频、单图生视频、首尾帧生视频、多图参考(最多 10 张)、视频参考(动作/运镜引导)以及音频参考(节奏/配乐同步)。在提示词中可直接使用 “图1”、“视频1”、“音频1” 引用对应素材。
接口基础信息
- 线路地址:
https://img.mzfe.de(优化线路)或https://img.zikl.dev(标准线路) - 鉴权方式:
Authorization: Bearer <API_KEY> - 请求格式:
application/json(素材须为公网可访问的 HTTPS URL 直链,不支持本地文件上传或 Base64) - 计费与时长:按输出视频时长 + 所有参考视频总时长计算(相同 URL 仅计费一次,参考图片和参考音频不计秒数,生成失败不消耗额度)。
模型与版本列表
千问 Wan 3.0 提供标准版与 Prime 极速版两种规格,输出分辨率由模型名称中的后缀(-480p、-720p、-1080p)决定:
| 模型名称 (Model ID) | 分辨率 | 规格类型 | 能力与适用场景 |
|---|---|---|---|
wan3.0-video-1080p | 1080P | 标准版 | 高清画质,画面细节丰富、质感细腻,适合高质量成片 |
wan3.0-video-720p | 720P | 标准版 | 标清画质,速度与画质均衡,最常用规格 |
wan3.0-video-480p | 480P | 标准版 | 流畅预览,生成速度快,适合灵感测试与快速初稿 |
wan3.0-video-prime-1080p | 1080P | Prime 极速版 | 极速高清,采用优化推理引擎,大幅缩短生成排队与等待时长 |
wan3.0-video-prime-720p | 720P | Prime 极速版 | 极速标清,兼顾高出片速度与良好的视觉效果 |
wan3.0-video-prime-480p | 480P | Prime 极速版 | 极速预览,出片极快,适合批量或即时交互生成 |
分辨率覆盖规则
模型名称中的分辨率后缀优先级最高:
- 例如指定
wan3.0-video-720p,即使请求体中传了size: "480P"或size: "1080P",服务端仍会强制按 720P 发送和计费。 - 建议请求中的
model与size/resolution保持一致,便于日志排查与核对。
请求参数完整规范
接口统一使用 POST /v1/videos 提交任务。
| 字段 | 类型 | 必填 | 默认 / 建议 | 说明 |
|---|---|---|---|---|
model | string | 是 | - | 上表中的 6 个模型名之一,如 wan3.0-video-720p |
prompt | string | 是 | - | 视频画面描述或运镜指示。可用 “图1”、“视频1”、“音频1” 明确引用素材顺序 |
seconds | string | 建议 | "5" | 生成视频输出时长,例如 "5" 或 "10";推荐始终传字符串 |
duration | string | 否 | - | seconds 的兼容别名,同样建议传字符串 |
aspect_ratio | string | 否 | "16:9" | 画面宽高比:"16:9"、"9:16"、"1:1"、"adaptive"(自适应原图比例) |
ratio | string | 否 | - | aspect_ratio 的兼容别名 |
size | string | 否 | 与模型一致 | 分辨率:"480P"、"720P"、"1080P"(会被模型名称后缀覆盖) |
resolution | string | 否 | - | size 的兼容别名,同样会被模型名称后缀覆盖 |
reference_images | object[] | 否 | - | 参考图片对象数组,最多 10 张(详见下文格式) |
reference_videos | object[] / string[] | 否 | - | 参考视频数组(服务端自动读取视频时长并计费) |
reference_audios | object[] | 否 | - | 参考音频数组(参与生成与卡点,不计入视频秒数) |
input.media | object[] | 否 | - | 高级媒体数组,可与 reference_* 组合使用 |
多模态参考素材规范
所有素材链接均必须为公网可直接访问的 HTTPS URL。
1. 图片参考 (reference_images)
支持传入单图生视频、多图参考(最多 10 张)以及首尾帧生视频:
json
// 单图或多图参考(默认角色为 reference_image)
[
{ "url": "https://example.com/character.jpg" },
{ "url": "https://example.com/scene.jpg" }
]
// 首尾帧模式(使用 role 明确指定)
[
{ "url": "https://example.com/start.jpg", "role": "first_frame" },
{ "url": "https://example.com/end.jpg", "role": "last_frame" }
]- 支持的
role角色:"reference_image"(默认)、"first_frame"(首帧)、"last_frame"(尾帧)。 - 在单图生视频与首尾帧模式下,建议将
aspect_ratio设置为"adaptive"。
2. 视频参考 (reference_videos)
用于引导相机的运动轨迹、运镜速度或人物动作姿态:
json
[
{
"url": "https://example.com/motion.mp4",
"duration": 5
}
]
// 或直接传字符串数组:
// ["https://example.com/motion.mp4"]duration/seconds为可选提示;若不传,服务端会自动探测读取参考视频的实际时长。- 计费说明:计费总时长 = 生成输出时长 + 所有参考视频实际时长。相同 URL 仅计费一次。
3. 音频参考 (reference_audios)
用于提供声音氛围、节拍或配乐,使画面动作与音频节奏同步:
json
[
{ "url": "https://example.com/bgm.mp3" }
]- 参考音频参与生成,不计入视频秒数。
异步轮询与下载流程
mermaid
sequenceDiagram
autonumber
actor Client as 客户端
participant API as Wan 视频接口服务
Client->>API: POST /v1/videos (提交生成参数)
API-->>Client: 返回任务 ID {"id": "task_xxxx", "status": "queued"}
loop 每 10 ~ 15 秒轮询一次
Client->>API: GET /v1/videos/{id}
API-->>Client: 返回状态与进度 (queued / in_progress / completed / failed)
end
Note over Client,API: 当 status == "completed" 时:
Client->>API: 方式一:从 metadata.url 提取签名直链直接下载
Client->>API: 方式二:GET /v1/videos/{id}/content 通过网关代理下载任务状态说明
状态码 (status) | 说明 | 处理建议 |
|---|---|---|
queued | 任务已在队列中等待排队 | 继续轮询 |
in_progress | 视频正在渲染生成(含 progress 进度) | 建议每 15 秒轮询一次 |
completed | 生成成功,视频已就绪 | 从 metadata.url 获取视频直链,或调用 /content 下载 |
failed | 生成失败 | 终止轮询,失败不消耗额度 |
提示:建议轮询间隔为 15 秒,生成任务超时通常为 10–15 分钟。完成响应中的
metadata.url为官方签名视频直链,具有有效期,请及时下载或转存。
调用示例
01 文生视频 (Text-to-Video)
仅使用文字提示词生成全新视频。
bash
curl -X POST "https://img.mzfe.de/v1/videos" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-720p",
"prompt": "一只小猫在月光下的屋顶上奔跑,电影级画质,流畅运镜",
"seconds": "10",
"size": "720P",
"aspect_ratio": "16:9"
}'02 单图生视频 (Image-to-Video)
以单张图片作为参考,让主体自然运动并保持外观一致。
bash
curl -X POST "https://img.mzfe.de/v1/videos" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-720p",
"prompt": "图1人物自然转头微笑,微风吹拂发丝,镜头缓慢推进",
"seconds": "5",
"aspect_ratio": "adaptive",
"reference_images": [
{ "url": "https://example.com/portrait.jpg" }
]
}'03 首尾帧生视频 (First & Last Frame)
传入两张图片并标记 role,生成首帧到尾帧之间的平滑过渡动态。
bash
curl -X POST "https://img.mzfe.de/v1/videos" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-720p",
"prompt": "从首帧自然过渡到尾帧,保持人物身份和服装一致",
"seconds": "5",
"aspect_ratio": "adaptive",
"reference_images": [
{ "url": "https://example.com/start.jpg", "role": "first_frame" },
{ "url": "https://example.com/end.jpg", "role": "last_frame" }
]
}'04 多模态参考(图 + 视频 + 音频多维引导)
同时结合角色外观图、运镜参考视频与背景音乐音频,使用 “图1”、“视频1”、“音频1” 引导生成:
bash
curl -X POST "https://img.mzfe.de/v1/videos" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-480p",
"prompt": "图1人物参考视频1的运镜与动作节奏,音色与节奏卡点参考音频1",
"seconds": "10",
"aspect_ratio": "9:16",
"reference_images": [
{ "url": "https://example.com/character.jpg" }
],
"reference_videos": [
{ "url": "https://example.com/motion.mp4" }
],
"reference_audios": [
{ "url": "https://example.com/voice.mp3" }
]
}'响应与任务查询
1. 提交成功响应
提交任务后即刻返回任务 ID:
json
{
"id": "task_xxxxxxxxx",
"task_id": "task_xxxxxxxxx",
"object": "video",
"status": "queued",
"progress": 0
}2. 轮询查询任务状态
使用返回的 id 或 task_id 查询进度:
bash
curl "https://img.mzfe.de/v1/videos/task_xxxxxxxxx" \
-H "Authorization: Bearer <API_KEY>"3. 生成完成响应
当 status 变为 completed 时,视频直链位于 metadata.url:
json
{
"id": "task_xxxxxxxxx",
"task_id": "task_xxxxxxxxx",
"object": "video",
"status": "completed",
"progress": 100,
"created_at": 1781837823,
"completed_at": 1781837885,
"metadata": {
"url": "https://upstream-signed-url.example.com/video.mp4?auth_key=..."
}
}4. 下载视频
你可以直接访问 metadata.url 中的签名直链下载视频;或者通过服务端的代理内容端点下载:
bash
curl -L "https://img.mzfe.de/v1/videos/task_xxxxxxxxx/content" \
-H "Authorization: Bearer <API_KEY>" \
-o output.mp4