Community图像github.com

zsio/gpt-image

使用 OpenAI GPT Image 通过命令行界面生成和编辑图像。适用于本地图像生成、基于参考的编辑、蒙版处理、透明抠图以及将生成的资源保存到磁盘。此技能运行的是命令行工具,而非实现图像生成应用。

gpt-image 是什么?

该技能封装了 `gpt-image` 命令行工具,允许 AI 助手直接在本地环境中生成和编辑图像,而无需集成第三方 API 或库。它利用 OpenAI 的 GPT Image 模型(默认为 `gpt-image-2.6-flare`),支持从文本提示生成新图像、基于参考图像进行编辑、使用蒙版替换区域,以及生成透明 PNG 抠图或贴纸。最终输出会保存到本地磁盘,并返回文件路径,便于进一步处理或预览。技能会处理 CLI 的安装和配置,确保 `OPENAI_API_KEY` 安全设置,并提供 `--dry-run` 等选项来预览请求,避免不必要的 API 调用。这对于需要快速原型设计、资产创建或图像编辑的开发工作流非常有用,特别是在与 Cursor 或 Codex 等工具配合使用时。

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/zsio/openai-image-cli/tree/HEAD/skills/gpt-image

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

GPT Image CLI

使用 gpt-image CLI 生成用户请求的图像并返回其本地路径。需要 Node.js 22+。默认模型为 gpt-image-2.6-flare;质量默认为 API 的 auto。除非用户选择不同的设置,否则请保留这些默认值。

查找 CLI 和配置

在可用时使用已安装的 gpt-image 命令。否则,使用 npm 直接从公共仓库运行发布的 CLI:

npx --yes --package=github:zsio/openai-image-cli#v1.0.0 gpt-image --help

在后续示例中使用相同的前缀代替 gpt-image。当技能安装在未单独安装 CLI 的机器上时,此方法同样有效。它不需要代码检出或特定于机器的路径。

使用 gpt-image config show 检查配置。只需要 OPENAI_API_KEY;大小、模型、质量、格式和输出位置都有默认值。CLI 首先读取环境变量,然后读取位于 ${XDG_CONFIG_HOME:-$HOME/.config}/gpt-image/.env 的用户配置。gpt-image config path 打印解析后的路径。请尊重显式指定的 --config 或 GPT_IMAGE_CONFIG。

如果没有配置密钥,必要时运行 gpt-image config init,并告知用户在该本地文件中填写 OPENAI_API_KEY。将密钥保存在源码仓库和技能文件之外;不要要求用户将其粘贴到聊天中、打印出来或放在命令参数中。使用 config show 检查存在性,切勿通过显示配置文件来检查。不要仅仅为了检查配置而生成示例图像;使用 --dry-run 进行请求预览。

生成或编辑

对于新图像,将提示词作为单个参数传递。对于长提示或多行提示,编写一个 UTF-8 提示文件并使用 --prompt-file。

gpt-image generate "一只戴着红围巾的水彩小猫" --name kitten --json

gpt-image generate --prompt-file ./prompt.txt --out-dir ./assets --name cover --json

对于编辑或基于参考的生成,使用 edit 并重复 --image 以提供多个参考。输入顺序很重要:第一个图像是用于蒙版或标记层的主图像。

gpt-image edit "将背景改为雪山;保留人物的面部和衣物" \
  --image ./portrait.png --name snowy-portrait --json

gpt-image edit "将两个产品放在一个白底产品照片中" \
  --image ./product-a.png --image ./product-b.jpg --name product-pair --json

gpt-image edit "将透明蒙版区域替换为一个蓝色花瓶" \
  --image ./room.png --mask ./mask.png --name blue-vase --json

使用 --background transparent --format png 进行透明抠图或贴纸。对于对现有透明资源的编辑,如果请求中要求保留透明度,则保留透明度。--mask 和 --markup 接受 PNG 文件且不能组合使用;它们的尺寸必须与第一个图像匹配。最多支持 16 个参考图像,包括本地 PNG/JPEG/WebP、图像 URL 和 OpenAI 文件 ID。

提示词应保留用户的主题、确切请求的文本、风格和约束。对于编辑,同时说明所需更改和需要保留的细节。不要静默更改请求的图像数量、模型或质量。每次 CLI 调用生成一张最终图像;重试已禁用,因此在决定是否值得发起另一个计费请求之前,请检查失败原因。

输出和有用选项

  • 默认输出位于系统临时目录中一个唯一的 name-YYYYMMDD-HHmmss-SSS-suffix 文件夹。使用 --name 提供有用的短文件名。
  • 使用 --output FILE 指定确切的文件路径,或使用 --out-dir DIR --name NAME 指定目标目录。这些选项不能组合使用。现有输出文件将被保留。
  • 使用 --json 读取 image_path、metadata_path、prompt_path、request_id 和 API 使用情况。进度信息输出到 stderr。返回实际保存的图像路径;在有用时使用可用的本地图像查看器预览图像。
  • --size WIDTHxHEIGHT、--quality auto|low|medium|high|xhigh|max、--background auto|opaque|transparent 和 --format png|jpeg|webp|gif|svg 映射到 API 设置。模型/项目支持仍然适用。
  • 当用户选择用于详细视觉工作的分支时,使用 --model gpt-image-2.6-sunburst。对于没有模型偏好的普通请求,保留使用 Flare。
  • --stream --partial-images 1 保存一个预览图加上最终图像。只有完成的图像才是最终结果。
  • --params '{"complexity":"medium"}' 或 --params @params.json 传递额外的 API 字段。n 固定为 1。在使用不常见选项前,请阅读 gpt-image --help。
  • --timeout SECONDS 覆盖整个请求。在超时/取消时,服务可能已经接受了该请求。不要自动重新提交。

CLI 和 API 详情:https://github.com/zsio/openai-image-cli

相关技能