
上游的 codex/images/edits 忽略 stream、只回一整份 JSON,sub2api 与 CLIProxyAPI 都把已生成好的图当截断丢弃,两边补丁至今都没合;本期给出可核对的症状、源码位置与今天的止血顺序。
gpt-image-2:HTTP/2 200、content-type: application/json、content-length 3718068。stream: true 被上游忽略了。2data:,上游给的是一整个对象。finish() 里:没见到 SSE 数据、或者一张图都没数到,就按截断处理。3Upstream response stream ended before completion。4
ErrOpenAIUpstreamStreamTruncated。(sub2api v0.2.18 openai_images.go)finalizeFallbackBody 在 direct 请求上直接 return。缓冲从没被当成结果用过。5executeDirectOpenAIImageStream 拿到 2xx 之后直接按字节转发,响应头也原样克隆。6text/event-stream,并起一个 keep-alive 定时器。7

text/event-stream;第 78–84 行是配套的心跳定时器。两者叠加,正好造出「像在流、其实没数据」。(CLIProxyAPI v8.0.40 openai_images_handlers.go)mergeable clean,到今天 11 天没合。8dev,自动评审刚开跑。1image_edit.completed 或 image_generation.completed。codexIsJSONContentType 在 v8.0.40 的 dev 与 main 上都是 0 命中。sub2api 的两个新函数 isCodexDirectImagesJSONResponse 与 handleCodexDirectImagesJSONAsStream,在 main 与 v0.2.18 里也都搜不到。
Content-Length。第 472–475 行在转换失败时直接返回 502。(PR #6922 分支 codex_openai_images.go)/v1beta/models 补 inputTokenLimit 与 outputTokenLimit。910thoughtSignature 丢了,下一轮上游没有签名,模型就重复同一段。11/v1/responses 与 /v1/messages 都正常,走 /v1/chat/completions 带 web_search 回 422、带 web_search_options 回 410。12tools[0].type: unknown variant web_search。这是 xAI 聊天入口的字段支持问题,不是你的分组配置错。Selected model is at capacity。发帖人是 Plus 用户,连续三天在 Web 与桌面端都撞上,换到 6.1 sol ultra 依旧。15Upstream response stream ended before completion,或者拿到 200 的空事件流。stream=true 调改图。不开流这条路是通的,两张单的对照表都验证过。github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
community.openai.com
discuss.ai.google.dev
discuss.ai.google.dev
status.openai.com
status.anthropic.com
status.cloud.google.com
codex-reset.com
opentherank.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.