异步生图支持公告
GPT88 图片 API 增加异步生图接入说明:提交任务、保存 task_id、轮询状态并获取最终图片,不必让原始 HTTP 请求一直等待。
发布时间
发布时间:2026 年 8 月 5 日。本文说明稳定的客户端工作流;动态的模型限制、价格、额度和具体响应字段仍以实时 API 返回为准。
这次支持什么
图片生成可以作为后台任务接入。你的服务端不需要一直保持原始 HTTP 请求直到图片生成完成,而是先记录任务 ID, 后续再查询任务状态并处理结果。
| 以前的处理方式 | 异步处理方式 | 带来的好处 |
|---|---|---|
| 一条请求一直等待图片返回 | 任务接受后立即结束提交请求 | 降低网关、代理和 Serverless 超时压力。 |
| 把每个响应都当成最终图片 | 区分 accepted、processing、succeeded、failed 等状态 | 避免把任务对象误当成图片数据。 |
| 请求超时就重新生成 | 已有 task_id 时继续轮询 | 减少重复生成和意外增加用量。 |
| 提交响应一回来就下载 | 任务到达终态后再处理图片 | 把任务编排和文件处理拆开,代码更容易恢复。 |
接口入口
async-image-endpointstext
异步生图入口
提交任务:POST https://img.gpt88.cc/v1/images/generations
查询任务:GET https://img.gpt88.cc/v1/images/generations/{task_id}
最终结果:data[0].url 或 data[0].b64_json,具体以实际响应为准POSThttps://img.gpt88.cc/v1/images/generations
GEThttps://img.gpt88.cc/v1/images/generations/{task_id}
提交任务仍然使用图片生成接口。异步开关和任务响应的外层 JSON 结构可能随模型或灰度版本变化,下面的详细教程会采用 兼容式解析,不把某一个上游字段结构硬编码成唯一答案。
什么时候使用异步
| 场景 | 建议 | 取舍 |
|---|---|---|
| 单张小尺寸预览、交互式页面 | 先使用同步生图 | 代码简单,但前端要承受更长的请求等待。 |
| 高分辨率封面、海报、主视觉 | 优先异步生图 | 需要维护任务状态,但抗超时能力更好。 |
| 批量图片任务 | 异步 + 持久化任务表 | 要额外管理并发、重试、结果保存和失败恢复。 |
| 大参考图上传、图生图编辑 | 客户端超时较短时优先异步 | 任务可能已接受,但最终图片还没有生成好。 |
| Worker 队列或定时工作流 | 把异步作为默认边界 | 会增加轮询请求,需要明确停止条件。 |
响应字段与兼容处理
稳定的概念是“任务生命周期”,而不是某一个供应商的固定 JSON。客户端应兼容从 task_id 或id 读取任务 ID,从顶层或嵌套 data 读取状态,并在结果对象里查找最终 URL 或 base64 图片。
lifecycle-shapes.jsonjson
// 下面是兼容式示例,实际字段请以当前模型返回为准。
{ "task_id": "imgtask_123", "status": "queued" }
{ "data": { "task_id": "imgtask_123", "status": "processing", "progress": 42 } }
{ "data": { "task_id": "imgtask_123", "status": "succeeded", "result_url": "https://.../image.png" } }
{ "data": { "task_id": "imgtask_123", "status": "failed", "error": { "message": "..." } }}迁移清单
- 保留现有同步请求,把它作为小尺寸预览路径。
- 增加异步提交路径,并持久化
task_id、模型、prompt 哈希和提交时间。 - 实现有最大间隔和最大时长限制的轮询逻辑。
- 分别处理成功、失败、取消、超时、HTTP 错误和异常 JSON。
- 出现结果 URL 后尽快下载或转存;不要把临时 URL 当作永久存储。
- 在提高并发或批量规模前,到控制台核对真实用量。