设置 stream: true 后,图片数据会随着生成过程实时返回。服务器通过 text/event-stream 格式推送事件。

你会收到的事件

事件触发时机包含内容
success一张图片生成完成urlb64_json,以及元数据
error一张图片生成失败错误码和错误信息
complete全部图片完成最终用量统计
[DONE]流结束(无需继续读取)

示例

event: success
data: {"created":1719000000,"index":0,"url":"https://..."}

event: complete
data: {"created":1719000000,"usage":{"images":1,"total_tokens":4096}}

data: [DONE]

流式中的错误

单张图片失败时会收到 event: error,产生该图片失败,其他图片的流会继续。

如果所有路由都失败了,会收到一条直接报错然后结束:

data: {"error":{"message":"Failed to generate image (500): ...","type":"upstream_error"}}

data: [DONE]

简单分辨:event: error = 某张图失败了(其他可能成功)。裸 data: {"error":...} 开头没有 event: = 全部失败了。

取消流

  • curl:按 Ctrl+C
  • HTTP 客户端:设置请求超时即可
  • SDK:直接用 rb.image(...).stream(),SDK 会自动处理解析

下一步

异步任务 · 各供应商流式示例见分类目录