我给 Pi 装了 pi-codex-image-gen,想直接在终端里画图。
照着插件示例试了一次,没画出来,报的是 Missing image OAuth credentials。按提示执行 /login codex-images,在浏览器里完成授权后,再让它画一只猫,这次成功了。
这个插件能做什么?
装上 pi-codex-image-gen 后,可以在 Pi 对话里生成图片。也能拿本地图片或对话中的图片作参考来编辑,支持 PNG、JPEG、WebP。
它用的是 ChatGPT 订阅的图像生成能力,不用另配 OpenAI API Key,也不需要安装 Codex App。生成会消耗账号的图像额度,能否使用、能用多少,要看账号和服务端的限制。
插件在 Pi 官网的 Packages 页面:pi.dev/packages/pi...

安装插件
先确认 Pi 已经能正常使用,ChatGPT 订阅账号也有可用的图像生成额度。插件要求 Pi 1.1.0 或以上,Node.js 22.19.0 或以上。
我用的是 Pi-Bolt,所以命令写成 pi-bolt。用原版 Pi 的话,把下面的 pi-bolt 换成 pi,官网截图里用的就是 pi。
在系统终端安装插件:
bash
pi-bolt install npm:pi-codex-image-gen
装完看一下包列表:
bash
pi-bolt list
再进入会话:
bash
pi-bolt
已经开着会话的话,在会话输入框里执行一次:
text
/reload
这会重新加载扩展和技能。下面的 /login、/skill:imagegen 都输在这个输入框里,不是 Shell 命令。
第一次试画,卡在了登录
我先用了插件 README 里的宝剑示例,要求画一个 32×32 的像素图标:
text
Generate a pixel-art sword icon, 32×32, with a blue blade and gold hilt
工具被调用了,随后报错,没有生成图片:
text
Missing image OAuth credentials. Run /login codex-images.

这里漏了一步图像登录。Pi 把聊天和生图的授权分开管理,两个登录是独立的。用 openai 的 ChatGPT 登录只能聊天,不能生图。换聊天模型也解决不了。
接着在 Pi 会话输入框里执行:
text
/login codex-images
按提示到浏览器里,用 ChatGPT 账号完成登录和授权,再回到终端。
也可以输入 /login,从列表里选:
text
Codex Images (ChatGPT subscription)
凭证由 Pi 保存和刷新,不用自己改 auth.json。登录被拒绝或凭证过期时,重新执行 /login codex-images。
如果列表里找不到 Codex Images,先查插件有没有装好,再试一次 /reload,必要时重启会话。
登录后,重新画一只猫
我发了一句中文:
text
画一只200*200的猫
想指定用插件自带的技能,也可以写:
text
/skill:imagegen 画一只200*200的猫
这次 codex_generate_image 调用成功,终端里有了图片预览和保存路径。

输出中的 Status: completed 表示生成完成,Saved image to: 后面跟着本地文件路径。
其中的 gpt-6-astra 是路由模型名。实际图像模型由后端选择,这个名字看不出用的是哪个模型。
图画出来了,尺寸还要再处理
我要求的是 200×200,截图里返回的原图却是 1254×1254:
text
Backend-reported size: 1254x1254.

之后在本地缩放到 200×200,再检查文件尺寸。
要精确尺寸,可以出图后接着说:
text
把刚才生成的图片缩放到精确的200×200像素,另存为PNG,保留原图,并检查最终文件尺寸。
做头像、图标这类有固定规格的素材时,记得检查实际像素。
图片保存在哪里,之后怎么改?
默认图片会存在 Pi 的 agent 目录下,通常是:
text
~/.pi/agent/generated-images/<session-id>/
找文件时,看 Saved image to: 后面的路径就行。
要给项目用,可以把保存位置一起告诉它:
text
画一只可爱的橘猫,正面坐姿,米白色背景,不要文字。
最终导出为200×200像素PNG,保留原图,并把最终文件复制到当前项目的assets目录。
保存前看一眼目标目录,别覆盖了同名资源。
想接着改刚才那张图,可以继续发要求:
text
基于刚才那张猫图,把表情改成闭眼微笑,尽量保留姿势和配色,另存一份。
一次最多能引用 5 张本地或近期对话里的图片。改图会重新发起生成请求,可能继续消耗额度。
登录后还报错怎么办?
如果仍然提示 Missing image OAuth credentials,检查 /login codex-images 是否完成了授权。返回 401 或 403 时,也可以重新登录,检查授权状态。
遇到 429、额度耗尽、连接失败或超时,先确认具体的报错原因。超时和连接中断时,远端可能已经开始生成,上一笔也可能用掉了额度,不要马上连续提交同一个请求。
插件还有一条独立的 CLI 路径,需要 OPENAI_API_KEY,按 API 单独计费。要用它得主动选择,订阅登录失败时不会自动切过去。