LoopToken

Wan 视频

wan3.0-video / wan3.0-video-prime:DashScope 风格 input + parameters 的异步视频生成,支持文生、首尾帧、参考生成与视频编辑,480P/720P/1080P,用 GET /v1/tasks/{task_id} 查询

POST/v1/videos/generations
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。

请求参数

参数类型必填默认说明
modelstring是-wan3.0-video(标准版)或 wan3.0-video-prime(高速版)
input.promptstring与 input.media 至少传一个-文本描述,最多 20000 字符;纯文生视频只传它
input.mediaarray与 input.prompt 至少传一个-参考素材,每项 {"type": "...", "url": "..."},见参考素材
parameters.resolutionstring否1080P480P、720P、1080P;未传时平台按 720P 预扣,终态按实际结果结算
parameters.durationinteger否5输出时长,整数秒
parameters.ratiostring否adaptiveadaptive 按输入自动选择(实测 320x240 输入输出 4:3);可选 21:9、16:9、4:3、1:1、3:4、9:16
parameters.audioboolean否true是否生成音频,开关价格相同
parameters.seedinteger否--1 或 0–2147483647;相同 seed 不保证结果完全一致
parameters.prompt_extendboolean否true开启后上游会智能改写提示词,耗时增加;编辑场景若要严格按原文执行可设 false
parameters.watermarkboolean否false是否添加水印
callback_urlstring否-公网 HTTPS URL;不能替代任务轮询

本页列出的字段为已验证字段,未列出的字段原样透传,不作稳定兼容承诺。有视频输入时,输入视频总时长 + 输出时长不得超过 30 秒。

参考素材

input.media[] 每项为 {"type": "...", "url": "..."},url 须为公网可访问的 HTTP/HTTPS 地址。

type数量限制
first_frame1 张严格作首帧
last_frame1 张严格作尾帧
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_urlstring临时下载地址,仅 succeeded 返回,以 expires_at 为准及时转存
expires_atintegervideo_url 失效时间,Unix 秒
usageobject仅可能包含 duration、SR、ratio;duration 为计费时长,有视频输入时含输入视频时长
credits_chargednumber完成结算后实际扣除的积分
errorobject仅 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 秒一次。

本页内容