Skip to main content
Glama

乔木 Codex 生图 · qiaomu-codex-imagegen

让任何 Agent 都能调用 Codex 内置的生图能力,并自带海报、视频封面、小红书配图的提示词技巧。

Codex 的生图工具只在 Codex 里能用。这个项目把它接出来:一个 MCP 服务、一个命令行、一个 Agent Skill,共用同一套核心。Claude Code、Codex、Cursor,或者任何能执行命令的 Agent,都能说一句"做一张小红书配图"就拿到图片文件。

Use Codex's built-in image generation from any agent through MCP, a CLI or a skill. Scenario presets (Xiaohongshu, video cover, poster …) and 86 styles including 20 Mondo poster artists are built in.

能做什么

你说

它做

给这期视频做一张 16:9 视频封面

选 video-cover:缩略图逻辑、标题留白,用你指定的风格生成,返回文件路径和像素尺寸

做一张小红书配图,主题清晨读书

选 xiaohongshu:3:4 竖版,视觉重心偏上,顶部留标题位

用 Mondo 风格做《沙丘》海报,三个设计师各来一张

三个设计师风格并行生成,各自保存

把这张图的背景换成米色纸,主体不变

参考图改图(图生图)

公众号头图、X 封面、朋友圈海报、书籍封面、专辑封面

各有预设比例和安全区

Related MCP server: MetaRouter Image MCP

安装

前置条件:

  • Node.js 18+(node --version)

  • 已安装并登录的 Codex CLI(codex --version 能运行)

  • Codex 账号可使用图片生成(先在 Codex 里手动生成一张试试)

1. 作为 Skill 安装(任何支持 Agent Skills 的工具)

npx skills add joeseesun/qiaomu-codex-imagegen

Skill 会让 Agent 知道怎么选场景、风格、怎么写描述,并通过下面的 MCP 或自带 CLI 出图。

2. 注册 MCP(推荐,Agent 直接调用工具)

Claude Code:

claude mcp add --scope user qiaomu-codex-imagegen -- node /绝对路径/qiaomu-codex-imagegen/scripts/mcp-server.mjs

其他 MCP 客户端(Cursor、Codex 等),在配置里加:

{
  "mcpServers": {
    "qiaomu-codex-imagegen": {
      "command": "node",
      "args": ["/绝对路径/qiaomu-codex-imagegen/scripts/mcp-server.mjs"]
    }
  }
}

提供三个工具:

工具

作用

generate_image

生成或改图,返回绝对路径、像素尺寸、实际使用的提示词

build_prompt

只组装最终提示词,不生成、不花额度,用来先看一眼

list_catalog

列出场景预设和风格键

3. 只用命令行

git clone https://github.com/joeseesun/qiaomu-codex-imagegen && cd qiaomu-codex-imagegen
node scripts/cli.mjs "窗边翻开的书,书页上升起咖啡的热气" --preset xiaohongshu

你可以直接这样说

装好 Skill 和 MCP 后,对 Agent 说:

  • 「给这期视频做一张 16:9 的封面,要有设计感,先出三个方案」

  • 「做一组小红书配图,主题是清晨读书,第一张定风格,后面几张保持一致」

  • 「用 Olly Moss 风格做《沙丘》的电影海报,不要放字」

  • 「把这张图的背景换成米色纸张,主体不变」

用法示例(命令行)

# 视频封面,三个方案先看
node scripts/cli.mjs "一个巨大的红色播放键像日出一样升起" --preset video-cover --style saul-bass --count 3

# Mondo 风格电影海报,只出图不放字
node scripts/cli.mjs "沙漠中巨大的沙虫轮廓,渺小的人影" --preset movie-poster --style olly-moss

# 必须带标题时,逐字给出
node scripts/cli.mjs "一座灯塔" --preset wechat-cover --text "夜航船"

# 图生图
node scripts/cli.mjs "保持同一支铅笔,背景换成暖米色纸张" --ref /abs/pencil.png --ratio 1:1

# 先看提示词,不生成
node scripts/cli.mjs "咖啡和书" --preset xiaohongshu --show-prompt

参数:--preset 场景,--style 风格(键或自由文字),--ratio 覆盖比例,--text 图内文字(可重复),--ref 参考图(可重复,绝对路径),--count 并行变体 1–4,--out 输出目录,--name 文件名,--model、--timeout,--json 机器可读输出。默认保存到 ~/Pictures/qiaomu-codex-imagegen/<日期>。

