用第三方API中转让Codex App调image-2模型生图测试成功

Gpt-5.5确实强,跟Codex App配起来很顺手。
环境是Windows + Codex-App + 【第三方API中转】。

之前用别的公益站gpt-5.4,跑/imagegen命令生不了图,会卡住。早上看到个第三方公益站同时提供了gpt-5.5和gpt-image-2模型,就想着试试codex-app能不能调用这个image-2来生图。

过程:
一、在~\config.toml里设好第三方API中转站的base_url、api_key和gpt-5.5模型。
二、先让它详细解析了一下/image gen这个skill的内容,看到下面这些:

二、两个顶层模式
这技能就两个顶层模式。
第一个是默认的内置工具模式,叫image_gen。这是首选,用来普通生图、编辑图片、简单透明背景需求。它不需要OPENAI_API_KEY
第二个是fallback CLI模式,也就是scripts/image_gen.py。只有在用户明确说要CLI/API/model路径,或者透明背景任务确实需要gpt-image-1.5原生透明输出并且用户确认了,才用这个。这个路径需要OPENAI_API_KEY
重点限制是:不能因为想控制尺寸、质量、路径,就随便切到CLI。普通任务默认都走内置image_gen。

三、CLI不是默认兜底
CLI有三个子命令:

  • generate
  • edit
  • generate-batch
    但技能反复强调:CLI是fallback,不是常规路径。
    只有这些情况适合CLI:
  • 用户明确说要用CLI
  • 用户明确要API/model参数
  • 用户明确请求scripts/image_gen.py
  • 用户明确请求gpt-image-1.5
  • 透明背景需求无法通过chroma-key干净处理,并且用户确认使用CLI原生透明
    不能这样做:
  • 内置工具能做,偷偷切CLI
  • 为了控制输出路径而切CLI
  • 为了batch这个词就切CLI
  • 内置失败后直接跑CLI
  • 偷偷从gpt-image-2降到gpt-image-1.5

七、保存路径规则
内置image_gen默认会把图片存到$CODEX_HOME/*,通常是$CODEX_HOME/generated_images/…。
但技能有明确的保存策略:

  1. 如果用户指定了目标路径,就生成后移动/复制到那里
  2. 如果图片是当前项目要用的资产,必须移动/复制到workspace内
  3. 如果只是预览或头脑风暴,可以留在默认位置,并在对话里inline展示
  4. 项目引用的图片绝不能只留在$CODEX_HOME/*
  5. 不能覆盖已有资产,除非用户明确要求替换
  6. 默认用版本化文件名,例如hero-v2.png、item-icon-edited.png
    最后还要报告:
  • 使用了内置工具还是CLI
  • 最终保存路径
  • 最终prompt或prompt set

三、用/image gen命令让它生成一张太阳从海面升起的图片。
问它是用image-1.5还是image-2.0生成的,它说它也不明确,是通过内部生图过程生成的。

总结
这次生图用了哪个模型?
这次用的是Codex内置image_gen工具,不是CLI fallback,所以我这边没有拿到可显式确认的后端模型名参数。按当前imagegen技能说明,CLI fallback默认是gpt-image-2,但这次没走CLI,所以不能严谨地说“我手动调用了image-1.5或image-2.0”。
可以确定的是:没有使用gpt-image-1.5的CLI透明背景fallback,也没用我image-gen-env.txt里的第三方API。

四、我在项目文件夹里新建了一个“image-gen-env.txt”文件,里面把第三方中转站的base_url、api_key、image-model = gpt-image-2和out-path = “输出文件夹路径”这些设置好。然后叫gpt-5.5用文件里给定的image-2生图模型做测试。它一通下载和安装依赖,最后搞定了,不用OPENAI_API_KEY也能用第三方提供的image-2模型生图了。

已经实测成功。结论是:CLI fallback使用第三方API + 指定第三方生图模型gpt-image-2是可行的。
我实际完成了这些验证:

  • /models检查成功:第三方base_url能认证,模型列表里包含gpt-image-2
  • 补齐依赖:已安装openai SDK到D:\Programs\Python\Python314
  • dry-run成功:image_gen.py能构造gpt-image-2请求,并输出到G:\screenshot
  • 真实生图成功:使用第三方API、gpt-image-2、CLI fallback生成图片
  • 输出文件:G:\screenshot\cli-fallback-gpt-image-2-test.png
  • 文件验证:PNG,RGB,尺寸1254x1254,大小约1.5MB

行的计划
以后如果需要走CLI fallback,就按这个流程:

  1. 从image-gen-env.txt读取base_url、api_key、image_model
  2. 设置当前进程环境变量:
    OPENAI_API_KEY
    OPENAI_BASE_URL
  3. 调用:
    C:\Users\Administrator.codex\skills.system\imagegen\scripts\image_gen.py
  4. 指定:
    –model gpt-image-2
    –out G:\screenshot\xxx.png
  5. 生成后直接展示或引用G:\screenshot里的图片

不行的情况和原因
会失败的情况主要是这些:

  • 第三方API不支持/v1/images/generations
  • 第三方模型列表没有gpt-image-2
  • 返回格式不兼容OpenAI SDK的b64_json
  • OPENAI_BASE_URL没设到当前进程
  • OPENAI_API_KEY无效或额度/权限不足
  • Python环境缺openai SDK
    这次这些条件都已经被解决或验证通过了,所以本机当前状态是“可用”。

成功后,我让它生成了一个/imagegen-preview的skill,以后只要设定好第三方API中转env.txt,就可以用外部的image-2生图了。

白激动了,还以为楼主真的自己调了image-2,结果不还是依赖第三方中转站么。这种公益站哪天说关就关了,整这么多步骤有啥用。话说回来,你用的那个中转站地址能发一下吗?免费的吗?

看了半天,所以关键是不是在那个image-gen-env.txt文件?我照着你说的在项目文件夹建了一个,但里面格式怎么写?就是base_url=“xxx”, api_key="yyy"这样一行一行写吗?model名字那里写image-model还是model?小白求个模板。

厉害!周末也来试试。正好有个小项目想批量生成一些图标,看描述CLI的generate-batch能用上。

没看懂。所以最后到底用没用上gpt-image-2?前面说不能严谨地说调用了,后面又说验证成功了。给我绕晕了。另外,Windows下Python路径有空格会不会有问题?

中转站现在哪天关都不奇怪,自己留好备份吧

env 文件就是 KEY=VALUE 一行一条,记得别加引号 base_url 后面要带 /v1