Create task
最近更新:2026年9月2日
把 google/gemini-3.1-flash-lite-image 的出图提交为异步任务,立刻拿到任务 id。
把 google/gemini-3.1-flash-lite-image 的出图放进队列,提交后立刻返回任务 id,不必占着连接等结果。
适合批量生成,以及客户端可能中途断开的场景。
这条端点不分生成和编辑 —— 不带参考图就是生成,带了就是编辑。 Gemini 那侧本来就是同一条端点,所以参数也是同一套。
https://gateway.amux.ai/v1/tasks鉴权
headerAuthorizationstring必填Bearer <你的 Amux 密钥>
请求
multipart/form-datamodelstring必填站内模型 ID。
promptstring必填想要什么。带了参考图时它描述的是「想怎么改」。
imagearray<string>aspect_ratio"1:1" | "1:4" | "1:8" | "2:3" | "3:2" | "3:4" | "4:1" | "4:3" | "4:5" | "5:4" | "8:1" | "9:16" | "16:9" | "21:9"画面比例。超出这个模型接受的取值会被丢弃并记入 amux.notes,上游随即使用自己的默认值,而不是拒绝整个请求。
image_size"1K"分辨率档位。超出范围时的处理同 aspect_ratio。
sizestringOpenAI 风格的像素串,给从 OpenAI 迁过来的调用方用。会折算成比例与档位,折算范围收窄到这个模型接受的取值,有损时记入 amux.notes。同时给了 aspect_ratio 或 image_size 时以后者为准,size 被忽略。
webhook_urlstring任务到终态时往这里 POST 一份结果,形状与 POST /v1/tasks 那条的回调完全一致
({event, sent_at, task} 信封 + Amux-Signature 签名 + 退避重试)。
⚠️ 这个字段是本站加的,官方没有。 百炼的异步任务确实有回调,但它是在
阿里云控制台用 EventBridge 配事件规则——请求里传不了地址。不加的话,
走这条端点的调用方只能轮询,而同一个任务走站内统一入口就能收到推送。
只收 https,且不能指向内网——我们是从服务端发过去的。地址在提交这一刻
就校验,写错了当场报错,而不是等任务跑完才发现回调从来没来。
响应
202response任务已受理,并且预扣已经扣住。拿 id 去取结果。
400response请求不合法。也包括流式相关字段——这条端点是异步的,而这个模型本身也不支持流式。
402response可用余额不足以覆盖预扣上界。
503response在途任务已满,稍后重试(响应带 Retry-After)。
提交与取回
提交返回 202 与一个 queued 状态的任务;随后用
取回接口按 id 轮询,直到状态变为终态。
succeeded 时 output.images[].url 是可直接访问的地址。
存储产物会被清理,需要长期保存请尽快下载。
想同步拿结果时,可以在提交时带上 Prefer: wait=60:任务在该秒数内完成就直接返回终态,
否则仍按异步处理。
参数
出图参数与同步调用一致,
取值范围也相同——比例 14 种、分辨率 1K。
Tasks 是站内统一入口,请求体用的是我们自己的字段名(aspect_ratio / image_size),
而不是 Gemini 原生的驼峰写法。
计费
与同步调用完全相同,按 token 计价。任务失败或过期不收费,提交时的预扣会退回。
错误
错误体为站内统一形状,取值与重试语义见错误与重试。
curl https://gateway.amux.ai/v1/tasks \
-H "Authorization: Bearer $AMUX_API_KEY" \
-F "model=google/gemini-3.1-flash-lite-image" \
-F "prompt=<string>" \
-F "image=@/path/to/image.png" \
-F "aspect_ratio=1:1" \
-F "image_size=1K" \
-F "size=1024x1024" \
-F "webhook_url=<string>"{
"id": "task_01M1CG35C16CJ790D00BV1RBVM",
"status": "queued",
"model": "<string>",
"created_at": "<string>",
"output": {
"images": [
{
"index": 0,
"url": "<string>"
}
]
},
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"total_tokens": 0
},
"cost": "0.0336",
"error": {
"message": "<string>",
"code": "<string>"
}
}