批量出图 · POST /api/generate-batch
一次提交一批出图任务(最多 32 项),中台逐项走与 /api/generate 完全同一套流程(技能/模板展开、选路、扣费、回调)。适合电商套图、海报批量这些 「一口气 N 张」的场景——客户端不需要自己写循环、自己 pacing、自己处理退避。
填入你的 API Key本站所有示例里的
$MUSEAV_API_KEY 会就地换成它只存在你自己浏览器的 localStorage 里,不会发给任何人——本站是纯静态页面,没有后端可发。 共用电脑上看完记得点「清除」。
用法
bash
curl -X POST https://manager.museav.top/api/generate-batch \
-H "X-API-Key: $MUSEAV_API_KEY" -H "Content-Type: application/json" \
-d '{
"defaults": { "skill_slug": "ecom-white-backdrop", "ratio": "3:4" },
"items": [
{ "input": "米白色针织衫" },
{ "input": "浅灰色卫衣", "ratio": "1:1" }
]
}'items:数组,每项与POST /api/generate的请求体同构(prompt/skill_slug/template_id三选一,参考图、回调等参数都一样传)。上限 32 项,更大的批量分批提交。defaults:可选。所有项的公共字段(如同一技能、同一回调地址),项里的字段覆盖它。
返回
json
{
"ok": true,
"accepted": 2,
"submitted": 2,
"results": [
{ "ok": true, "jobId": "…", "status": "pending" },
{ "ok": true, "jobId": "…", "status": "pending" }
]
}results 与 items 等长、按序对应。每项可能是:
| 形状 | 含义 |
|---|---|
{ ok: true, jobId, trace_id, status } | 已受理,与单张 /api/generate 的返回一致 |
{ ok: false, status, error } | 这一项自己的问题(参数错、技能不存在等),不影响其他项 |
{ ok: false, skipped: true, reason, retry_after_sec? } | 因为前面的项触发了账户级故障,这一项没有提交 |
撞限流时的行为
出图限流(120 次/小时)对批量同样生效,逐项计数。撞上 429 时:
- 后面的项不再提交(
skipped: true),不是刷一堆一样的 429; - 顶层带
retry_after_sec+Retry-After头——睡够这个秒数后, 只把 skipped 的那部分重新提交即可,已受理的任务不用重发; - 如果一项都没受理就撞了限流,整笔响应就是 429,通用的重试逻辑直接可用。
积分不足(403)同理:停止后续提交,reason 写明原因——同一个付费主体, 剩下的项必然同样失败。
结果获取
与单张完全一致:callback_url 回调(推荐)+ GET /api/jobs 轮询兜底。 批量只是提交口的合并,任务本身还是独立的 job,逐张回调、逐张可重试。
相关
- 出图
/api/generate—— 单张接口,参数说明都在那页 - 查任务
/api/jobs