跳转至

图片生成的维护记录:CodeProxy 的 gpt-image-2.5

这是生成、编辑图片背后的维护记录。用接口时不用看,接口出问题或者要换模型时再看。

接口从哪来

CodeProxy(codeproxy.dev)是转售 OpenAI 模型的第三方中转,从国内直连会超时,所以挂在海外机上。文档是用户从 CodeProxy 后台贴过来的,用到的是这几点:

  • 生成 POST /v1/images/generations,编辑 POST /v1/images/edits,都用 JSON 提交。编辑的原图放在 images 数组的 image_url 里,分辨率字段写 image_resolution。
  • gpt-image-2、gpt-image-2-2k、gpt-image-2-4k 只认 openai-default 分组下的 key,所以中转机上配的 key 要在这个分组里建。文档没提 gpt-image-2.5 认哪个分组,现在这把 key 调得通。
  • 文档提到还有异步接口,适合耗时更长、需要追踪任务的场景,但没给细节。模型列表里有 gpt-image-2-async。

实测

2026-10-02 经海外中转实测,前四行是用 gpt-image-2 时测的,带「2.5」的三行是同一天换成 gpt-image-2.5 之后补测的:

请求 结果
key 还没配到中转机上时 token 通过后,网关自己返回 503:CodeProxy API key is not configured.
GET /v1/models 200,12 个模型
生成,size: "1:1" 200,33 秒,得到 1254×1254 的 PNG,1.75 MB
编辑,原图是 512 px PNG 的 data URI,size: "1024:1024"、image_resolution: "1k" 200,41 秒,得到 1254×1254 的 PNG,只改了要求改的地方
2.5 生成,size: "1:1",白底马克笔草图带英文手写字 200,31 秒,1254×1254,1.48 MB,画风和文字都对
2.5 编辑,参数跟第四行一样,原图是上一行的结果缩到 512 px,要求给猫戴巫师帽 200,46 秒,1254×1254,只加了帽子,其余几乎原样
2.5 生成,size: "16:9",画面里要四个中文手写字 200,41 秒,1672×940,中文字写对了
2026-10-17,2.5 生成,size: "1:1",curl 200,98 秒
2026-10-17,2.5 编辑,原图 966×1024 JPEG 的 data URI,size: "1:1",Python urllib 发两次 两次都是 62 秒左右 499,返回体为空;换 User-Agent 也一样
同一个请求,curl 默认 HTTP/2 200,121 秒
同一个请求,curl --http1.1 499,62 秒
2026-10-17,2.5 编辑,size: "2:3",curl HTTP/2,旧刊物海报的四段 prompt 200,204 秒,1024×1536,2.99 MB
2026-10-17,2.5 编辑,size: "1:1",curl HTTP/2,两张人像并发转彩色手绘 都是 200,155 秒和 162 秒,1254×1254
2026-10-20,2.5,size: "3:2",梨园配图,留下的 28 份返回(23 次生成、5 次编辑) 都是 200;url 和 b64_json 各 14 份,生成、编辑两种都出过
2026-10-20,2.5 生成,收纳东方仙侠视觉导演时测画幅:21:9、4:3、4:5、9:16 四个并发,curl HTTP/2,超时 400 秒 两个约 32 秒回 429 Concurrency limit exceeded for user;另两个(4:3、9:16)到 400 秒一个字节都没收到
同一天,两两并发重发,超时 600 秒 4:3 200,132 秒,1448×1086;4:5 200,36 秒,1122×1402;21:9、9:16 同一时刻回 502 connection reset by peer(147 秒)
同一天,21:9、9:16 逐个单发 9:16 260 秒回 502;21:9 200,438 秒,1916×821
同一天,9:16 和 16:9 并发 9:16 200,102 秒,940×1672;16:9 200,77 秒,1672×941
  • 10-02 和 10-17 测的返回里只有 b64_json 和 revised_prompt,没有 url;2.5 的请求参数和返回格式跟 2 相同,换模型只改 model 字段。2026-10-20 起一半的请求改成返回 url(pub-…r2.dev 上的链接)加 revised_prompt,同样的参数哪种都可能出,看不出规律。
  • size 不管写 1:1 还是 1024:1024,出来的都是 1254×1254。2026-10-17 再测 1:1 编辑,出来是 1254×1254;2:3 出 1024×1536。
  • 2026-10-17 比 10-02 慢了两三倍。HTTP/1.1 在 62 秒被掐,HTTP/2 不会:是中转机的 Caddy 还是 CodeProxy 的 nginx 在掐,没查,海外机现在登不上。
  • PNG 里带 C2PA 内容凭证。
  • 模型列表:图片模型有 gpt-image-2、gpt-image-2-2k、gpt-image-2-4k、gpt-image-2-async、gpt-image-2.5;文本模型有 gpt-5.4、gpt-5.5、gpt-5.6-sol、gpt-5.6-terra、gpt-6-astra、gpt-6-sol、gpt-6.1-sol。

没做的

  • 异步接口没接,也没测。
  • -2k、-4k 没测;2.5 没有对应的 2k、4k 版本。
  • 2.5 和 2 没拿同一个 prompt 对比过。
  • 编辑时用 URL 传原图没测,只测了 data URI。
  • 文本模型没试,价格没查。
  • 海外机重装之后,本机的 SSH 公钥没装回去,所以中转配置没看到,也没同步进 assets/gateway/。