88API88API
使用指南AI 应用API 文档帮助支持
视频(Video)

万相 Wan 视频 API 规范

wan3.0-video 与 wan3.0-video-prime 的分辨率、时长、比例、首尾帧、多素材参考(media 数组)、Responses 接口调用和官方计费规则。

本页是阿里万相视频模型 wan3.0-video、wan3.0-video-prime 的调用规范。它们与其他视频模型共用 POST /v1/videos 创建、GET /v1/videos/{id} 轮询的流程;鉴权、素材上传、轮询状态、结果下载和错误处理见 视频 API 完整调用规范,本页只列出万相特有的字段和规则。万相也可以用 POST /v1/responses 提交,见 用 Responses 接口调用。

更新于 2026-10-12。原 wan3.0-video-480p、wan3.0-video-720p、wan3.0-video-1080p 已合并为 wan3.0-video,用 resolution 选择分辨率。首帧、尾帧和参考素材推荐放在顶层 media 数组(first_frame、last_frame、reference_image 等);也支持 metadata.firstFrame、metadata.lastFrame、metadata.referenceImages、metadata.referenceVideos、metadata.referenceAudios(以及 metadata.first_frame 等下划线写法)和顶层 firstFrame/first_frame、lastFrame/last_frame,它们都会转为 media,但不能与 media 同时提交。无法识别的素材字段会直接返回 400。万相只支持轮询,不要设置 callback_url。

模型一览

模型分辨率时长比例参考素材上限
wan3.0-video480P / 720P / 1080P,默认 1080P-1 或 2–30 秒,默认 5 秒adaptive 16:9 9:16 1:1 4:3 3:4 21:9,默认 adaptive图 10 / 视频 5 / 音频 5
wan3.0-video-prime同上同上同上同上

两个模型能力一致:分辨率、时长、比例、首尾帧和多素材参考的规则相同,请求参数通用,切换只需修改 model。区别在于生成速度:wan3.0-video-prime 是高速版,端到端生成明显更快,适合需要尽快拿到成片的场景;wan3.0-video 是标准版,对出片时间不敏感时选它即可。

通用规则

  • 分辨率:顶层 resolution 取 480p、720p 或 1080p(大小写均可),不传时为 1080P。也可以用像素尺寸 size(例如 1280x720、1920x1080),会同时确定分辨率和比例;size 也可以写比例(如 "size": "9:16"),与 ratio/aspect_ratio 不一致时返回 400。
  • 时长:duration(或 seconds)填整数秒;-1 表示由模型智能决定时长。
  • 比例:使用 ratio(或等价的 aspect_ratio),两者不一致时返回 400。adaptive 表示按输入素材自适应。
  • 提示词:提供了首帧或参考素材时可以省略 prompt,但建议写明动作和镜头要求;两者都没有会返回 400。
  • 可选字段:
    • negative_prompt:负面提示词;
    • prompt_extend:是否自动改写提示词,布尔值,默认 true;
    • watermark:是否加水印,布尔值;
    • seed:整数,-1 到 2147483647。
{
  "model": "wan3.0-video",
  "prompt": "雨夜城市中的银色跑车,低机位跟拍,霓虹倒影,电影感",
  "duration": 10,
  "resolution": "1080p",
  "ratio": "16:9"
}

首帧与首尾帧

首帧、尾帧请写在 media 数组中:first_frame 为首帧,last_frame 为尾帧(提供尾帧时必须同时提供首帧)。参考图同样放在 media(reference_image),规则见下一节。

{
  "model": "wan3.0-video-prime",
  "prompt": "从清晨的空旷广场平滑过渡到夜晚灯光亮起的同一构图",
  "duration": 8,
  "resolution": "720p",
  "media": [
    { "type": "first_frame", "url": "https://cdn.example.com/start.jpg" },
    { "type": "last_frame", "url": "https://cdn.example.com/end.jpg" }
  ]
}

素材字段的写法

推荐使用 media。也可以用顶层 images/image(第 1 张首帧、第 2 张尾帧)、metadata.firstFrame(或 metadata.first_frame)、顶层 firstFrame/first_frame 等写法。无法识别的素材字段(例如 metadata.image、metadata.images)会返回 400 并提示改用 media;同一个素材用多种写法提交且地址不一致时,也会返回 400。

