Wan 视频
wan3.0-video / wan3.0-video-prime:DashScope 风格 input + parameters 的异步视频生成,支持文生、首尾帧、参考生成与视频编辑,480P/720P/1080P,用 GET /v1/tasks/{task_id} 查询
Wan 使用统一异步任务 API,请求体为 DashScope 风格(input + parameters)。提交、轮询、任务对象字段、回调与通用错误见接口说明,本页只写 Wan 的差异。
| 项 | 值 |
|---|---|
| 模型 | wan3.0-video(标准版)、wan3.0-video-prime(高速版);二者参数、素材规则、计费时长口径相同,只在 model 取值与速度、单价上不同 |
| 模式 | 异步(提交 → 轮询 GET /v1/tasks/{task_id});支持文生、首尾帧、参考生成与视频编辑 |
| 计费 | 按计费时长 × 480p/720p/1080p 档位;带参考视频(视频编辑)时计费时长含输入视频,见计费 |
| 媒体保留 | video_url 最长保留至任务完成后 72 小时 |
快速开始
TASK_ID=$(curl -sS https://api.vibelab.me/v1/videos/generations \
-H "Authorization: Bearer $LOOPTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"input": {"prompt": "一只金毛寻回犬在金色的秋天落叶中奔跑"},
"parameters": {"resolution": "720P", "duration": 5}
}' | jq -r '.task_id')
curl -sS "https://api.vibelab.me/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $LOOPTOKEN_API_KEY"提交固定返回 HTTP 202,包含 task_id、model、status(提交时为 pending)、created_at、duration、resolution。
请求参数
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
model | string | 是 | - | wan3.0-video(标准版)或 wan3.0-video-prime(高速版) |
input.prompt | string | 与 input.media 至少传一个 | - | 文本描述,最多 20000 字符;纯文生视频只传它 |
input.media | array | 与 input.prompt 至少传一个 | - | 参考素材,每项 {"type": "...", "url": "..."},见参考素材 |
parameters.resolution | string | 否 | 1080P | 480P、720P、1080P;未传时平台按 720P 预扣,终态按实际结果结算 |
parameters.duration | integer | 否 | 5 | 输出时长,整数秒 |
parameters.ratio | string | 否 | adaptive | adaptive 按输入自动选择(实测 320x240 输入输出 4:3);可选 21:9、16:9、4:3、1:1、3:4、9:16 |
parameters.audio | boolean | 否 | true | 是否生成音频,开关价格相同 |
parameters.seed | integer | 否 | - | -1 或 0–2147483647;相同 seed 不保证结果完全一致 |
parameters.prompt_extend | boolean | 否 | true | 开启后上游会智能改写提示词,耗时增加;编辑场景若要严格按原文执行可设 false |
parameters.watermark | boolean | 否 | false | 是否添加水印 |
callback_url | string | 否 | - | 公网 HTTPS URL;不能替代任务轮询 |
本页列出的字段为已验证字段,未列出的字段原样透传,不作稳定兼容承诺。有视频输入时,输入视频总时长 + 输出时长不得超过 30 秒。
参考素材
input.media[] 每项为 {"type": "...", "url": "..."},url 须为公网可访问的 HTTP/HTTPS 地址。
type | 数量 | 限制 |
|---|---|---|
first_frame | 1 张 | 严格作首帧 |
last_frame | 1 张 | 严格作尾帧 |
reference_image | ≤ 10 张 | jpeg/jpg/png(不支持透明通道)/bmp/webp;单边 240–8000px;长宽比 ≤ 8:1;单张 ≤ 20MB |
reference_video | ≤ 5 段 | 总时长 ≤ 15 秒;mp4/mov;单段 1–15 秒;帧率 ≥ 16fps;单边 240–4096px;长宽比 ≤ 8:1;单文件 ≤ 100MB |
reference_audio | ≤ 5 段 | 总时长 ≤ 15 秒;wav/mp3;单段 1–15 秒;单文件 ≤ 15MB |
file / link | 各 1 个 | 文档或网页;二者不可同用;使用时 prompt_extend 必须为 true |
组合规则:
- 首帧/尾帧不能与
reference_*、file、link混用。 reference_image、reference_video、reference_audio可自由组合。- 视频编辑和视频延长必须包含
reference_video,可再配reference_image、reference_audio。 - 提示词中可用「图1」「视频1」「音频1」指代素材,序号按该类型在
media中出现的顺序计(图片、视频、音频分别计数)。
视频编辑
在 media 中放入 reference_video,并在 prompt 中写编辑指令即可。
风格转换:
curl -sS https://api.vibelab.me/v1/videos/generations \
-H "Authorization: Bearer $LOOPTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"input": {
"prompt": "将视频画面整体转换为黑白风格,其余保持不变。",
"media": [
{"type": "reference_video", "url": "https://example.com/source.mp4"}
]
},
"parameters": {"resolution": "720P", "duration": 5}
}'替换背景或人物:media 同时放入 reference_image 与 reference_video,提示词用「图1」「视频1」指代。
curl -sS https://api.vibelab.me/v1/videos/generations \
-H "Authorization: Bearer $LOOPTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"input": {
"prompt": "视频1 的背景替换为 图1,人物保持不变",
"media": [
{"type": "reference_image", "url": "https://example.com/background.png"},
{"type": "reference_video", "url": "https://example.com/source.mp4"}
]
},
"parameters": {"resolution": "720P", "duration": 5}
}'输出时长由 parameters.duration 决定,不会自动等于输入视频时长。想保持原时长,请把 duration 设为不小于输入视频的整数秒。
响应
用 GET /v1/tasks/{task_id} 查询,状态依次为 pending → running → succeeded / failed(终态)。任务对象通用字段见接口说明。
| 字段 | 类型 | 说明 |
|---|---|---|
video_url | string | 临时下载地址,仅 succeeded 返回,以 expires_at 为准及时转存 |
expires_at | integer | video_url 失效时间,Unix 秒 |
usage | object | 仅可能包含 duration、SR、ratio;duration 为计费时长,有视频输入时含输入视频时长 |
credits_charged | number | 完成结算后实际扣除的积分 |
error | object | 仅 failed 返回:error.code 为 upstream_error 或 timeout |
计费
- 按计费时长和 480p/720p/1080p 档位计费;视频编辑与图生视频费率相同(按分辨率档位的每秒单价),不因编辑加价。
- 带
reference_video时,计费时长 = 输入视频时长 + 输出时长(取上游usage.duration,结算时折算为整秒),因此编辑通常比同时长的图/文生视频更贵。 - 示例:480P、输入 1 秒视频、
duration=2,任务对象duration: 3.0,扣 1.9287 积分(3 秒 × 0.6429)。 - 提交时按请求的
duration预扣,完成后按实际usage.duration与usage.SR多退少补;失败退款。 - 单价以模型列表展示的当前价格为准。
错误
通用错误见接口说明。parameters.resolution 不在 480P / 720P / 1080P 内时,预扣档位按 720P 处理,平台不会在提交阶段拒绝;input / parameters 的其余取值由上游校验,参数问题可能在 202 之后表现为异步 failed,error.code 为 upstream_error。
注意事项
202响应 → 只表示任务已创建,参数问题可能在任务创建后异步failed。- 参考素材 URL → 必须公网可访问,且在任务运行期间保持可用。
- 素材不合规 → 格式、时长、大小不符合要求时,会在
202之后异步failed,error.code为upstream_error。 - 轮询频率 → 建议每 5-10 秒一次,逐步退避,最长不超过 30 秒一次。