生成、编辑图片
用 CodeProxy 转售的 gpt-image-2.5,走中转的海外机。照 CodeProxy 文档调,只改两处:
- base URL:
https://codeproxy.dev换成https://codeproxy.reverse-pro.xyz - API key:用
.env里的MY_API_KEY,写成Authorization: Bearer $MY_API_KEY,别打印出来
# 生成
curl -sS https://codeproxy.reverse-pro.xyz/v1/images/generations \
-H "Authorization: Bearer $MY_API_KEY" -H "Content-Type: application/json" \
-d '{"model": "gpt-image-2.5", "prompt": "<描述>", "n": 1, "size": "1:1"}'
# 编辑:原图放在 images[].image_url 里
curl -sS https://codeproxy.reverse-pro.xyz/v1/images/edits \
-H "Authorization: Bearer $MY_API_KEY" -H "Content-Type: application/json" \
-d '{"model": "gpt-image-2.5", "prompt": "<怎么改>", "images": [{"image_url": "<URL 或 data URI>"}],
"image_resolution": "1k", "size": "1024:1024"}'
- 跟 OpenAI 官方不一样的地方:编辑也用 JSON 提交,不是 multipart 上传,所以别用 OpenAI SDK 的
images.edit。size写成比例,比如"1:1"、"16:9",不是1024x1024 - 结果:同步返回,
data[0]里二者有其一:b64_json是 PNG 的 base64,解码后存成文件;url是图片链接,再下载一次。同一个请求哪种都可能出,两种都要接。快的三四十秒,慢的七分多钟(21:9 生成 438 秒),超时设 600 秒 - 同时最多两个请求:第三个约 30 秒后回 429
Concurrency limit exceeded;偶尔整个超时或回 502connection reset by peer,原样重发就好 - 用 HTTP/2 发:走 HTTP/1.1 的请求(Python 的 urllib、
curl --http1.1)到 62 秒就被中转回 499,返回体是空的;curl 默认走 HTTP/2,同一个请求照常返回 size写比例:"2:3"出 1024×1536,"9:16"出 940×1672,"21:9"出 1916×821;16:9、3:2、4:3、4:5 也实测过- 本地图片:写成
data:image/png;base64,…,放进image_url - 更高分辨率:2.5 没有 2k、4k 版本,要的话只能退回旧版
gpt-image-2-2k或gpt-image-2-4k
维护记录:接口从哪来、实测结果。正常使用不用看,出问题再看。