mcpField
C
codex-image-gen

codex-image-gen

github.com/zjp1997720创意与媒体78651 次安装3 天前更新
代码仓库

关于 codex-image-gen

codex-image-gen 是供可运行 Python 的 Agent 使用的图像生成与编辑 Skill,要求本机已安装并登录 Codex CLI。它调用 Codex Responses API,并将生成图像保存为本地 PNG。

主要功能

  1. 01根据提示词生成图像
  2. 02使用输入图和参考图进行编辑
  3. 03设置画质、宽高比和输出目录
  4. 04自动刷新过期访问令牌
  5. 05从 SSE 响应提取并保存 PNG

适用场景

  1. 01生成课程封面或文章插图
  2. 02基于草图编辑图像
  3. 03使用参考图调整图像风格

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zjp1997720/zhijian-skills --skill codex-image-gen

安装后在 Claude Code 中输入/codex-image-gen确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
evals/
evals.json
references/
api-notes.md
scripts/
codex_image.py
tests/
test_codex_image.py

详细介绍

来自项目 README

Codex Image Gen

目标:把“本机已登录的 Codex OAuth 生图能力”封装成一个零私有依赖的跨 Agent Skill。

它不依赖任何私有模块;任何能执行 python3 的 Agent,只要宿主机已经装好 Codex CLI 并执行过 codex auth login,就能直接调用 scripts/codex_image.py 生图或做图像编辑。

前置条件

必须同时满足:

  1. 本机已安装 Codex CLI
  2. 已执行过 codex auth login
  3. ~/.codex/auth.json 存在且可读
  4. 机器可访问:
    • https://chatgpt.com/backend-api/codex/responses
    • https://auth.openai.com/oauth/token

如果 ~/.codex/auth.json 不存在,不要猜测或绕过。直接提示用户先运行:

codex auth login

这个 skill 能做什么

  • 文生图
  • 配图 / 插图 / 封面图生成
  • image-to-image / 编辑
  • 把本地参考图编码成 data:image/...;base64,... 后发给 Codex Responses API
  • 自动检查 access token 是否过期
  • access token 过期时自动用 refresh token 刷新,并写回 ~/.codex/auth.json
  • 从 SSE 流里提取图片 base64,保存为本地 PNG

核心脚本

相对路径:scripts/codex_image.py

典型调用方式:

python3 scripts/codex_image.py --prompt "极简科技感课程封面,无文字" --aspect landscape

如果 Agent 不是在 skill 根目录执行,就显式传 skill 相对路径或绝对路径,例如:

python3 .claude/skills/codex-image-gen/scripts/codex_image.py \
  --prompt "商业文章封面插图,克制,干净,无文字" \
  --aspect landscape \
  --quality high \
  --out-dir ./outputs

CLI 参数

必填

二选一:

  • --prompt "..."
  • --prompt-file /path/to/prompt.txt
可选
  • --quality low|medium|high:默认 medium
  • --aspect landscape|square|portrait:默认 square
  • --out-dir /path/to/output-dir:默认当前目录
  • --image /path/to/image.png:主编辑图 / 输入图
  • --reference-image /path/to/ref.png:参考图,可重复传入
  • --model gpt-image-2:默认 gpt-image-2

推荐工作方式

1) 最短路径:文生图
python3 scripts/codex_image.py \
  --prompt "蓝白配色的 AI 课程封面插图,几何感,极简,无文字" \
  --aspect landscape \
  --quality high \
  --out-dir ./outputs
2) 用 prompt 文件
python3 scripts/codex_image.py \
  --prompt-file ./prompt.txt \
  --aspect portrait \
  --out-dir ./outputs
3) image-to-image / 编辑
python3 scripts/codex_image.py \
  --prompt "把这张草图做成干净的白板商业插图风格" \
  --image ./draft.png \
  --reference-image ./style-ref.png \
  --aspect landscape \
  --out-dir ./outputs

Agent 执行规则

  1. 先确认 ~/.codex/auth.json 存在;不存在就停止并提示 codex auth login
  2. 优先直接跑 python3 scripts/codex_image.py --help 自检 CLI
  3. 真正执行时,给出明确 prompt,不要只传关键词
  4. 如果用户要封面/配图,默认优先:
    • --aspect landscape
    • --quality high
  5. 如果用户要头像、图标、方图,默认优先:
    • --aspect square
  6. 如果返回 401,直接提示重新登录 Codex
  7. 如果返回 403,优先怀疑 Cloudflare / 请求头不完整 / 登录态异常,不要误判成 prompt 问题

成功输出约定

脚本成功时会输出 JSON:

{"success": true, "image": "/absolute/path/to/file.png"}

Agent 应返回:

  • 最终图片路径
  • 使用的 prompt(必要时可简述)
  • 是否用了输入图 / 参考图

失败处理

auth.json 不存在

明确提示:

codex auth login
401 Unauthorized

说明本地登录态失效,建议重新登录:

codex auth login
403 Forbidden

说明大概率是 Cloudflare / 关键请求头 / 账号态问题。先检查:

  • User-Agent: codex_cli_rs/0.0.0
  • originator: codex_cli_rs
  • ChatGPT-Account-ID
没拿到图片数据

说明上游 SSE 响应格式变了,或只返回了中间事件但没有可用图片字段。此时应检查 references/api-notes.md 并根据新响应结构更新脚本。

参考文档

  • API 细节:references/api-notes.md
  • 核心脚本:scripts/codex_image.py

评论

支持 Markdown