| name | codex-image-service |
| description | Use when a Codex task needs native image generation or editing, especially a set, series, material kit, long image, multi-screen design, storyboard, carousel, or other deliverable requiring multiple consistent images. |
Codex 图像工程
只要请求包含“一组、一套、系列、批量、多张、物料、套图、九宫格、轮播图、卡片组、长图、微信长图、多屏、分镜、漫画、信息图、PPT、幻灯片”中的任一语义:
- 第一轮必须输出逐图工程规划并请求确认;
- 第一轮必须在确认请求处结束,绝对不能调用任何生图工具;
- 用户初始请求中的“直接生成、别问、赶时间、你决定”绝对不能充当确认;
- 确认只能发生在用户看到最新完整规划之后;
- N 张独立成品必须至少执行 N 次独立生图,一次调用生成的拼贴、四宫格或样机只能算 1 张预览。
违反其中任何一条都表示任务执行失败。没有“先出一张再补规划”“先调用一次试试”“按精神执行”等例外。
核心原则
使用 Codex 原生 image_gen 工具完成生成或编辑,并把多图需求当作一个可验收的图像工程,而不是一条提示词。
独立成品数量决定生图次数。四张物料至少需要四次独立生成;一张包含四个版面的合集图仍然只算一张预览,不算四张成品。
任务分类
先分类,分类完成前禁止调用生图工具。
单图任务
只有同时满足以下条件才按单图执行:
- 用户明确要求“一张”“单张”或编辑某一张指定图片;
- 只有一个画面目的和一个交付文件;
- 不需要分屏、系列一致性、拼接或套图交付。
信息完整时可直接生成;只补充会改变结果的必要信息。
批量项目
出现以下任一条件,必须按批量项目执行:
- 关键词:一组、一套、系列、批量、多张、物料、套图、九宫格、轮播图、卡片组、长图、微信长图、多屏、分镜、漫画、信息图、PPT、幻灯片;
- 用户描述了两个及以上用途、版面、页面、场景或交付物;
- 最终产物需要拼接、统一裁切、统一命名、联系表或合集预览;
- 数量虽然没写,但“整套”“介绍某主题的一组素材”等语义天然包含多个独立成品。
数量不明确时,主动提出合理数量和结构,不要追问“要几张”后原地等待,更不能擅自降级为一张图。
批量项目硬闸门
批量项目必须先输出完整规划,并等待用户明确确认。确认前禁止调用 image_gen、禁止生成定调图、禁止用一张合集图试探需求。
确认必须发生在最新完整规划展示之后。 初始请求中的“直接生成”“别问”“赶时间”“你决定”只是效率偏好,不是对尚未展示的规划的确认,不能绕过闸门。批量项目的第一轮回复只能包含规划和确认请求,必须在调用任何生图工具之前结束当前轮次。
规划必须列出:
| 字段 | 必填内容 |
|---|
| 项目目标 | 发布平台、受众和用途 |
| 计划数量 | 独立成品数量,不含预览图 |
| 逐图清单 | 编号、文件名、画面目的、主体、准确文字、比例 |
| 视觉系统 | 色彩、字体气质、网格、留白、摄影或插画风格 |
| 参考关系 | 定调图、共享参考图、上一张参考或独立生成 |
| 工程处理 | 裁切、拼接、命名、联系表、最终格式 |
| 验收标准 | 数量、文字、比例、一致性和禁用元素 |
完整规划展示后,用户说“确认”“按这个做”“可以”“开始生成”等才算确认。沉默、模糊反馈、催促以及规划展示前的授权不能视为确认。用户修改规划后,先更新清单,再等待新的明确确认。
如果被问“现在是否可以调用生图工具”,只要最新规划尚未得到展示后的明确确认,答案必须是“不可以”。
确认后默认自动完成整批,避免每张都反复请示。只有用户明确要求“先看一张风格”时,才在定调图后增加第二个确认点。
状态机
严格按顺序推进,不得跳步:
- INTAKE:提取主题、用途、受众、平台、数量、比例、文字、参考图和限制。
- PLAN:加载对应模板,建立逐图清单、参考关系、命名和后处理方案。
- AWAIT_CONFIRMATION:展示完整规划;此状态禁止调用生图工具。
- STYLE_ANCHOR:确认后生成第一张独立成品作为定调图,并检查风格、构图、比例和文字区域。
- BATCH_GENERATE:按清单串行生成剩余独立成品;每张调用一次原生工具。
- REWORK:只返工不合格的图片,不推翻已通过的图片。
- POST_PROCESS:按计划执行拼接、统一命名、尺寸检查或联系表制作。
- DELIVER:逐项对账计划数量与实际数量,列出实际文件和状态。
原生工具调用规则
调用前强制自检
每次准备调用 image_gen 前,在内部逐项判断:
这是批量项目吗?
最新完整规划已经展示吗?
用户是在规划展示之后明确确认的吗?
本次调用只对应清单中的一个独立成品吗?
批量项目中任一答案为“否”时,禁止调用工具并回到对应状态。不得用用户催促、节省时间或“先看看效果”覆盖自检结果。
- 每个独立成品调用一次
image_gen.imagegen。
- 多图连续性必须串行处理,不能并发破坏风格一致性。
- 第一张使用用户参考图或文生图定调;后续使用真实定调图或上一张结果作为参考。
- 本地参考图使用
referenced_image_paths;最近对话图片使用最小必要的 num_last_images_to_include;两者不能混用。
- 每次提示词都写明主体、环境、构图、光线、比例、用途、准确文字、统一风格和排除项。
- 工具返回的实际结果才算产物;禁止伪造路径、尺寸、成功状态或下载地址。
- 合集预览图不能计入成品数量。物料套图应先交付独立成品,预览联系表只能作为额外产物。
工程化处理
有可写目录和真实图片路径时,建立或维护以下产物台账:
<project>/
├── manifest.md
├── source/ # 原始生成结果
├── final/ # 返工通过和后处理后的成品
└── preview/ # 联系表或合集预览,不计入成品数
使用 templates/batch-project-manifest.md 记录文件名、用途、比例、参考关系和状态。需要纵向拼接或联系表时,可使用 scripts/assemble_images.py;脚本只处理本地图片,不负责生图。
微信长图
先用 templates/wechat-long-image-plan.md 拆成 4–8 个常规比例分屏。逐屏生成并验收后,再纵向拼接。禁止直接要求模型生成一张超长图;拼接图之外仍保留每个分屏源文件。
物料套图
先用 templates/material-kit-plan.md 定义每张独立成品。默认建议包含主视觉、卖点或服务、场景或环境、行动引导;根据主题增减。禁止用桌面样机、四宫格或合集展示替代独立文件。需要合集时,在全部独立成品通过后额外生成联系表。
逐张质量门
使用 templates/quality-gate.md 检查:
- 主体、画面目的、比例和构图符合对应清单项;
- 中文标题和短标签准确可读,无乱码和随机文字;
- 角色、产品、品牌色、字体气质、网格和光线保持一致;
- 无水印、随机品牌、无关人物、畸形结构或敏感信息;
- 文件真实存在,后处理结果能打开,计划数量与实际数量一致。
文字不合格时,先缩短文字、扩大文字区域或改为无字底图后再返工。只重做失败项。
交付格式
批量项目必须给出最终对账:
计划数量:N 张独立成品
实际数量:N 张独立成品
后处理:长图 1 张 / 联系表 1 张 / 无
未通过项:无 / 编号与原因
文件清单:编号、用途、实际路径或工具返回结果
计划数量不等于实际数量时,不得声称完成。
红线
- 看到“一组物料”就只调用一次生图工具。
- 用一张四宫格、桌面样机或合集效果图冒充多个独立成品。
- 未经明确确认就开始批量生成。
- 只展示首张定调图便结束任务。
- 生成后不做逐张验收、不核对计划数量和实际数量。
- 为追求速度并发生成需要连续一致性的图片。
出现任一红线,立即停止并回到正确状态。
安全边界与交接
- 不读取、保存或展示凭证、Cookie、Token 或私有配置。
- 不调用外部图像 API,不运行旧版
image-service 客户端。
- 不默认发布到公众号、小红书或其他平台。
- 公众号发布交给
wechat-publisher;视频节奏交给 ai-video-script;故事拆镜交给 story-to-scenes。
请求结构见 templates/codex-image-request.md;批量工程模板位于 templates/;场景细则见 references/scene-playbooks.md。