我给本地 Agent 接生图能力,卡过好几次。要么去 OpenAI 后台开 Key、配环境变量,要么找别人的中转接口,麻烦不说,还总担心额度和稳定性。
直到看到 codex-image-gen 这个脚本——它完全不走 API Key 这条路,而是直接复用你机器上 Codex CLI 已经登录好的那份 OAuth 态。对已经在用 Codex 的人来说,等于白捡一个生图入口。
01
PART
它到底在解决什么
WHAT & WHY
多数本地 Agent 想生图,第一步都是去申请一个 OpenAI API Key,再接线调用。codex-image-gen 换了个思路:如果你已经在用 codex,并且用 ChatGPT 账号登录过,这份登录态本身就足够驱动 gpt-image-2。
它做的事很纯粹:自动刷新过期的 token、带上后端必需的请求头去调用 Codex Responses 接口、解析 SSE 流、把最终的图写成本地 PNG。一个零依赖的 Python 脚本,Python 3.9 以上就能跑,不需要任何第三方包。
重点是,Claude Code、Codex、OpenCode,或者任何能执行 python3 的 Agent,都能调用它。等于把一个本属于 Codex 的能力,开放给了你手头的所有工具。
02
PART
三步接上生图
HOW TO USE
前提只有一个:你这台机器装过 Codex CLI,并且执行过一次 codex auth login,本地存在可读的 ~/.codex/auth.json,且能访问 chatgpt.com 和 auth.openai.com。
1
安装并登录过 Codex CLI(codex auth login 至少执行过一次)
2
机器上存在可读的 ~/.codex/auth.json
3
Python 3.9 及以上,无任何第三方依赖
4
能访问 chatgpt.com 与 auth.openai.com
CMD npx skills add zjp1997720/zhijian-skills --skill codex-image-gen --agent codex --global --copy --yes
装完之后,最直接的方式是让 Agent 用一句话去调它。比如下面这句,丢给 Claude Code 就能跑:
PROMPT 用蓝白配色生成一张极简课程封面插图,16:9,无文字,保存到 ./outputs
也可以自己直接在命令行跑:
...bash
python3 scripts/codex_image.py \
--prompt "蓝白配色的 AI 课程封面插图,几何感,极简,无文字" \
--aspect landscape --quality high --out-dir ./outputs
它支持的能力不复杂但够用:文生图,支持 --prompt 或 --prompt-file;图生图和编辑,用 --image 加可重复传入的 --reference-image;三档比例 square / landscape / portrait,外加 low / medium / high 三档质量。每次运行结束会输出一行可解析的 JSON,方便串进你自己的工作流。
03
PART
原理与边界
HOW IT WORKS
原理上不神秘。脚本读 ~/.codex/auth.json,解码 access token 的 JWT 载荷,临过期时通过 auth.openai.com 刷新;然后用后端要求的请求头去调 Codex Responses 接口——这里有个细节:User-Agent、originator、ChatGPT-Account-ID 这几个头缺一个都可能莫名 403,它都按 Codex 客户端的样子带齐了。
下面是它整个链路的示意图,从本地 OAuth 文件一路流到本地 PNG:

— 从本地 OAuth 到本地 PNG 的完整链路
解析 SSE 流时,它保留最后一个 image_generation_call.result,缺失就回退到最后一帧 partial 图,解码后写成 codex-image-<时间戳>-<prompt哈希>.png。这点挺关键:上游结构一变,脚本会显式失败,而不是给你存一张坏图。
!两个报错要分清 🕳
401 表示本地登录态失效,重新执行 codex auth login 即可;403 通常是请求头缺失或账号风控,不要误判成 prompt 写错了。另外,它每次运行只生成一张图,批量调度和任务队列明确不在范围内。
还有一点要诚实说:它复用的就是你自己的 ChatGPT / Codex 登录态,消耗的是该账号的生图额度,不会凭空变出额度。refresh token 是一次性的,所以脚本刷新成功后会立刻以 0600 权限写回 auth.json。生图行为也受你的账号条款约束。
///
LAST
写在最后
WRAP-UP
如果你已经在用 Codex,这个脚本基本是零成本的顺手工具——不用新开 Key,不装依赖,把已有的登录态变成生图入口。对于想给本地 Agent 补上生图能力、又不想碰 API Key 的人来说,挺合适。
项目开源地址:
...url
https://github.com/zjp1997720/zhijian-skills