跳转到正文

图片生成配置 ​

xhyapi 提供同步与异步两套生图接口,推荐使用异步接口。

生图经常需要一到三分钟。同步接口(/v1/images/generations、/v1/images/edits)会把连接一直挂到图片生成结束,而链路对单个请求有约 125 秒的等待上限:超时就会断开并返回 524。这时图片可能已经生成、也已经计费,但客户端拿不到结果;把 quality 从 high 降到 medium 也一样会超时。

异步接口提交后立即返回任务号,图片在后台生成,再用任务号轮询取结果,不受这个上限影响。

接口 ​

text
POST   /v1/images/generations/async   文生图
POST   /v1/images/edits/async         图生图、修图
GET    /v1/images/tasks/{task_id}     查询任务
DELETE /v1/images/tasks/{task_id}     删除任务与已生成的结果

请求体与同步接口完全一致(model、prompt、size、quality、n 等)。提交成功后返回 202 和 task_id;任务结果保留 24 小时,单次执行上限 30 分钟。

调用示例 ​

bash
# 1. 提交任务:立即返回 202 与 task_id
curl -sS -X POST https://xhyapi.com/v1/images/generations/async \
  -H "Authorization: Bearer sk-xxx" \
  -H 'Content-Type: application/json' \
  -d '{"model":"gpt-image-2.5-flare","prompt":"一只红苹果放在白桌上","size":"1024x1536","quality":"high"}'

# 2. 每 3 秒轮询一次:processing 表示还在生成;completed 时 result.data[].url 就是图片地址(24 小时内有效)
curl -sS https://xhyapi.com/v1/images/tasks/imgtask_xxxxxxxx \
  -H "Authorization: Bearer sk-xxx"

# 3. 下载图片
curl -sS -o out.png "<result.data[0].url>"

status 为 processing 时继续等待,为 completed 时取图(result.data[].url 是图片地址,image_url 是第一张图的地址,需要保存就在 24 小时内下载),为 failed 时失败原因在 error 字段。

还有几点需要注意:

  • 轮询必须使用提交任务时的同一个 API Key,换成别的 Key 会返回 404。
  • n 大于 1 时按 result.data[] 逐个下载。
  • 任务还在生成时调用 DELETE 会返回 409;已结束的任务删除后,结果一起删除。
  • 同步接口仍然可用,生成较快时不受影响,建议只作为降级路径。

复制给 AI 自动配置 ​

把下面的提示词发送给能够修改项目代码的可信 AI 工具:

展开提示词
text
apikey: <你自己的apikey>
model: gpt-image-2
baseurl: https://xhyapi.com

根据上面的信息,生成对应的生图/修改图片 curl,协议是 OpenAI 生图协议,以及对应的 skills,我以后生图的时候都会调用这个 skills。请优先使用异步任务接口,避免长时间生成被前置 CDN 断开(报 524)。请直接检查和处理,不要只给操作建议。

1. 提交使用 POST https://xhyapi.com/v1/images/generations/async(修图用 /v1/images/edits/async),请求体与同步接口完全一致,会立即返回 202 以及 task_id、poll_url,不需要等待生成完成。
2. 交付物是一段可以直接运行的生图/修图 curl(或脚本)加上一个可复用的 skill;skill 里要写清提交、轮询、下载三步和参数含义(model、prompt、size、quality、n)。
3. 轮询用 GET https://xhyapi.com/v1/images/tasks/{task_id},间隔 3 秒(响应头带 Retry-After: 3)。status 为 processing 时继续等待;为 completed 时从 result.data[].url 下载图片(URL 24 小时内有效,需要落盘就立即下载,n 大于 1 时全部下载);为 failed 时把 error 内容作为失败原因输出。
4. 给轮询设置总时长上限(例如 30 分钟,与接口的执行上限一致),避免无限循环。
5. 轮询必须使用提交该任务的同一个 API Key。不要读取、输出或写入日志任何密钥,API Key 从环境变量或现有配置里读取,不要硬编码。
6. 原有的同步接口可以保留作为降级路径,但默认走异步。
7. 验证方式:真实生成一张图片,跑通「提交 → 轮询 → 下载」全流程即算验证通过,不需要再做其他检查。
8. 完成后告诉我:生成的 curl/脚本与 skill 路径、调用示例、轮询间隔与总时长上限、验证方式与结果。不要在回复中展示任何密钥。

遇到 524 怎么办 ​

生图一直等待、最后报 524 或连接中断,说明这次请求在结果送回之前被断开了:图片可能已经生成、也已经计费,可以在 使用记录 中核对这次调用。改用上面的异步接口即可,不需要改提示词,也不要把画质降下来硬扛。

需要更多帮助?请联系支持团队。