万相 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。
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(网页链接),二选一 |
参考生示例(参考图 + 参考视频):
"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.resolution | 480P / 720P / 1080P,缺省 1080P |
parameters.ratio | adaptive(缺省,跟随素材)/ 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_frame | 1 | 首帧图片 |
last_frame | 1 | 尾帧图片,必须同时给 first_frame |
reference_image | 10 | 参考图片 |
reference_video | 5 | 参考视频,合计不超过 15 秒 |
reference_audio | 5 | 参考音频,合计不超过 15 秒 |
file | 1 | 文档(docx / pdf / pptx / md 等,不超过 50 页) |
link | 1 | 网页链接 |
- 组合规则:
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}
curl https://api.modelgo.ai/api/v1/tasks/gw_3d2eab09-bad9-44b1-913f-1ae8ce1645ee \
-H "Authorization: Bearer $MODELGO_API_KEY"完成时:
{
"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. 下载视频
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)不计费。