异步图像任务
异步接口适合可能排队或处理时间较长的图像生成、编辑工作流。它接受与同步图像接口相同的非流式负载,但会先返回任务,再由客户端轮询最终结果。
IMPORTANT
这项能力依赖服务端异步图像任务存储。未启用对象存储或管理员关闭功能时,提交接口会返回 404,这是预期的不可用状态,不应通过自动重试绕过。
提交任务
先从 GET /v1/models 选择一个当前 Key 可见的图像模型,再提交最小请求:
bash
curl 'https://ai.tavonilo.com/v1/images/generations/async' \
-H "Authorization: Bearer $AI_SHOP_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "<IMAGE_MODEL_ID>",
"prompt": "A minimal product illustration"
}'图像编辑使用 POST /v1/images/edits/async,并沿用编辑接口的 JSON 或 multipart 负载。异步任务不接受 stream: true。
成功提交会返回 202 Accepted,响应中包含 task_id、poll_url、status、created_at、expires_at,并可能带有 Retry-After。保存 poll_url 或 task_id,但不要把 API Key 或完整私有提示词写入任务日志。
轮询结果
使用同一个 API Key 请求返回的 poll_url,或请求:
bash
curl 'https://ai.tavonilo.com/v1/images/tasks/<TASK_ID>' \
-H "Authorization: Bearer $AI_SHOP_API_KEY"任务状态为 processing、completed 或 failed。处理中的响应可能带 Retry-After: 3;应采用该值或退避轮询,不能以高频轮询替代队列。完成响应可以包含图像 URL 或原始结果;失败响应包含脱敏的上游错误信息。
任务只对创建它的用户和 API Key 可见。更换 Key、共享任务 ID 或将任务 URL 发给不相关人员都不会转移访问权。
恢复与计费边界
400:图像模型、尺寸、文件格式或可选字段不兼容;退回到单张、默认尺寸的最小请求。403:当前分组没有图像能力或目标模型不可见;先重新请求模型列表。404:检查路径;若提交接口显示异步任务未启用,应改用同步图像接口或等待管理员启用存储。429:降低并发,保留用户任务的业务幂等标识,不要并发重复提交。5xx或网络中断:提交可能已被接受。先检查已保存的task_id、poll_url和业务记录,再决定是否需要再次提交。
异步任务不会使图像请求天然可安全重放。每个用户动作都应在你的业务系统中有自己的幂等标识、状态和结果记录。