图像生成技能Skill:把「文生图 / 图生图 / 批量出图」固化成一条可重复执行的命令行流程
- 一句话定位:这是由 openai 出品的技能(英文名
imagegen,技能ID 12278),把 OpenAI Image API 的生成、编辑、批量三类操作,收敛到一条捆绑 CLI(scripts/image_gen.py)上,让出图变成可复现的工程动作,而不是一次性的临时脚本。 - 默认模型:默认使用
gpt-image-1.5,只有在用户明确要求时才切换到gpt-image-1-mini等更便宜/更快的选项。 - 核心能力:生成新图、编辑现有图(修复、掩码、背景替换、对象移除、透明背景、合成、风格转移、草图渲染)、批量跑多个提示或多个变体。
- 使用前提:本机需要
OPENAI_API_KEY,以及openai、pillow两个 Python 依赖,偏好用uv管理。 - 最大差异点:强制「先分类、再结构化提示、再跑 CLI、再检查、再单点迭代」的工作流,出图结果可追踪、可复现、可交接。
1. 该技能叫什么?如何一键安装 AI 技能提升开发效率?
技能基本信息
| 项目 | 内容 |
|---|---|
| 中文名 | 图像生成技能Skill |
| 英文名 | imagegen |
| 技能ID | 12278 |
| 作者 | openai |
| 依赖模型 | gpt-image-1.5(默认),可选 gpt-image-1-mini |
它解决什么问题
在没有这个技能之前,让 AI 帮忙出图往往是这样的流程:临时写一段调用 OpenAI Python SDK 的脚本、参数凭感觉填、输出文件随手丢在项目根目录、下次想复刻同样的图却记不清当时用了什么提示和参数。图像生成技能Skill 要解决的就是这种「一次性脚本满地跑」的混乱:它把意图判断(生成 / 编辑 / 批量)、提示结构化、CLI 调用、输出目录约定、结果校验、单点迭代这一整套动作写成固定流程,并且明确要求「优先使用捆绑 CLI,而不是新写一次性脚本」。
一键安装的思路与步骤
AI 技能的「一键安装」通常指:把技能加载进你的 AI 编程环境,让它自动读取技能说明与捆绑脚本。具体入口与命令以官方说明为准,下面是可以直接参考的通用流程:
- 确认运行环境:需要一个可执行 Python 的本地环境,并且该环境能访问网络以调用 OpenAI Image API。
- 安装依赖包:技能说明中给出的依赖安装方式为:
如果本机没有uv pip install openai pillowuv,改用:python3 -m pip install openai pillow - 配置 API 密钥:必须设置环境变量
OPENAI_API_KEY才能进行实时 API 调用。获取方式是在 OpenAI 平台创建 API Key(详情中给出的地址为https://platform.openai.com/api-keys),然后在你自己的操作系统 / Shell 中把它设置为环境变量。 - 安全提醒:技能明确要求「永远不要在聊天中要求用户粘贴完整密钥」,正确做法是让用户在本地设置好环境变量,然后确认「已就绪」。
- 验证是否生效:用一个最小任务试跑,例如让它「生成一张纯色背景的圆形图标,输出到
output/imagegen/下」。如果命令成功执行、目标目录出现图像文件,说明技能已生效;如果报错,通常集中在两处——缺少依赖包(按第 2 步补装)或OPENAI_API_KEY未生效(检查环境变量是否在当前 Shell 会话中可见)。
2. 该技能的主要功能和特点
- 三路决策树,意图不跑偏:用户提供了输入图像,或说「编辑 / 修饰 / 修复 / 掩码 / 翻译 / 仅更改某个元素」,走「编辑」;需要大量不同提示或不同资产,走「批量」;其余情况走「生成」。这条判断规则写在技能里,避免把「改背景」误做成「重画一遍」。
- 默认模型有主张:默认
gpt-image-1.5,只有在用户明确要求gpt-image-1-mini或明确表示偏好更便宜更快时才降级,减少「参数选择困难」。 - 捆绑 CLI 优先,拒绝一次性脚本:所有调用优先走
scripts/image_gen.py,通过--out或--out-dir控制输出路径。技能还明确规定不得修改这个脚本;如果缺少某些能力,应先询问用户而不是自行改写。 - 提示增强 ≠ 自由发挥:技能要求把用户提示重写成结构化的生产级规格(场景 → 主题 → 细节 → 约束),但只允许把「隐含信息显性化」,不得发明用户没要求的新创意元素(例如擅自加吉祥物、改主题、编造品牌名)。
- 用例分类体系:生成侧分为逼真自然、产品 mockup、UI mockup、信息图图表、标志品牌、插图故事、风格化概念、历史场景;编辑侧分为文本本地化、身份保留、精确对象编辑、光照天气、背景提取、风格转移、合成、草图到渲染。分类标识会贯穿提示与参考资料,便于按类复用模板。
- 批量模式有明确工程约定:批量任务写成临时 JSONL 放在
tmp/下(每行一个任务),跑一次后删除;中间文件统一放在tmp/imagegen/,最终产物放在output/imagegen/。 - 结果必须检查:对复杂生成或编辑,技能要求打开查看输出,核对主题、风格、构图、文本准确性以及不变量/避免项是否被破坏,然后做「单点修改 → 重跑 → 复查」的迭代。
- 参考资料成体系:
参考资料/cli.md(命令与标志)、参考资料/image-api.md(API 参数)、参考资料/提示.md(提示原则)、参考资料/示例提示.md(可直接复制的提示配方)、参考资料/codex-network.md(网络与沙盒排障)。 - 只走官方 SDK:所有 API 调用使用
openaiPython 包,不使用原始 HTTP 请求,降低接口变动带来的维护成本。
3. 如何使用该技能?
步骤 1:先定意图
对着自己的需求问一句:我手上有没有输入图像?要不要一次出很多张?有图要改 → 编辑;要出一批 → 批量;其余 → 生成。同时把材料一次性备齐:提示词(可能多条)、要逐字渲染的文本、约束与「避免」清单、输入图像与蒙版。多图输入时,用索引 + 角色把每张图标清楚。
步骤 2:把提示写成结构化规格
用例: 产品mockup
资产类型: 电商详情页主图
主要请求: 一只哑光黑色陶瓷马克杯
场景/背景: 浅灰色无缝背景
风格/媒介: 干净的产品摄影
构图/取景: 居中,四周留白
光照/氛围: 柔和影棚光,轻微投影
材质/纹理: 哑光釉面,细腻高光
质量: high
约束: 无 logo、无文字、无水印
避免: 库存图感、过饱和霓虹、刺眼眩光
步骤 3:跑 CLI 生成
调用捆绑的 scripts/image_gen.py,用 --out 或 --out-dir 指定落盘位置,例如把最终产物写到 output/imagegen/ 下,文件名保持稳定且具描述性(如 hero-ceramic-mug-v1.png)。具体的子命令与标志以 参考资料/cli.md 与官方说明为准。
步骤 4:看图、验图
打开输出文件核对:主题对不对、风格是不是想要的、构图留白够不够、图里文字是否逐字正确、约束项有没有被破坏。
步骤 5:单点迭代
一次只改一处(改提示或改蒙版),重跑,再复查。编辑类任务建议每次迭代都把不变量重复写一遍,减少漂移。
步骤 6:批量任务
在 tmp/ 下写一个 JSONL,每行一个任务,一次性跑完,然后删除这个 JSONL,不留在仓库里。
编辑示例(含不变量)
用例: 精确对象编辑
资产类型: 产品照片背景替换
主要请求: 把背景换成温暖的日落渐变
约束: 只改背景;保持产品本体与边缘不变;无文字;无水印
参数小抄
- 对延迟敏感:从
quality=low起步,先看构图。 - 文本密集或细节关键:用
quality=high。 - 身份 / 版式必须锁死的严格编辑:考虑
input_fidelity=high。 - 效果「俗气」时:补一行「避免」并加「克制」「高级感」「微妙」这类限定词。
4. 同类型竞品对比分析
| 方案名称 | 定位 | 核心功能 | 安装/使用门槛 | 适用场景 | 优势 | 不足 |
|---|---|---|---|---|---|---|
图像生成技能Skill(imagegen) |
面向开发流程的 OpenAI 图像能力封装 | 生成 / 编辑 / 批量三路决策;结构化提示;捆绑 CLI;固定目录约定 | 需 Python 环境、openai + pillow、OPENAI_API_KEY |
网站与游戏资产、产品图、UI mockup、信息图、批量变体 | 流程可复现、结果可追踪、提示模板与分类体系完善、强调安全处理密钥 | 依赖 OpenAI API 与密钥;需要基础命令行操作能力 |
| 手写 OpenAI SDK 脚本 | 一次性自研方案 | 直接调用官方接口,参数完全自控 | 需自己搭脚本、自己定目录与命名规范 | 单次实验、临时需求 | 灵活度最高,无额外抽象 | 每次重写、难以复现、参数与提示容易丢失、无校验与迭代纪律 |
| 在线出图产品的网页端 | 面向普通用户的图形化出图 | 文本框输入提示,网页内预览与下载 | 门槛极低,注册即可用 | 灵感探索、非工程化的单张需求 | 上手最快,所见即所得 | 难以批量化与自动化,不便纳入代码仓库与 CI 流程,提示与产物不易归档 |
| 本地可视化工作流工具 | 面向进阶创作者的节点式管线 | 节点拼装、本地部署、可接入多种模型 | 门槛较高,需本地算力与配置 | 高度定制的图像管线、风格实验 | 控制粒度细、可离线、生态插件丰富 | 学习曲线陡,环境维护成本高,与代码工程结合的规范性需自己约定 |
选型建议:如果你的出图需求发生在代码仓库里、需要反复复现同一套资产、并且希望提示与参数像代码一样被管理,imagegen 的契合度最高;如果只是偶尔做一两张灵感图,网页端更省事;如果要做极致定制的视觉管线,本地节点式工具更合适。
5. 该技能的典型应用场景与实际体验情况
场景一:独立开发者 / 前端工程师做落地页视觉资产
痛点:手里没有设计资源,hero 图、图标、功能配图全靠凑,风格还不统一。使用方式:先按「风格化概念 / 产品 mockup」分类写结构化提示,把「右侧留大量空白放标题」这类版式约束显式写进构图项,quality 先用 low 试构图,定稿后换 high 重出。实际体验:上手难度低,一次分类写清楚后,后续同类页面的提示可以直接复用模板;注意点是「留白」这类版式要求必须写出来,否则模型默认居中构图会压住文字区。
场景二:电商与品牌团队的 product mockup 与背景替换
痛点:产品图要换季节背景、换氛围,但重拍成本高。使用方式:走「编辑」分支,提示里写清不变量——「只改背景,保持产品本体与边缘不变」,每次迭代都把不变量重复一遍。实际体验:编辑分支的关键不在提示词漂亮,而在不变量写得狠;边缘、投影、反光最容易出问题,务必逐张放大检查。
场景三:游戏 / 内容团队的批量概念图与变体
痛点:需要几十张风格统一的概念图或同一主题的多个变体,逐张手工跑太慢。使用方式:在 tmp/ 下写 JSONL,每行一个任务,一次跑完再删除临时文件,产物统一落到 output/imagegen/。实际体验:批量模式的收益最明显,但需要提前把提示规范化,否则一批图风格会散;建议先用两三行小批量验证提示模板,再全量铺开。
场景四:运营与设计的信息图、UI mockup 与图内文本本地化
痛点:图里要出现准确文案,或者要把一张已有图里的文字换成另一种语言而版式不动。使用方式:文本类任务用 quality=high,把要渲染的文字逐字写进「文本(逐字)」字段;本地化走「文本本地化」分类,明确要求保留布局。实际体验:文字渲染是最容易翻车的环节,棘手单词可要求逐字母拼写并逐字渲染;本地化后一定要核对换行与字号是否破坏版式。
整体注意点:技能会主动要求检查与迭代,这比「生成完就直接交付」慢一点,但返工率低得多;另外密钥必须自己在本机配置好,不要在对话里粘贴。
6. 该技能能为用户带来的价值
效率层面:把「想需求 → 写脚本 → 调参数 → 存文件 → 不满意重来」的散点动作收敛成固定六步,批量任务从「一张一张点」变成「一次跑完一个 JSONL」。对需要持续产出视觉资产的团队,省下的是每次重写脚本和重新找参数的时间。
质量与一致性层面:结构化的提示模板加上用例分类标识,让同类资产有统一的写法;「单点修改、重跑、复查」的迭代纪律,把随机试错变成有方向的收敛。固定的输出目录与命名约定,让资产像代码一样可检索、可交接。
门槛层面:使用者不需要精通图像模型的参数体系——默认模型、默认尺寸策略、quality 与 input_fidelity 的使用时机都写好了提示;同时 参考资料/ 下备好了 CLI 命令、API 参数、提示原则与可复制的示例配方,遇到问题能自查。
成本与安全层面:默认 gpt-image-1.5、需要时才降级到更轻量的模型,避免无谓消耗;技能明确禁止在对话中索取完整密钥,把密钥留在本地环境变量里,降低泄露风险。实际调用产生的 OpenAI 账户费用以官方说明为准。
长期价值:当出图被纳入仓库规范(output/imagegen/ 存产物、tmp/imagegen/ 存临时文件、提示与标志一并记录),视觉资产就从「某个人电脑里的图」变成了「团队可复现的工程产物」。
7. 常见问题 FAQ
Q1:这个技能怎么安装?需要准备什么?
A:核心是三步——装依赖(uv pip install openai pillow,没有 uv 就用 python3 -m pip install openai pillow)、配置 OPENAI_API_KEY 环境变量、用一个最小生成任务验证是否跑通。把技能加载到你的 AI 环境的具体入口以官方说明为准,技能本身不需要你手写任何调用代码。
Q2:使用它要收费吗?
A:技能本身不涉及独立定价,真正的成本来自调用 OpenAI Image API 所产生的账户用量,具体计费以 OpenAI 官方说明为准。省钱的做法是:构图阶段用 quality=low 快速验证,只在文本密集或细节关键时才上 quality=high,并避免无必要地重复批量跑同一批提示。
Q3:我的 API 密钥要怎么给?会不会有泄露风险?
A:不要给。技能明确规定「永远不要在聊天中要求用户粘贴完整密钥」,正确做法是你在本地把 OPENAI_API_KEY 设置为环境变量,然后告诉 AI「已就绪」。它在调用时读取环境变量,不读取聊天内容。
Q4:它适合谁用?不适合谁? A:适合在代码仓库里持续产出视觉资产的人——独立开发者、前端工程师、电商与品牌视觉、游戏与内容团队,以及需要批量出变体的运营同学。如果你只是想偶尔做一张灵感图,用网页端更省事;如果你要的是完全离线的本地模型管线,这个技能并不覆盖。
Q5:生成或编辑的效果不理想时该怎么调整?
A:按技能给的纪律来:先判断是不是分类选错了(该编辑却走了生成),再把提示补成「场景 → 主题 → 细节 → 约束」的结构,检查有没有漏写「文本(逐字)」和不变量;效果偏俗气就加一行「避免」并指定克制风格;然后一次只改一处、重跑、复查,不要去改捆绑的 scripts/image_gen.py。
Q6:它和直接写一段 OpenAI 调用脚本有什么区别? A:区别在「可复现」和「有纪律」。手写脚本每次都要重来,参数和提示容易丢;这个技能固定了决策树、提示结构、CLI 入口、目录约定和检查迭代流程,还配了 CLI / API / 提示 / 示例四类参考资料,同类需求第二次就能直接套模板。