万相 3.0

模型说明
wan3.0-video标准版
wan3.0-video-prime高速版,参数与标准版一致,单价不同

万相 3.0 是一个模型覆盖全部模式:文生视频、图生视频(首帧 / 首尾帧)、参考生视频(参考图 / 视频 / 音频自由组合)、视频编辑与续写、文档成片,都调同一个模型,由 input.media[] 里给了什么素材决定。

ModelGo 只按阿里百炼 DashScope 视频合成异步接口的官方路径与请求/响应格式接收万相 3.0 的请求:创建 → 轮询 → 取内容。这两个模型不开放 OpenAI Video 入口,调用 /v1/video/generations 返回 400 model_protocol_not_offered。

使用阿里官方 DashScope SDK 时,只需把 base_url(DASHSCOPE_HTTP_BASE_URL)指向 https://api.modelgo.ai/api/v1、api_key 换成 ModelGo API Key。

1. 创建任务

POST https://api.modelgo.ai/api/v1/services/aigc/video-generation/video-synthesis,请求头需带 X-DashScope-Async: enable。

bash
curl https://api.modelgo.ai/api/v1/services/aigc/video-generation/video-synthesis \
  -H "Authorization: Bearer $MODELGO_API_KEY" \
  -H "X-DashScope-Async: enable" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "input": {"prompt": "一只毛茸茸的橘猫在阳光下的窗台上玩毛线球"},
    "parameters": {"resolution": "720P", "duration": 5}
  }'

创建成功返回 {"output": {"task_id": "gw_…", "task_status": "PENDING"}},output.task_id 是网关任务 ID,轮询与下载都用它。

按模式给素材

素材统一放在 input.media[],元素为 {"type": ..., "url": ...}。素材的先后顺序就是提示词里「图1 / 视频1」的编号,会原样传给上游。

模式input.media[]
文生视频不给,只写 input.prompt
首帧图生视频first_frame
首尾帧图生视频first_frame + last_frame
参考生视频 / 视频编辑 / 视频续写reference_image、reference_video、reference_audio 任意组合
文档成片file(文档)或 link(网页链接),二选一

参考生示例(参考图 + 参考视频):

json
"input": {
  "prompt": "图1中的人物手持花束,沿视频1的镜头运动走向镜头",
  "media": [
    {"type": "reference_image", "url": "https://example-cdn.com/person.jpg"},
    {"type": "reference_video", "url": "https://example-cdn.com/walk.mp4"}
  ]
}

2. 参数说明

字段说明
input.prompt画面内容与动作描述。给了 input.media 时可以不填,两者都不给返回 400
input.media[]见下方「素材类型与数量」
input.negative_prompt反向提示词
parameters.resolution480P / 720P / 1080P,缺省 1080P
parameters.ratioadaptive(缺省,跟随素材)/ 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16,其他取值返回 400。也接受 aspect_ratio,两者同时给出时必须一致。万相 3.0 没有 size 参数
parameters.duration时长(秒),缺省 5,取值 2–30;-1 为智能时长,由模型在 2–30 秒内决定。有视频输入时,输入与输出合计不超过 30 秒
parameters.audio是否生成音频,缺省 true。开关不影响价格
parameters.prompt_extend智能改写提示词,缺省 true;文档成片(file / link)时必须为 true
parameters.watermark / seed加水印(缺省 false)/ 随机种子

素材类型与数量

type数量上限说明
first_frame1首帧图片
last_frame1尾帧图片,必须同时给 first_frame
reference_image10参考图片
reference_video5参考视频,合计不超过 15 秒
reference_audio5参考音频,合计不超过 15 秒
file1文档(docx / pdf / pptx / md 等,不超过 50 页)
link1网页链接
  • 组合规则:first_frame / last_frame 不能与参考素材、file、link 同时给出;file 与 link 只能二选一。违反规则、超过数量上限或 type 不在表中,创建时返回 400,不产生费用。
  • 不接受万相 2.x 的写法(input.img_url、input.last_frame_url、input.audio_url 等),请改用 input.media[]。
  • 参考素材时长、文档页数、duration 取值范围由上游校验:超限时任务以 FAILED 结束,不计费。

素材 URL 的要求

素材必须是上游能直接 GET 到的直链:无鉴权、无跳转、不依赖 Referer / Cookie。link 模式由上游抓取网页正文,抓取失败会导致任务失败(task_status=FAILED),不计费。建议使用自有对象存储或 CDN 地址。

3. 轮询任务

GET https://api.modelgo.ai/api/v1/tasks/{task_id}

bash
curl https://api.modelgo.ai/api/v1/tasks/gw_3d2eab09-bad9-44b1-913f-1ae8ce1645ee \
  -H "Authorization: Bearer $MODELGO_API_KEY"

完成时:

json
{
  "output": {
    "task_id": "gw_3d2eab09-bad9-44b1-913f-1ae8ce1645ee",
    "task_status": "SUCCEEDED",
    "video_url": "https://api.modelgo.ai/v1/videos/gw_3d2eab09-bad9-44b1-913f-1ae8ce1645ee/content"
  },
  "usage": {
    "video_count": 1,
    "duration": 5,
    "input_video_duration": 0,
    "output_video_duration": 5,
    "SR": 1080
  },
  "request_id": "gw_3d2eab09-bad9-44b1-913f-1ae8ce1645ee"
}
  • task_status:PENDING → RUNNING → SUCCEEDED / FAILED。失败时 output.code / output.message 给出原因,任务不计费。
  • usage 沿用官方字段:output_video_duration 为输出秒数,input_video_duration 为参考视频秒数,duration 为两者之和,SR 为输出分辨率;部分线路还会返回 fps、ratio。
  • 生成通常需要 1–5 分钟,文档成片更久,请按 5–10 秒间隔轮询并带退避。
  • output.video_url 指向网关内容接口,无需鉴权,链接本身即凭据;不要公开分享或持久化。

4. 下载视频

bash
curl https://api.modelgo.ai/v1/videos/gw_3d2eab09-bad9-44b1-913f-1ae8ce1645ee/content -o cat.mp4

返回 video/mp4 字节流,支持 Range;未完成返回 409,过期或不存在返回 404。

5. 计费

  • 按输出分辨率档位(480P / 720P / 1080P)× 秒数计费,单价以控制台「模型列表」为准;wan3.0-video-prime 单价高于标准版。音频开关不影响价格。
  • 输出秒数取实际交付的时长(usage.output_video_duration)。
  • 有参考视频时,参考视频的秒数(usage.input_video_duration)按同一档位单价计入;参考图片与参考音频不计费。
  • duration=-1(智能时长)在创建时按 30 秒预留额度,完成后按实际输出秒数结算,多余部分退回。
  • 不传 resolution / duration 时按缺省的 1080P / 5 秒计费。
  • 创建被拒(400)或生成失败(FAILED)不计费。