Skip to content

Wan3.0 视频生成 ​

Wan3.0(wan3.0-video)是阿里通义万相 Wan3.0 视频生成模型,支持文生视频、图生视频(首帧 / 参考图)、视频参考与视频编辑等多种用法,最长 30 秒,输出帧率 30fps。调用走统一 POST /v1/videos 接口,返回 OpenAI Video 风格(id / status / metadata.url),与其它视频模型共享同一套任务轮询机制。

计费方式

Wan3.0 按**实际生成时长(秒)**计费,单价与分辨率档位挂钩(480P / 720P / 1080P 三档单价不同)。具体单价与计费表达式以控制台「模型广场」对应模型卡片展示为准(文档不展示实时价格)。

端点 ​

  • 创建任务:POST $URL/v1/videos
  • 查询任务:GET $URL/v1/videos/{task_id}

兼容入口

同时支持 OpenAI Sora 风格别名:POST $URL/v1/video/generations、GET $URL/v1/video/generations/{task_id},二者等价。

支持模型 ​

模型名称定位支持分辨率
wan3.0-video标准版,全能参考生成480P / 720P / 1080P
wan3.0-video-prime高速版,端到端速度显著提升,能力对齐标准版480P / 720P / 1080P

同一个模型名下通过请求参数 size 区分分辨率档位(见下方「主要参数」)。

主要参数 ​

参数类型必填说明
modelstring是wan3.0-video / wan3.0-video-prime
promptstring是视频内容描述,建议包含主体、动作、场景、镜头
sizestring否分辨率档位:480p / 720p / 1080p,默认 1080P
secondsstring否输出视频时长(秒),如 "5"、"10";无视频输入时范围 2–30,传 "-1" 为智能时长
imagestring否参考图片 URL(单张,作为首帧生成图生视频)
imagesarray否参考图片 URL 数组(多图参考生成)
input_referencestring否参考 / 待编辑视频的 URL,用于视频参考生成或视频编辑
metadata.resolutionstring否高级覆盖:直接指定上游分辨率 480P / 720P / 1080P
metadata.durationnumber否覆盖输出时长(秒)
metadata.seedinteger否随机种子,用于复现

参考素材说明

支持直接传公网可访问的图片 / 视频 URL(上游服务端会自行拉取,内网或本地地址会失败)。Wan3.0 不提供独立素材库,请用 URL 方式传入参考素材。

请求示例 ​

文生视频 ​

bash
# 1. 创建视频任务(720P,5 秒)
curl $URL/v1/videos \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "prompt": "一只戴着墨镜的猫走在霓虹灯街道上,赛博朋克风格,镜头缓慢推进",
    "seconds": "5",
    "size": "720p"
  }'

# 2. 查询任务状态(替换 {task_id} 为上一步返回的 id)
curl $URL/v1/videos/{task_id} \
  -H "Authorization: Bearer $YOUR_API_KEY"
python
import time
import requests

url = "$URL/v1/videos"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}
payload = {
    "model": "wan3.0-video",
    "prompt": "一只戴着墨镜的猫走在霓虹灯街道上,赛博朋克风格",
    "seconds": "5",
    "size": "720p",
}

task = requests.post(url, json=payload, headers=headers).json()
task_id = task["id"]

while True:
    result = requests.get(f"{url}/{task_id}", headers=headers).json()
    if result["status"] in ("completed", "failed"):
        break
    time.sleep(8)

print(result)

图生视频(首帧) ​

bash
curl $URL/v1/videos \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "prompt": "让画面中的人物转身走向镜头",
    "image": "https://example.com/ref.png",
    "seconds": "5",
    "size": "1080p"
  }'

视频参考 / 视频编辑 ​

bash
curl $URL/v1/videos \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "prompt": "将整个画面转换为黏土风格",
    "input_reference": "https://example.com/clip.mp4",
    "seconds": "5",
    "size": "720p"
  }'

高速版(prime) ​

把 model 换成 wan3.0-video-prime 即可,其余参数完全相同:

bash
curl $URL/v1/videos \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video-prime",
    "prompt": "海浪拍打礁石,慢镜头,电影质感",
    "seconds": "5",
    "size": "1080p"
  }'

响应字段 ​

创建任务与查询任务返回同一结构(OpenAI Video 风格):

字段类型说明
idstring任务 ID
statusstring任务状态(见下方状态说明)
metadata.urlstring生成完成后的视频地址(仅 completed 时返回)
progressinteger生成进度,0~100
completed_atinteger完成时间戳(秒,仅 completed 时返回)
error.messagestring失败原因(仅 failed 时返回)

任务状态 ​

状态含义处理建议
queued排队中继续轮询
in_progress生成中继续轮询
completed生成成功从 metadata.url 获取视频地址,请尽快下载保存
failed生成失败查看 error.message

建议轮询间隔 5~10 秒

任务完成后请尽快下载转存:视频地址有时效性,过期后无法再访问。

响应示例 ​

json
{
  "id": "task_xxxxxxxx",
  "status": "in_progress",
  "progress": 30
}

完成后:

json
{
  "id": "task_xxxxxxxx",
  "status": "completed",
  "progress": 100,
  "metadata": {
    "url": "https://cdn.example.com/.../result.mp4"
  },
  "completed_at": 1786431715
}

常见问题 ​

Q: 提示词怎么写效果更好?

建议包含四个要素:主体(谁/什么)、动作(在做什么)、场景(在哪里)、镜头(怎么拍,如推进/环绕/俯拍)。避免过于抽象的描述。

Q: 任务大概多久完成?

与时长和分辨率相关,720P 5 秒通常在 1~3 分钟内完成,1080P 会更久。请通过轮询查询接口获取最终状态;任务超过 20 分钟未完成会自动置为失败。

Q: 生成的视频链接会过期吗?

会。视频地址有时效性,生成完成后请尽快下载转存到自己的存储。

Q: 支持素材库吗?

Wan3.0 不提供独立素材库,请使用公网可访问的图片/视频 URL 作为参考图或参考视频(见上文「主要参数」的 image / images / input_reference)。

© 2026 Euno AI 版权所有