设置 stream: true 后,图片数据会随着生成过程实时返回。服务器通过 text/event-stream 格式推送事件。
你会收到的事件
| 事件 | 触发时机 | 包含内容 |
|---|---|---|
success | 一张图片生成完成 | url 或 b64_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 会自动处理解析
下一步
异步任务 · 各供应商流式示例见分类目录