Amux

Create task

最近更新:2026年9月6日

用 alibaba/wan3.0-video 提交异步任务,走站内统一入口。请求体平铺。

/v1/tasks 提交 alibaba/wan3.0-video 的生成任务:立即返回 id,视频在后台生成。

该模型是同代中的标准档,与另一档收取的参数逐字段相同, 两者的取舍见协议级文档

POSThttps://gateway.amux.ai/v1/tasks

鉴权

header
Authorizationstring必填

Bearer <你的 Amux 密钥> 站内 API Key。

请求

application/json
modelstring必填

站内模型 ID。

promptstring

生成内容的描述。支持中英文,上限 20,000 字符,超出部分由上游截断而非报错。可在提示词中用「图1」「视频1」指代 media 中的素材。

mediaarray<object>

输入素材,每一件通过 type 标明用途。只接受公开可访问的 https 地址

阿里云百炼支持的 oss:// 与图片 base64 在此不受理。

单次请求最多 24 件,正常使用不会触及该上限。

mediaarray<object>
type"first_frame" | "last_frame" | "reference_image" | "reference_video" | "reference_audio" | "file" | "link"必填

这件素材的用途。三条组合规则:

1. 首/尾帧与参考素材互斥first_frame / last_frame 不能与 reference_* 同时出现);

2. filelink 二选一

3. first_framelast_frame 各限一件;参考图可以提供多张。

逐类型的上游限制:

角色数量上限格式限制
first_frame / last_frame各 1JPEG/JPG/PNG/BMP/WEBP≤20MB,边长 240–8000px,宽高比 ≤8:1
reference_image10同上同上
reference_video5 段MP4/MOV单段 ≤100MB、1–15 秒,合计 ≤15 秒,≥16fps
reference_audio5 段WAV/MP3合计 ≤15MB,单段 1–15 秒,合计 ≤15 秒
file1DOCX/DOC/XLSX/XLS/PPTX/PPT/PDF/TXT/KEY/PAGES/NUMBERS/MD≤100MB、≤50 页
link1公开网页不能要求登录

上表中的数量限制由上游校验,本站不重复校验;本站仅设置 24 件的总量上限。

urlstring必填

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

resolution"480P" | "720P" | "1080P"默认 "1080P"

输出分辨率档位。该字段是计价维度,单价按所选档位的每秒价计算。

aspect_ratio"adaptive" | "16:9" | "4:3" | "1:1" | "3:4" | "9:16"默认 "adaptive"

画面比例。adaptive 表示随输入素材自适应。

本端点上该参数名为 aspect_ratio,百炼原生端点上名为 ratio,两者含义相同。

durationinteger默认 5

出片秒数。无视频输入时取 2–30;提供参考视频时,输入总时长与输出时长之和

不超过 30。

-1 表示智能时长,由模型决定输出长度。此时预扣按 30 秒的上界冻结

因为实际时长在提交时无法预知;任务完成后按实际出片秒数结算并退还差额。

audioboolean默认 true

输出是否带声音。不影响价格。 输出帧率固定为 30fps,不可配置。

seedinteger

随机种子,用于复现结果。取 -1 或 0–2147483647。未提供时随机生成。

prompt_extendboolean默认 true

是否让模型在生成前先对提示词进行改写扩写。

watermarkboolean默认 false

是否在输出视频上添加水印。

webhook_urlstring

任务到达终态时向该地址 POST 一份结果。仅接受 https,且不能指向私有网段。

地址在提交时即完成校验,写错会立即返回错误,而不是等到任务完成后才发现

回调无法送达。

载荷形状与验签方式见创建任务

响应

200response

任务已受理,预扣已经扣住。拿 id 去取结果。

400response

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

402response

可用余额不足以覆盖预扣上界。duration-1 时按 30 秒冻结,指定具体时长可减少冻结额度。

503response

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

与百炼原生端点的差异

差异仅有两处,其余环节(路由、定价、预扣、幂等、限流、任务记录)完全一致:

百炼原生端点本端点
请求体嵌套(input.prompt / parameters.duration平铺prompt / duration
画面比例ratioaspect_ratio

第二行需要特别注意:同一参数在两条端点上使用不同名称。向本端点提交 ratio 不会报错,但不会生效——请求 16:9 时实际得到的是随素材自适应的比例。

本端点与厂商无关:接入其他视频上游时,使用本端点的代码无需修改; 百炼原生端点按定义仅适用于百炼的模型。

输入素材

media 数组中的每一件素材都带有 type 字段标明其用途。逐个角色的数量上限、 格式与体积限制见上方参数面板的 media[].type,该表由接口规范生成。

三条组合规则,违反时返回 400:

  1. 首/尾帧与参考素材互斥first_frame / last_frame 不能与任何 reference_* 同时出现;
  2. filelink 二选一
  3. first_framelast_frame 各限一件;参考图可以提供多张。

其余组合一律转发给模型判断,本站不额外限制。

素材地址只接受公开可访问的 https URL。 阿里云百炼支持的 oss:// 地址与 图片 base64 在本站两条端点上均不受理,非 https 地址与指向私有网段的地址 返回 400。

单次请求的素材件数上限为 24 件,正常使用不会触及;逐类型的数量限制由上游校验。

三个需要注意的参数

prompt 并非必填。 必填条件是「promptmedia 至少提供一个」, 首帧图生成视频可以不带提示词。提示词支持中英文,超过 20,000 字符的部分 由上游自动截断,不会报错。

duration 的合法取值是 2–30 或 -1,不含 0 与 1。

audio 不影响价格。 输出帧率固定为 30fps,不可配置。

计费

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

提交时按上界预扣,任务完成后按实际用量结算并退还差额。

duration-1(智能时长)时按 30 秒的上界预扣。 实际时长由模型决定, 提交时无法预知,因此预扣必须覆盖最长的可能结果。需要注意其副作用:余额仅够 10 秒 1080P 的账户提交 -1 会收到 402,尽管该次调用的实际费用可能在余额之内。 如需减少冻结额度,请指定具体时长。

失败与超时不计费,预扣已释放。逐档单价见模型目录中该模型的详情页。

回调、幂等键与 Prefer: wait

三者的行为与图像任务完全一致,说明见创建任务: 回调载荷形状、Amux-Signature 的验签方式与重试节奏、幂等键的作用域。

需要特别说明的一点:webhook_url 在提交时即完成校验,地址写错会立即返回 错误,而不是等到任务完成后才发现回调无法送达。视频任务耗时较长, 后者意味着等待落空或需要重新提交并再次计费。

错误

type 取值与重试语义见错误与重试

cURL
curl https://gateway.amux.ai/v1/tasks \
  -H "Authorization: Bearer $AMUX_API_KEY" \
  -d '{
    "model": "alibaba/wan3.0-video",
    "prompt": "A ginger cat running through fresh snow, slow motion",
    "resolution": "1080P",
    "duration": 5
  }'
{
  "id": "task_01M1CG35C16CJ790D00BV1RBVM",
  "status": "queued",
  "model": "alibaba/wan3.0-video",
  "created_at": "<string>",
  "output": {
    "images": [
      {}
    ],
    "videos": [
      {
        "index": 0,
        "url": "<string>"
      }
    ]
  },
  "usage": {
    "input_tokens": 0,
    "output_tokens": 0,
    "total_tokens": 0,
    "output_video_seconds": 0
  },
  "cost": "0.825125",
  "error": {
    "message": "<string>",
    "code": "<string>"
  }
}