多素材参考:media 数组

参考图片、视频、音频统一放在顶层 media 数组,每项为 { "type": "...", "url": "..." }:

type用途上限
first_frame首帧1
last_frame尾帧,必须同时有 first_frame1
reference_image参考图片10
reference_video参考视频5
reference_audio参考音频5
  • 首帧/尾帧不能与参考图片、视频、音频混用。
  • 提交了 media 时只读取 media;images、image 等字段里有 media 未包含的素材时返回 400,首尾帧也请写在 media 里。
  • 素材 URL 需匿名可访问,要求见 素材 URL 要求;本地文件先按 本地素材上传 取得 URL。万相不接受 multipart/form-data 文件上传。
{
  "model": "wan3.0-video",
  "prompt": "参考图中的人物随参考音频的节奏起舞,动作风格参考参考视频",
  "duration": 10,
  "resolution": "720p",
  "ratio": "9:16",
  "media": [
    { "type": "reference_image", "url": "https://cdn.example.com/dancer.jpg" },
    { "type": "reference_video", "url": "https://cdn.example.com/dance-motion.mp4" },
    { "type": "reference_audio", "url": "https://cdn.example.com/music.mp3" }
  ]
}

用 Responses 接口调用

这两个模型也可以用 POST /v1/responses 提交,适合只能调用 Responses 接口的客户端或工作流。它和 /v1/videos 生成的是同一种视频任务,参数规则和计费完全相同。

  • 提示词写在 input:可以是字符串,也可以是消息数组。消息里的 input_text 作为提示词,input_image 作为图片素材,规则同顶层 images(第 1 张为首帧、第 2 张为尾帧)。
  • 其他参数(resolution、duration、ratio、media、negative_prompt 等)照常写在请求顶层,写法与上文相同。
  • 取结果有三种方式:
方式写法说明
同步等待不传 stream 和 background连接保持到视频生成完成后直接返回结果,最长等待约 10 分钟。超时会返回 "status": "incomplete",任务仍在继续,用返回的 id 查询即可
后台提交"background": true立即返回 id(状态为 queued 或 in_progress),之后用 GET /v1/responses/{id} 轮询,直到 status 为 completed 或 failed
流式"stream": true以 SSE 推送 response.created、response.in_progress(含进度),完成时推送 response.output_text.done 和 response.completed,失败时推送 response.failed
{
  "model": "wan3.0-video-prime",
  "input": "雨夜城市中的银色跑车,低机位跟拍,霓虹倒影,电影感",
  "duration": 5,
  "resolution": "720p",
  "ratio": "16:9",
  "background": true
}

生成完成后,视频地址在 output[0].content[0].text 中,格式为 <video controls src="视频地址"></video>,从 src 取出即可下载:

{
  "id": "resp_BVQwZLWyXB2dEU99F7nrER7XNJdVh8RS",
  "object": "response",
  "model": "wan3.0-video-prime",
  "status": "completed",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "status": "completed",
      "content": [
        { "type": "output_text", "text": "<video controls src=\"https://...\"></video>" }
      ]
    }
  ],
  "metadata": {
    "task_id": "task_BVQwZLWyXB2dEU99F7nrER7XNJdVh8RS",
    "task_status": "completed"
  }
}

metadata.task_id 是对应的视频任务号,也可以用 GET /v1/videos/{task_id} 查询同一个任务。

对话接口不能生成视频

只有万相支持 /v1/responses。/v1/chat/completions、/v1/messages 和生图接口都不能调用视频模型,会返回 400 video_model_wrong_endpoint。

计费

wan3.0-video 与 wan3.0-video-prime 是官方版,任务结果使用官方 URL。计费按官方规则:

计费时长 = 输入视频时长 + 输出视频时长

  • 输入视频时长:实际输入的参考视频秒数;没有参考视频时为 0。
  • 输出视频时长:成功生成的视频秒数。
  • 单价按输出分辨率(480P / 720P / 1080P)计算,输入视频与输出视频使用同一档单价。
  • 参考图片、参考音频、文档和网页不计入时长。
  • 带参考视频,或 duration 为 -1 时,提交按 30 秒预扣;完成后按模型平台返回的输入加输出秒数结算,并退回差额。

具体每秒单价以模型广场当前显示为准。带参考视频时不要只按输出秒数估算费用。