Amux

Create video

最近更新:2026年9月6日

通过阿里云百炼原生形状提交视频任务。DashScope 客户端改一个 base_url 就能用。

这个端点兼容阿里云百炼(DashScope)的视频合成接口。已有 DashScope 代码时, 将 base_url 指向本站即可,请求体与响应形状与客户端现有的一致。

POSThttps://gateway.amux.ai/api/v1/services/aigc/video-generation/video-synthesis

鉴权

header
Authorizationstring必填

Bearer <你的 Amux 密钥> 控制台创建的 Amux 密钥。忘了可以回控制台的密钥页再看一次。

请求

application/json
modelstring必填

站内模型 ID。这条端点上今天有四个:

模型说明
alibaba/wan3.0-video万相 3.0,all-in-one
alibaba/wan3.0-video-prime万相 3.0 加速档
alibaba/happyhorse-1.1HappyHorse 1.1
alibaba/happyhorse-1.0HappyHorse 1.0

HappyHorse 另收三个能力别名-t2v / -i2v / -r2v),

见它的模型页。

inputobject必填

promptmedia 至少提供一个,也可以同时提供。首帧图不带

提示词是一类正当请求,不要为满足字段而提交空字符串。

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 且两者互斥。逐个模型收哪些、各限几件,

见它自己的模型页。

万相的组合规则:首/尾帧与参考素材互斥,filelink

二选一;其余组合转发给模型判断。

urlstring必填

公开可访问的 https 地址。该地址由模型拉取,本站不会访问它。

parametersobject

生成参数,均为可选。未提供的字段沿用该模型自身的默认值,

本站不代为设置。

⚠️ 下面各字段的取值域是这条端点的全集,逐模型收窄——

没有哪个模型认全部。取值超出该模型的范围时返回 400 并给出

可接受的取值,不会被静默替换。精确的取值域见模型页,

GET /v1/modelssupported_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_idGET /v1/tasks/{id}

(或下面那条别名)轮询。

400response

参数不合法,或者是这个模型明确拒绝的素材组合。

402response

可用余额不足以覆盖预扣上界。duration-1 时按 30 秒冻结,

指定具体时长可减少冻结额度。

503response

当前没有可用的供应商能服务这个模型。

支持的模型

这条端点上今天有四个模型,分属两个系列

模型系列专属文档
alibaba/wan3.0-video万相 3.0Wan3.0 Video
alibaba/wan3.0-video-prime万相 3.0Wan3.0 Video Prime
alibaba/happyhorse-1.1HappyHorseHappyHorse 1.1
alibaba/happyhorse-1.0HappyHorseHappyHorse 1.0

⚠️ 上方参数面板是这条端点的全集,没有哪个模型认全部

同一条协议上两个系列的取值域逐项不同。只调用一个模型时,请直接看它的专属 文档——那里的每一项都是它真正收的。

万相 3.0HappyHorse
时长2–30,或 -1(智能时长)3–15,没有 -1
比例adaptive(随素材)没有 adaptive,多出 4:5 5:4 9:21 21:9
audio可开关没有这个参数,恒有声
prompt_extend没有
watermark 默认falsetrue
提示词上限20,000 字符5,000 非中文 / 2,500 中文
指代输入素材「图1」「视频1」[Image 1](带方括号)
素材类型七类(首尾帧 / 参考图·视频·音频 / 文件 / 链接)只有首帧图与参考图,且两者互斥
分辨率三档1.1 三档;1.0 只有 720P / 1080P
输出帧率30fps24fps

传了目标模型没有的参数会被摘掉,并在任务的 result_meta.notes 里说明; 取值超出该模型的范围则返回 400 并给出可接受的取值,不会被静默替换。

精确的取值域也可以从 GET /v1/modelssupported_parameters 读到—— 那一份按模型算,与我们实际放行的完全一致。

系列内的差异

万相两个模型收取的参数逐字段相同,差异只在速度与单价:

wan3.0-videowan3.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}站内统一新接入建议使用,附带 usagecost

百炼形状中没有承载用量与费用的字段,因此这两项只在站内统一端点上提供。

计费

视频不产生 token。计费方式为该分辨率档的每秒单价 × 实际出片秒数, 输入素材不单独计价。

提交时按上界预扣,完成后按实际用量结算并退还差额。duration-1 (智能时长)时上界按 30 秒计算,因为实际时长在提交时无法预知; 余额不足以覆盖该上界时返回 402。如需减少冻结额度,请指定具体时长。

失败与超时不计费,预扣已释放。

与官方接口的三处差异

前两条为本站更严格,第三条为本站更宽松:

  1. 素材地址只接受公开 https。 官方另支持 oss:// 与图片 base64, 本站两条端点均不受理,非 https 地址与指向私有网段的地址返回 400;
  2. task_id 是 Amux 的 ID,上游 ID 不对外暴露;
  3. 产物地址不会在 24 小时后失效。 官方的 video_url 是带签名的临时地址, 本站会先将视频转存至自有存储。该地址同样会被定期清理, 需要长期保存请及时下载。

素材件数不属于上述差异:逐类型的上限(参考图 10 张、参考视频 5 段等) 由上游校验,本站仅设置 24 件的总量上限,正常使用不会触及。

错误

错误体形状与阿里云百炼一致,type 取值与重试语义见错误与重试

cURL
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>"
}