场景预设

preset

用途

比例

xiaohongshu / xiaohongshu-square

小红书卡片 / 方形封面

3:4 / 1:1

video-cover

YouTube、B 站横版封面

16:9

video-vertical

抖音、视频号、Reels 竖屏封面

9:16

wechat-cover

公众号头图

2.35:1

x-cover

X 个人页封面

5:2

moments

朋友圈海报

4:5

poster / movie-poster

通用海报 / 电影海报

9:16 / 2:3

book-cover / album-cover

书籍 / 专辑封面

2:3 / 1:1

article / paper

文章配图 / 科普配图

16:9

每个预设带有安全区和构图规则(例如竖屏封面顶部约 12%、底部约 20% 留给界面)。详见 references/scenarios.md。

内置风格

  • 66 种通用风格:极简线条、水彩、纸雕、等距、像素、低多边形……见 references/styles.json。

  • 20 位海报设计师(Mondo 技巧整合自 qiaomu-mondo-poster-design):Olly Moss、Saul Bass、Martin Ansin、Tyler Stout、Kilian Eng、Drew Struzan 等,另有丝网印刷、负空间、书籍与专辑封面专用风格。怎么选、怎么写,见 references/mondo-poster.md。

它是怎么工作的

和乔木 Agent 的 Obsidian 插件同一思路:启动 codex app-server --listen stdio://(标准输入输出上的 JSON-RPC),发起一个回合要求调用图像生成,等 imageGeneration 项完成,把 Codex 保存的图片复制到你指定的目录。每次调用启动独立的临时会话,沙箱只允许写输出目录,审批策略为 never,遇到任何交互请求一律拒绝。

实测与限制

  • 比例:Codex 会遵守提示词里的比例。实测 3:4 得到 1086×1448,21:9 得到 1916×821;没有指定比例时默认出方图(实测 1254×1254)。工具会读取结果的像素尺寸,与要求不符时在结果里标出。

  • 耗时与额度:单张约 30–60 秒,每张消耗你的 Codex / OpenAI 账号额度。count 最多 4,并行运行,成倍消耗。

  • 图内文字:模型写中文和长句容易出错。默认不放字;需要标题时用 --text(短、逐字),并检查拼写,或留白后期排版。

  • 依赖 Codex:未安装、未登录,或账号没有图片生成权限时会返回明确错误。可用环境变量 QIAOMU_CODEX_BIN 指定 Codex 路径。

  • 没有尺寸、数量等底层参数:这些由 Codex 的生图工具决定,写在描述或预设里。

排错(Troubleshooting)

现象

处理

cannot start codex

安装 Codex CLI,或设置 QIAOMU_CODEX_BIN

返回"codex finished without producing an image"

Codex 未登录或账号无图片生成权限;先在 Codex 里手动生成一张试试

timed out

加大 --timeout,或简化描述

比例与要求不符

在描述里强调构图,或换 --ratio;工具不会静默裁剪

参考图报 not found

必须是绝对路径

验证

npm test                                                  # 离线测试
node scripts/cli.mjs --list                               # 能看到预设和风格
node scripts/cli.mjs "一个红色圆" --show-prompt           # 不花额度,检查组装的提示词

开发

npm test      # 11 项测试,用假的 codex 模拟 app-server,不消耗额度

作为乔木 Skill 的发布门禁(validate_skill.py、触发评测)见 reports/。

零依赖,Node 18+。scripts/lib/codex.mjs 是核心,prompt.mjs 组装提示词,tools.mjs 是 MCP 与命令行共用的工具层。

致谢与参考

关于向阳乔木

向阳乔木(乔向阳 / Joe)是一位实践型 AI 产品与内容创作者,长期把前沿 AI 变化转译成可复用的工作流、产品判断、AI 编程实践、AI 搜索实践和 GEO/AI 营销方法。

支持与关注

打赏支持

微信公众号

感谢支持乔木持续分享 AI 实践

扫码关注「向阳乔木推荐看」

许可证

Copyright (c) 向阳乔木 · X @vista8 · GitHub joeseesun · MIT License

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Generates and edits images using OpenAI GPT Image or Google Gemini models, saving every result to disk and returning local file paths so AI assistants can continue working with the images. It enables prompt-based image creation, editing, inpainting, multi-image composition, and model listing through MCP tools.
    1
    8 npm
    1
    Apache 2.0