Community图像github.com

MrBogomips/codex-image-gen

通过驱动 codex CLI 内置图像工具生成或编辑光栅图像(插图、照片、图标、纹理、模型、海报、标志创意、透明裁剪图、占位素材),并保存到指定路径。

codex-image-gen 是什么?

该技能通过调用 codex CLI 的内置图像生成功能,提供了一种高效、无额外 API 费用(基于 Codex 登录配额)的方式来生成和编辑光栅图像。它解决了 codex exec 命令无法直接将图像保存到指定路径的问题,而是通过一个脚本 `scripts/codex_image.py` 自动提取生成结果并写入用户指定的文件。开发者可以使用丰富的参数控制图像生成,如宽高比、参考图像、精确像素尺寸、多版本生成和图像编辑。该技能明确禁止回退到计费 API(如 OpenAI SDK 或 Google 的付费服务),仅当用户特别要求时才使用专门的 google-image-gen 技能。支持 Codex CLI 平台,并提供了详细的提示词编写指南和故障处理建议,确保图像生成过程的可靠性和可预测性。

兼容平台~Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/MrBogomips/skills/tree/HEAD/skills/codex-image-gen

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

通过 codex CLI 生成图像

codex exec 没有 "将图像写入此路径" 的选项:它生成的内容保存在 $CODEX_HOME/generated_images/<session id>/ 下。scripts/codex_image.py 运行一次非交互式轮次,仅收集 同一会话中的图像,并将其写入您指定的位置。如果没有返回图像,则不会写入任何内容。

始终使用此脚本。 手动执行 codex exec "draw a cat" 通常返回文本或使用 ImageMagick 绘制的图像, 而您还需要费力寻找输出文件。

切勿回退到计费 API。 即使 codex 失败或配额不足,也不得使用 OpenAI SDK 或 OPENAI_API_KEY。 报告失败并停止。对于 Google 的计费 API,仅在用户要求时才使用 google-image-gen。

用法

在技能目录下运行,或使用脚本的绝对路径。一次运行大约需要 30-60 秒。

python3 scripts/codex_image.py -p "黄昏时分,一辆孤独的红色自行车靠在潮湿的石墙上,电影级照片" -o bike.png
目标命令
宽高比(向模型提供提示)-p "..." -o out.png --aspect 9:16
参考图像-p "..." -o out.png -r ref.png [-r ref2.png]
编辑图像--edit v1.png -p "把天空变成紫色" -o v2.png
多个版本-p "..." -o opt.png -n 3 (保存 opt.png、opt-2.png、opt-3.png)
精确像素尺寸-p "..." -o cover.png --aspect 9:16 --fit 1080x1920
长提示词--prompt-file prompt.md -o out.png
查看提示词,不消耗配额添加 --print-prompt
  • 输出扩展名与实际格式一致:请求的 bike.jpg 会以 PNG 字节流保存为 bike.png。脚本会打印每个写入的路径。
  • --aspect 仅塑造结果形状。--fit WxH 保证最终尺寸:默认使用黑边填充 (--fit-mode pad,默认),或中心裁剪 (--fit-mode crop),并且始终保存为 PNG。请确保 --aspect 与目标匹配,以减少填充或裁剪。--fit 需要 Pillow,将在 codex 运行前检查。
  • -n 在一次运行中请求 N 个版本;模型可能返回更少,脚本会保存实际获得的内容。
  • --edit 将图像作为目标附加,并告知模型仅更改提示词中要求的部分。

编写提示词

脚本会自动添加强制调用实际图像工具的措辞,因此 --prompt 仅需描述图像本身。简短且带有标签的说明效果很好:

主体:一辆孤独的红色自行车,边缘的油漆磨损至裸露金属
场景:靠在潮湿的石砌码头墙上,远处是城镇的灯光
风格:电影级照片,浅景深
光照:黄昏,低角度暖阳,湿石上的反光
文字(逐字):".NO SPARE."
避免:人物、水印、额外自行车
  • 必须出现的文字请加引号,并保持简短;长字符串容易出现拼写错误。
  • 明确说明不能出现的内容。对于透明裁剪图,要求透明背景并保存为 .png。
  • 对于 --edit,描述要做的修改(例如 "移走路灯柱"),并说明必须保留的内容(例如 "保留自行车、构图和光照")。每次只修改一项。
  • 编辑操作本质上是重新生成,而非像素修补:构图和细节会漂移,每次操作都会累积偏差。请保持修改链条简短,并将必须保持不变的部分合成回去。

生成后

在交付结果前,请使用任意可用的图像查看方式检查结果:模型有时会在文字、数量或要求的细节上出错。如果有误,建议使用更精确的提示词重新运行,或使用 --edit 进行修正。

故障处理

脚本会以非零退出码退出,并输出一条明确的消息,不写入任何内容。

  • 未找到 codex CLI 或未登录:请安装 codex 并运行 codex login;CODEX_BIN 指向其他二进制文件。
  • 配额不足:等待 codex 报告的配额重置时间,或使用其他账户。请勿循环重试。
  • 未生成图像:模型以文本形式回复。会显示其回复内容;请使用更简单的图像请求重新运行。
  • 超时:仅在运行确实缓慢时才增加 --timeout(默认 900 秒)。
  • 使用 --fit 时缺少 Pillow:执行 pip install Pillow,或移除 --fit。

相关技能