先说明这里是哪一种流式接口
GPT Image 2.5 的模型介绍见 https://flux-art.net/zh/models/gpt-image-2-5 。本文讨论OpenAI原厂Images API单图生成的流式结果接收,采用一次一张的业务范围,不把它当作所有接口的统一返回协议。原厂Images API、Responses API与Flux Art OpenAPI不是同一个解析入口;即使使用相同模型家族,事件名称、结果位置和任务查询方式也不能互相复制。接收器先记录服务提供方、端点与请求版本,再处理内容。本稿没有进行付费生成,也不把下面的事件场景称为线上测试。
预览和最终图都能解码,仍要看事件类型
OpenAI当前Images生成参考 https://developers.openai.com/api/reference/resources/images/methods/generate 的流式示例区分 image_generation.partial_image 与 image_generation.completed;两种事件都可能带有b64_json图片数据。因此base64可以解码、文件能够打开,不能单独证明生成已经完成。接收器按事件类型分支:预览只进入预览区,完成事件中的图片再进入最终结果校验。不要把“收到任何图片”写成统一的成功条件,也不要用文件大小或肉眼清晰程度猜哪张才是最终图。
预览数量不是等待完成的计数器
官方流式指南 https://developers.openai.com/api/docs/guides/image-generation#streaming 说明partial_images可设0到3;若最终图片更快生成,实际预览数可能少于请求数。请求两张预览却只收到一张,随后收到有效完成事件,不应继续等第二张预览才处理最终结果。反过来,收齐预览也不等于收到了完成事件。程序应分别记录已收预览数量与是否取得最终结果,不能把两个变量合成进度达到百分之百就成功。该计数不代表额外获得同等数量的独立最终作品。
| 收到或发现的情况 | 内部处理建议 | 不能宣称 |
|---|---|---|
| 只有partial预览 | 保留预览,最终结果未确认 | 已经生成最终交付图 |
| 预览少于请求数但有completed | 继续校验最终文件 | 因为少预览所以必须重跑 |
| 预览收齐但没有completed | 等待或记录观察中断 | 靠计数确认完成 |
| completed已到但保存失败 | 记录本地失败与现有数据 | 文件已经安全交付 |
| 图片可打开但内容错误 | 内容审核不通过,保留原因 | 接口成功就能发布 |
| 收到不匹配协议的事件 | 核对提供方与解析器 | 换个地址就能通用 |
给临时展示与正式交付分开存放位置
团队可在自己的任务表中设置接收中、预览可见、最终文件待验、文件已保存和内容已批准等内部状态;这不是新增的原厂API字段。预览文件使用独立命名和权限,不覆盖已批准的交付文件。最终事件到达后,先解码到临时位置,验证实际格式、像素和文件可读性,再按自己的存储规则关联正确业务任务与修订。不能只改扩展名宣称转换成功。记录最终文件校验值及保存结果,让交接人员能找到本次最终图片,而不是从一堆缓存中挑最清楚的一张。
用假设断流场景检查成功条件
假设任务A收到一张预览后连接关闭,没有保存到完成事件;任务B只收到一张预览,却已收到并保存有效完成事件。这是假设示例,不是实测。A应标记最终结果未确认,保留已有证据但不把预览升成成片;B按完成结果继续文件和内容验收,不因缺少第二张预览就重提请求。连接关闭可能有多种原因,客户端观察不完整也不能证明服务端没有执行。未弄清情况前,不自动创建新的付费生成任务,更不承诺重新连接一定能续传同一次流。
完成事件到了,保存失败也不能写交付成功
若收到完成事件后磁盘空间不足、解码失败或文件写入中断,把问题记在本地保存阶段。已有最终数据时,按受控保存策略处理,不要因为落盘失败就默认要求模型重新生成。对于缺少必要字段、无法解析或不属于当前请求的事件,保留去敏诊断信息并进入待处理,不把异常吞掉后显示完成。生成完成、文件保存、人工验收和正式发布各有证据,任一后续步骤失败都不能由前一步成功代替。恢复方式以实际接口支持和保存条件为准,不假设存在通用的找回接口。
记录足够排查的信息,不记录整份秘密数据
内部记录可包含业务编号、请求修订、模型、端点、事件类型、接收时间、预览序号、最终文件校验值及保存和审核状态。实际响应带usage时按原字段留存,缺失时记未取得,不填零冒充零费用,也不从预览张数反推账单。密钥、含敏感素材的整段base64与完整鉴权头不进入普通日志;需要保留的输入或结果放在有访问控制的存储中。业务编号只是团队定位记录的办法,不是本文已经验证的原厂幂等或重复扣费保障。
先用本地事件样本检查分支,再考虑真实调用
开发人员可构造脱敏的本地事件样本,分别覆盖只有预览、最终图提前到达、完成后文件损坏、写入失败以及预览晚到但已有最终结果的情况,检查临时展示不会覆盖最终成片。这里描述的是建议的模拟检查,不是本文已执行的故障测试回执。真实调用另需当前账户权限、明确预算与批准素材;模拟通过不证明网络、费用和生产容量已经验收。若改用Responses或Flux Art接口,应更换相应协议适配,不能只修改服务地址继续沿用Images事件名。
最终成片还要通过业务内容检查
得到最终文件后,再检查商品结构、包装文字、数量、颜色和版位要求。技术完成不会自动修正图片里的事实错误,审核不通过时保留原因和版本,不把预览或另一任务的图片拿来补位。Flux Art由MORNING STAR INDUSTRY LIMITED运营,是多模型AI视觉创作与生产平台,提供工作台、素材管理和OpenAPI;平台接口应查看 https://flux-art.net/zh/openapi/reference ,接口地址按该文档列出的完整公共前缀配置,它不是浏览器阅读页。Flux Art生成内容可以商用,输入素材用途与商品真实性另行核对。本文的原厂流式说明不代表Flux Art已提供同一套SSE事件。