imagegen 是做什么的?
一次命令即调用 /images/generations 或 /images/edits 并将结果保存到当前项目。
设置(用户只需执行一次)
- 需要 OpenAI 图片 API 或任何兼容 OpenAI 的图片 API 的 API 密钥。
- 环境变量(在 Windows 上,使用
setx设置的值从注册表读取,因此无需重启代理):IMAGEGEN_API_KEY:API 密钥。如果未设置,则回退到OPENAI_API_KEY。IMAGEGEN_BASE_URL:可选,默认https://api.openai.com/v1。IMAGEGEN_MODEL:可选,默认gpt-image-2。
- Python 3.8+,仅使用标准库。将此文件夹安装到
~/.claude/skills/imagegen/(Claude Code)和/或~/.codex/skills/imagegen/(Codex)。 - 可选:将
imagegen包装器放在 PATH 上(示例见仓库的wrappers/目录)。如果没有包装器,请将下面的imagegen替换为python <技能文件夹路径>/scripts/imagegen.py。
生成
imagegen "<提示词>" [--size 1536x1024] [--quality high] [--n 2] [--out path.png]
输出选项(仅在给出时发送;并非所有 API 或模型都接受):--background transparent|opaque|auto,--format png|jpeg|webp,--compression 0-100(仅适用于 jpeg/webp)。
编辑(传入一个或多个输入图像)
imagegen "<要更改的内容>" --image input.png [--image ref.png] [--mask mask.png]
输出
stdout 上输出一行 JSON:
{"ok": true, "mode": "generate", "paths": ["/path/to/project/output/imagegen/20260101-120000-orange-cat.png"], "seconds": 42.9, "model": "gpt-image-2", "revised_prompt": null, "sidecars": ["/path/to/project/output/imagegen/20260101-120000-orange-cat.json"]}
每张图像都会附带一个侧边 JSON 文件(文件名相同,扩展名为 .json),其中包含提示词、修订提示词、模型、尺寸、质量、其他选项、输入图像和遮罩路径、耗时以及创建时间(使用 --no-sidecar 可关闭此功能)。最后一张图像是您上一次输出中的最后一个路径;如果您没有该信息(新会话),请从 output/imagegen/ 中取最新图像并读取其 .json 文件以获取生成它所用的提示词。
失败时:{"ok": false, "error": "..."},退出码为 1。读取 paths 并向用户报告。如果错误提示没有 API 密钥,请告知用户如何设置 IMAGEGEN_API_KEY;不要自行查找密钥。
工作方式
- 默认情况下:根据用户的请求生成一次并报告路径。除非用户要求,否则不要打开或评判图像,也不要重新生成。
- 只使用用户已经说过的话。不要自行添加风格或细节。如果缺少某些必要信息(例如图像上的准确文字、横向还是纵向),请在生成前询问一次。
- 当用户要求更改结果(“把左边的变成蓝色”)时,使用
--image <上一个路径>编辑上一张图像,而不是从头生成。 - 可以并行请求多个独立的图像(同时运行多个命令)。
- 仅当用户要求迭代(“迭代直到满意”)并且您可以查看图像时:编写一个包含可检查要求的简短清单,生成图像,打开图像,检查每一项。使用
--image编辑修复局部问题,仅当整体方向错误时才重新生成。当所有项目通过或经过 3 轮后停止,并报告每个版本的路径以及仍失败的项目。
注意事项
- 如果没有提供
--out,文件默认保存到当前目录下的output/imagegen/<时间>-<关键词>.png(扩展名跟随--format)。 - 尺寸:
1024x1024(方形)、1536x1024(横向)、1024x1536(纵向)。gpt-image-2 还支持自定义尺寸,例如2048x1152(16:9):两侧均为 16 的倍数,最长边不超过 3840,宽高比在 1:3 到 3:1 之间。省略--size则使用自动尺寸。 --quality low适用于草稿,速度最快;high适用于最终资产。xhigh/max仅适用于支持这些值的模型。- 生成一张图像大约需要 30-90 秒。请在前台运行,超时时间至少设置为 600000 毫秒;不要轮询。
- 提示词写法:资产类型、主体、风格、构图、光照、确切文字(如有则放在引号内)。支持非英语提示词。
- 必须出现在图像上的文字应放在引号内,逐词写出,并说明其位置:例如,顶部标题写着“夏季促销”。生僻词汇应逐字母拼写。
- 当有多张输入图像时,按顺序说明每张的用途:“图像 1:要编辑的产品照片。图像 2:仅作风格参考。”
- 编辑时,精确说明哪些内容发生变化,并指出其他一切保持不变:“仅将夹克改为红色;保持面部、姿势、背景和光照不变。”在每次后续编辑中重复说明未改变的部分。
--background transparent需要 png 或 webp 输出格式以及支持该功能的模型。--dry-run会打印请求内容而不实际调用 API。- 切勿打印或写入 API 密钥。