名称: “图像生成”
描述: “当用户要求通过OpenAI Image API生成或编辑图像时使用(例如:生成图像、编辑/修复/掩码、背景移除或替换、透明背景、产品拍摄、概念艺术、封面、或批量变体);运行捆绑的CLI(scripts/image_gen.py)并需要OPENAI_API_KEY进行实时API调用。”
作者: openai
图像生成技能
为当前项目生成或编辑图像(例如:网站资产、游戏资产、UI mockups、产品mockups、线框图、标志设计、逼真图像、信息图)。默认使用gpt-image-1.5和OpenAI Image API,并偏好使用捆绑的CLI以实现确定性和可重复的运行。
何时使用
- 生成新图像(概念艺术、产品拍摄、封面、网站hero图)
- 编辑现有图像(修复、掩码编辑、光照或天气变换、背景替换、对象移除、合成、透明背景)
- 批量运行(多个提示,或跨提示的多个变体)
决策树(生成 vs 编辑 vs 批量)
- 如果用户提供输入图像(或说“编辑/修饰/修复/掩码/翻译/本地化/仅更改X”) → 编辑
- 否则如果用户需要许多不同的提示/资产 → 批量生成
- 否则 → 生成
工作流程
- 决定意图:生成 vs 编辑 vs 批量(见上述决策树)。
- 提前收集输入:提示(多个)、确切文本(逐字)、约束/避免列表,以及任何输入图像/掩码。对于多图像编辑,通过索引和角色标记每个输入;对于编辑,明确列出不变量。
- 如果批量:在tmp/下写入临时JSONL(每行一个任务),运行一次,然后删除JSONL。
- 将提示增强为简短标签规范(结构 + 约束),不发明新的创意需求。
- 运行捆绑的CLI(
scripts/image_gen.py)并使用合理的默认值(见参考资料/cli.md)。 - 对于复杂编辑/生成,检查输出(打开/查看图像)并验证:主题、风格、构图、文本准确性,以及不变量/避免项。
- 迭代:进行单个目标更改(提示或掩码),重新运行,重新检查。
- 保存/返回最终输出,并记录最终使用的提示 + 标志。
临时和输出约定
- 使用
tmp/imagegen/用于中间文件(例如JSONL批量);完成后删除。 - 在此存储库中工作时,将最终工件写入
output/imagegen/下。 - 使用
--out或--out-dir控制输出路径;保持文件名稳定且描述性强。
依赖项(如果缺失则安装)
偏好使用uv进行依赖管理。
Python包:
uv pip install openai pillow
如果uv不可用:
python3 -m pip install openai pillow
环境
OPENAI_API_KEY必须设置以进行实时API调用。
如果密钥缺失,给用户这些步骤:
- 在OpenAI平台UI中创建API密钥:https://platform.openai.com/api-keys
- 在他们的系统中将
OPENAI_API_KEY设置为环境变量。 - 如果需要,指导他们设置环境变量适合其操作系统/外壳。
- 永远不要在聊天中要求用户粘贴完整密钥。要求他们在本地设置并确认准备就绪。
如果在此环境中无法安装,告诉用户缺少哪个依赖项以及如何在本地安装。
默认值和规则
- 使用
gpt-image-1.5,除非用户明确要求gpt-image-1-mini或明确偏好更便宜/更快的模型。 - 假设用户想要新图像,除非他们明确要求编辑。
- 在进行任何实时API调用之前需要
OPENAI_API_KEY。 - 使用OpenAI Python SDK(
openai包)进行所有API调用;不要使用原始HTTP。 - 如果用户请求编辑,使用
client.images.edit(...)并包括输入图像(以及提供的掩码)。 - 偏好使用捆绑的CLI(
scripts/image_gen.py)而不是编写新的一次性脚本。 - 永远不要修改
scripts/image_gen.py。如果缺少某些内容,在采取其他行动之前询问用户。 - 如果结果不相关或不满足约束,通过小的目标提示更改迭代;仅在缺少细节阻碍成功时提问。
提示增强
将用户提示重新格式化为结构化、生产导向的规范。仅使隐含细节明确;不发明新需求。
用例分类(确切标识)
将每个请求分类到这些类别之一,并保持标识在提示和参考资料中一致。
生成:
- 逼真自然 — 真实纹理和自然光照的纪实/编辑生活方式场景。
- 产品mockup — 产品/包装拍摄、目录图像、商品概念。
- UI mockup — 看起来可发布的应用程序/网站界面mockups。
- 信息图图表 — 带有结构化布局和文本的图表/信息图。
- 标志品牌 — 标志/标记探索,矢量友好。
- 插图故事 — 漫画、儿童书籍艺术、叙事场景。
- 风格化概念 — 风格驱动的概念艺术、3D/风格化渲染。
- 历史场景 — 时期准确/世界知识场景。
编辑:
- 文本本地化 — 翻译/替换图像内文本,保留布局。
- 身份保留 — 试穿、人物场景;锁定面部/身体/姿势。
- 精确对象编辑 — 移除/替换特定元素(包括内部交换)。
- 光照天气 — 仅时间/季节/大气变化。
- 背景提取 — 透明背景 / 干净剪切。
- 风格转移 — 应用参考风格,同时更改主题/场景。
- 合成 — 多图像插入/合并,匹配光照/透视。
- 草图到渲染 — 绘图/线稿到逼真渲染。
快速澄清(增强 vs 发明):
- 如果用户说“landing页面的hero图像”,您可以添加布局/构图约束,这些约束由该使用隐含(例如,“右侧有大量空白用于标题文本”)。
- 不引入用户未要求的新创意元素(例如,添加吉祥物、更改主题、发明品牌名称/标志)。
模板(仅包括相关行):
用例: <分类标识>
资产类型: <资产将使用的场所>
主要请求: <用户的主要提示>
场景/背景: <环境>
主题: <主要主题>
风格/媒介: <照片/插图/3D等>
构图/取景: <广角/特写/俯视;放置>
光照/氛围: <光照 + 氛围>
调色板: <调色板注释>
材质/纹理: <表面细节>
质量: <低/中/高/自动>
输入保真度(编辑): <低/高>
文本(逐字): "<确切文本>"
约束: <必须保持/必须避免>
避免: <负面约束>
增强规则:
- 保持简短;仅添加用户已经隐含或在其他地方提供的细节。
- 始终将请求分类到上述分类标识中,并根据该类别定制约束/构图/质量。使用标识在
参考资料/示例提示.md中找到匹配的示例。 - 如果用户给出广泛请求(例如,“为此网站生成图像”),使用判断力提出品味良好、上下文适当的资产,并将每个映射到一个分类标识。
- 对于编辑,明确列出不变量(“仅更改X;保持Y不变”)。
- 如果任何关键细节缺失并阻碍成功,提问;否则继续。
示例
生成示例(hero图像)
用例: 风格化概念
资产类型: landing页面hero
主要请求: 陶瓷咖啡杯的简约hero图像
风格/媒介: 干净的产品摄影
构图/取景: 居中产品,右侧有大量空白
光照/氛围: 柔和的演播室光照
约束: 无标志、无文本、无水印
编辑示例(不变量)
用例: 精确对象编辑
资产类型: 产品照片背景替换
主要请求: 将背景替换为温暖的日落渐变
约束: 仅更改背景;保持产品及其边缘不变;无文本;无水印
提示最佳实践(简短列表)
- 将提示结构化为场景 -> 主题 -> 细节 -> 约束。
- 包括预期用途(广告、UI mock、信息图)以设置模式和抛光水平。
- 使用相机/构图语言实现逼真效果。
- 引用确切文本并指定排版 + 放置。
- 对于棘手单词,逐字母拼写并要求逐字渲染。
- 对于多图像输入,通过索引引用图像并描述如何组合它们。
- 对于编辑,每次迭代重复不变量以减少漂移。
- 通过单次更改跟进迭代。
- 对于延迟敏感的运行,从quality=low开始;对于文本繁重或细节关键的输出使用quality=high。
- 对于严格编辑(身份/布局锁定),考虑input_fidelity=high。
- 如果结果感觉“俗气”,添加简短的“避免:”行(库存照片感觉;俗气镜头光晕;过饱和霓虹;刺眼光晕;过锐化;杂乱)并指定克制(“编辑”、“优质”、“微妙”)。
更多原则:参考资料/提示.md。复制/粘贴规范:参考资料/示例提示.md。
按资产类型指导
资产类型模板(网站资产、游戏资产、线框图、标志)整合在参考资料/示例提示.md中。
CLI + 环境注释
- CLI命令 + 示例:
参考资料/cli.md - API参数快速参考:
参考资料/image-api.md - 如果网络批准 / 沙盒设置碍事:
参考资料/codex-network.md
参考资料映射
参考资料/cli.md:如何通过scripts/image_gen.py运行图像生成/编辑/批量(命令、标志、配方)。参考资料/image-api.md:API级别存在哪些旋钮(参数、尺寸、质量、背景、仅编辑字段)。参考资料/提示.md:提示原则(结构、约束/不变量、迭代模式)。参考资料/示例提示.md:复制/粘贴提示配方(生成 + 编辑工作流;仅示例)。参考资料/codex-network.md:环境/沙盒/网络批准故障排除。