Create video
最近更新:2026年9月6日
通过阿里云百炼原生形状提交视频任务。DashScope 客户端改一个 base_url 就能用。
这个端点兼容阿里云百炼(DashScope)的视频合成接口。已有 DashScope 代码时,
将 base_url 指向本站即可,请求体与响应形状与客户端现有的一致。
https://gateway.amux.ai/api/v1/services/aigc/video-generation/video-synthesis鉴权
headerAuthorizationstring必填Bearer <你的 Amux 密钥> 控制台创建的 Amux 密钥。忘了可以回控制台的密钥页再看一次。
请求
application/jsonmodelstring必填站内模型 ID。这条端点上今天有四个:
| 模型 | 说明 |
|---|---|
alibaba/wan3.0-video | 万相 3.0,all-in-one |
alibaba/wan3.0-video-prime | 万相 3.0 加速档 |
alibaba/happyhorse-1.1 | HappyHorse 1.1 |
alibaba/happyhorse-1.0 | HappyHorse 1.0 |
HappyHorse 另收三个能力别名(-t2v / -i2v / -r2v),
见它的模型页。
inputobject必填prompt 与 media 至少提供一个,也可以同时提供。首帧图不带
提示词是一类正当请求,不要为满足字段而提交空字符串。
›inputobject
promptstring生成内容的描述。支持中英文,超出上限的部分由上游截断而非报错。
⚠️ 上限逐模型不同(万相 20,000 字符,HappyHorse
5,000 非中文 / 2,500 中文),指代输入素材的写法也不同
(万相「图1」,HappyHorse [Image 1])。见各自的模型页。
mediaarray<object>输入素材,每一件通过 type 标明用途。**仅接受公开可访问的
https 地址**,该路径不支持文件上传。
›mediaarray<object>
type"first_frame" | "last_frame" | "reference_image" | "reference_video" | "reference_audio" | "file" | "link"必填这件素材的用途。
⚠️ 下面是这条端点能表达的全集,没有哪个模型认全部:
万相收七类,HappyHorse 只收 first_frame 与
reference_image 且两者互斥。逐个模型收哪些、各限几件,
见它自己的模型页。
万相的组合规则:首/尾帧与参考素材互斥,file 与 link
二选一;其余组合转发给模型判断。
urlstring必填公开可访问的 https 地址。该地址由模型拉取,本站不会访问它。
parametersobject生成参数,均为可选。未提供的字段沿用该模型自身的默认值,
本站不代为设置。
⚠️ 下面各字段的取值域是这条端点的全集,逐模型收窄——
没有哪个模型认全部。取值超出该模型的范围时返回 400 并给出
可接受的取值,不会被静默替换。精确的取值域见模型页,
或 GET /v1/models 的 supported_parameters。
›parametersobject
resolution"480P" | "720P" | "1080P"默认 "1080P"输出分辨率档位。该字段是计价维度,单价按所选档位的每秒价计算。
⚠️ 档位逐模型不同:happyhorse-1.0 只有 720P 与 1080P。
ratio"adaptive" | "16:9" | "4:3" | "1:1" | "3:4" | "9:16" | "4:5" | "5:4" | "9:21" | "21:9"默认 "adaptive"画面比例。这里是全集,逐模型收窄:
adaptive(随素材自适应)只有万相有,
4:5 5:4 9:21 21:9 只有 HappyHorse 有。
durationinteger默认 5出片秒数。区间逐模型不同:万相 2–30,HappyHorse 3–15。
-1(智能时长,由模型决定输出长度)只有万相有;
此时预扣按 30 秒的上界冻结,因为实际时长在提交时无法预知。
audioboolean默认 true输出是否带声音。不影响价格。
⚠️ 只有万相有这个参数;HappyHorse 恒有声音,传了会被摘掉,
并在任务的 result_meta.notes 里说明。
输出帧率不可配置,且逐模型不同(万相 30fps、HappyHorse 24fps)。
seedinteger随机种子,用于复现结果。取 -1 或 0–2147483647,未提供时随机生成。
prompt_extendboolean默认 true是否让模型在生成前先对提示词进行改写扩写。
⚠️ 只有万相有这个参数;HappyHorse 传了会被摘掉并记 note。
watermarkboolean默认 false是否在输出视频上添加水印。
⚠️ 默认值逐模型不同:万相默认不加(false),
HappyHorse 默认加(true)。不想要水印时显式传 false。
webhook_urlstring任务到终态时往这里 POST 一份结果,形状与 POST /v1/tasks 那条的回调完全一致
({event, sent_at, task} 信封 + Amux-Signature 签名 + 退避重试)。
⚠️ 这个字段是本站加的,官方没有。 百炼的异步任务确实有回调,但它是在
阿里云控制台用 EventBridge 配事件规则——请求里传不了地址。不加的话,
走这条端点的调用方只能轮询,而同一个任务走站内统一入口就能收到推送。
只收 https,且不能指向内网——我们是从服务端发过去的。地址在提交这一刻
就校验,写错了当场报错,而不是等任务跑完才发现回调从来没来。
响应
200response任务已受理。拿 output.task_id 去 GET /v1/tasks/{id}
(或下面那条别名)轮询。
400response参数不合法,或者是这个模型明确拒绝的素材组合。
402response可用余额不足以覆盖预扣上界。duration 取 -1 时按 30 秒冻结,
指定具体时长可减少冻结额度。
503response当前没有可用的供应商能服务这个模型。
支持的模型
这条端点上今天有四个模型,分属两个系列:
| 模型 | 系列 | 专属文档 |
|---|---|---|
alibaba/wan3.0-video | 万相 3.0 | Wan3.0 Video |
alibaba/wan3.0-video-prime | 万相 3.0 | Wan3.0 Video Prime |
alibaba/happyhorse-1.1 | HappyHorse | HappyHorse 1.1 |
alibaba/happyhorse-1.0 | HappyHorse | HappyHorse 1.0 |
⚠️ 上方参数面板是这条端点的全集,没有哪个模型认全部
同一条协议上两个系列的取值域逐项不同。只调用一个模型时,请直接看它的专属 文档——那里的每一项都是它真正收的。
| 万相 3.0 | HappyHorse | |
|---|---|---|
| 时长 | 2–30,或 -1(智能时长) | 3–15,没有 -1 |
| 比例 | 含 adaptive(随素材) | 没有 adaptive,多出 4:5 5:4 9:21 21:9 |
audio | 可开关 | 没有这个参数,恒有声 |
prompt_extend | 有 | 没有 |
watermark 默认 | false | true |
| 提示词上限 | 20,000 字符 | 5,000 非中文 / 2,500 中文 |
| 指代输入素材 | 「图1」「视频1」 | [Image 1](带方括号) |
| 素材类型 | 七类(首尾帧 / 参考图·视频·音频 / 文件 / 链接) | 只有首帧图与参考图,且两者互斥 |
| 分辨率 | 三档 | 1.1 三档;1.0 只有 720P / 1080P |
| 输出帧率 | 30fps | 24fps |
传了目标模型没有的参数会被摘掉,并在任务的 result_meta.notes 里说明;
取值超出该模型的范围则返回 400 并给出可接受的取值,不会被静默替换。
精确的取值域也可以从 GET /v1/models 的 supported_parameters 读到——
那一份按模型算,与我们实际放行的完全一致。
系列内的差异
万相两个模型收取的参数逐字段相同,差异只在速度与单价:
| wan3.0-video | wan3.0-video-prime | |
|---|---|---|
| 生成速度 | 标准 | 明显更快 |
| 单价 | 标准 | 更高,逐档不同 |
HappyHorse 两个版本的差异是分辨率档与价格:1.1 有 480P 且更便宜, 1.0 只有 720P / 1080P。
⚠️ HappyHorse 的一个站内 ID 对应上游三个模型
上游把它按能力拆成了 -t2v / -i2v / -r2v,本站聚合成一个 ID,
打哪一个由你传的素材决定;官方那三个 ID 本站也直接收,用作能力别名。
完整规则见它的模型页。
该端点为异步接口
提交后返回 task_id,视频在后台生成。这是接口本身的性质,而非本站的限制——
实测 480P/2 秒约 105 秒,1080P/30 秒约 891 秒,超出任何 HTTP 连接可靠保持的时长。
因此 Prefer: wait 在该端点上几乎必然降级为未完成:其上限为 90 秒,
而此处的常态耗时是该值的数倍。
返回状态码为 200 而非 202,与阿里云百炼官方接口一致, 以便按官方形状实现的客户端不将其判为失败。
取回方式
task_id 是 Amux 的任务 ID,不是上游 ID。两条取回端点都接受它,
返回的是同一个任务的两种渲染:
| 取回端点 | 响应形状 | 适用场景 |
|---|---|---|
GET /api/v1/tasks/{id} | 百炼原生 | DashScope 客户端会自行拼接该地址 |
GET /v1/tasks/{id} | 站内统一 | 新接入建议使用,附带 usage 与 cost |
百炼形状中没有承载用量与费用的字段,因此这两项只在站内统一端点上提供。
计费
视频不产生 token。计费方式为该分辨率档的每秒单价 × 实际出片秒数, 输入素材不单独计价。
提交时按上界预扣,完成后按实际用量结算并退还差额。duration 取 -1
(智能时长)时上界按 30 秒计算,因为实际时长在提交时无法预知;
余额不足以覆盖该上界时返回 402。如需减少冻结额度,请指定具体时长。
失败与超时不计费,预扣已释放。
与官方接口的三处差异
前两条为本站更严格,第三条为本站更宽松:
- 素材地址只接受公开 https。 官方另支持
oss://与图片 base64, 本站两条端点均不受理,非 https 地址与指向私有网段的地址返回 400; task_id是 Amux 的 ID,上游 ID 不对外暴露;- 产物地址不会在 24 小时后失效。 官方的
video_url是带签名的临时地址, 本站会先将视频转存至自有存储。该地址同样会被定期清理, 需要长期保存请及时下载。
素材件数不属于上述差异:逐类型的上限(参考图 10 张、参考视频 5 段等) 由上游校验,本站仅设置 24 件的总量上限,正常使用不会触及。
错误
错误体形状与阿里云百炼一致,type 取值与重试语义见错误与重试。
curl https://gateway.amux.ai/api/v1/services/aigc/video-generation/video-synthesis \
-H "Authorization: Bearer $AMUX_API_KEY" \
-d '{
"model": "alibaba/wan3.0-video",
"input": {
"prompt": "A ginger cat running through fresh snow, slow motion"
},
"parameters": {
"resolution": "1080P",
"duration": 5
}
}'{
"output": {
"task_id": "<string>",
"task_status": "PENDING",
"video_url": "<string>",
"code": "<string>",
"message": "<string>"
},
"request_id": "<string>"
}