关于 gpt-image2
gpt-image2 是一个轻量级 Node.js 命令行工具,通过兼容 OpenAI 的图像接口生成和编辑图像。它支持配置 API 通道、复用提示词模板,并提供多种编辑参考图像的方式。
主要功能
- 01根据文本提示生成图像
- 02根据提示编辑现有图像
- 03配置 API 通道和模型
- 04使用可复用的提示词模板
- 05查看支持的输出尺寸
- 06通过 ImgBB 上传本地图像作为编辑参考
适用场景
- 01根据直接提示创建图像
- 02试用提示词模板
- 03使用本地或托管参考图像进行编辑
- 04在调用 API 前检查请求内容
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ liuhuapiaoyuan/ gpt-image2-skill --skill gpt-image2安装后在 Claude Code 中输入/gpt-image2确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdREADME.zh-CN.md.gitignorepackage.jsonagents/openai.yamlreferences/prompts.jsonscripts/gpt-image2.mjsimgbb-upload.mjs详细介绍
GPT Image 2
使用随附的 Node.js CLI 进行轻量级图像生成和编辑。它没有 npm 依赖,并支持兼容 OpenAI 的图像端点。
快速开始
在此技能文件夹中运行命令:
node scripts/gpt-image2.mjs --help
node scripts/imgbb-upload.mjs --help
配置 API 通道:
node scripts/gpt-image2.mjs config set openai --api-key "$OPENAI_API_KEY" --base-url "https://ai-api.qzsyzn.com/v1" --model "gpt-image-2" --edit-transport generations
node scripts/gpt-image2.mjs config use openai
对于官方 OpenAI 风格的 POST /images/edits multipart 流程(省略时为默认值),请使用 --edit-transport multipart。
对于统一 JSON 编辑(generations),不要依赖庞大的 base64 载荷。优先使用 HTTPS URL:
- 默认方式:本地参考文件会自动上传到 ImgBB(使用内置 API 密钥,该密钥经过加密并存储在
scripts/imgbb-upload.mjs中)。除非想使用自己的密钥,否则无需设置IMGBB_API_KEY;如需使用自己的密钥,请使用IMGBB_API_KEY或--imgbb-key(参见 ImgBB API)。 - 或先上传文件,然后仅使用 URL 进行编辑:
node scripts/imgbb-upload.mjs ./test/image.png
node scripts/gpt-image2.mjs edit --edit-transport generations --image "https://i.ibb.co/..." --prompt "Your edit instruction" --output outputs/edited.png
通过 npm link 全局安装后,运行 imgbb-upload ./photo.png,即可每行输出一个 URL。
仅当你有意使用数据 URL(例如用于离线调试)时,才使用 --embed-local-base64。
试用提示词模板:
node scripts/gpt-image2.mjs templates list
node scripts/gpt-image2.mjs try encyclopedia-card --var topic="coffee brewing" --output outputs/coffee.png
查询支持的分辨率:
node scripts/gpt-image2.mjs sizes list
node scripts/gpt-image2.mjs sizes list --orientation portrait
使用直接提示词生成图像:
node scripts/gpt-image2.mjs generate --prompt "A clean product hero image of a ceramic desk lamp" --size 1024x1024 --output outputs/lamp.png
编辑现有图像(generations 传输方式默认会通过 ImgBB 上传本地文件):
node scripts/gpt-image2.mjs edit --image input.png --prompt "Keep the object unchanged, replace the background with a warm studio setup" --output outputs/edited.png --edit-transport generations
可选:使用 export IMGBB_API_KEY="..." 或 --imgbb-key ...,以使用你自己的 ImgBB 密钥,而非内置默认密钥。
打印 curl 命令,而不是调用 API:
node scripts/gpt-image2.mjs generate --template city-poster --var city="Chengdu" --curl
工作流
- 从头编写提示词前,先使用
templates list、templates search <query>和templates show <id>。 - 使用
try <template-id> --var key=value快速试验。 - 使用
config set <channel>设置特定提供方的 API 密钥、基础 URL 和模型名称。默认使用当前激活的通道。 - 将兼容 OpenAI 的 API 密钥保存在配置文件或环境变量中,不要放入已提交的文件。除非通过
IMGBB_API_KEY或--imgbb-key覆盖,否则 ImgBB 使用内置默认密钥。 - 选择
--size前先运行sizes list,尤其是在方形、纵向和横向输出之间切换时。 - 使用
--dry-run检查最终载荷;如果用户希望使用原生命令行调用,则使用--curl(启用 ImgBB 时,dry-run 仍会联系 ImgBB,以便 JSON 中的 URL 与实际运行时一致)。 - 如果 API 调用失败一次,请报告 HTTP 状态和响应正文。不要在未更改提示词、尺寸、通道或超时的情况下盲目重试。
配置
凭据优先级:
- CLI 标志:
--api-key、--base-url、--model、--edit-transport、--imgbb-key - 配置文件中的激活通道
- 环境变量:
GPT_IMAGE_API_KEY、OPENAI_API_KEY、API_KEY;GPT_IMAGE_BASE_URL、OPENAI_BASE_URL、BASE_URL;GPT_IMAGE2_EDIT_TRANSPORT(multipart或generations);IMGBB_API_KEY(可选;为generations编辑上传本地文件时,可覆盖内置 ImgBB 密钥)
配置文件默认路径为 ~/.gpt-image2/config.json。使用 GPT_IMAGE2_CONFIG 可覆盖该路径。
实用命令:
node scripts/gpt-image2.mjs config list
node scripts/gpt-image2.mjs config show
node scripts/gpt-image2.mjs config use <channel>
node scripts/gpt-image2.mjs config set <channel> --api-key "..." --base-url "..." --model "..." [--edit-transport multipart|generations]
提示词模板
模板位于 references/prompts.json。请确保模板可重复使用:
- 使用
{{variable}}占位符填写用户特定的详细信息。 - 除非用户明确提供了适当的权利和背景信息,否则避免使用真实私人个体的姓名或肖像。
- 优先提供完整的视觉规范:主体、场景、构图、光线、风格、细节和输出用途。
- 新模板应采用简洁的模式,避免逐字复制冗长的社区提示词。
API 说明
CLI 会调用:
POST /images/generations用于文生图(JSON)。- 编辑模式(默认): 使用 multipart 表单数据调用
POST /images/edits(--edit-transport multipart)。 - 统一网关: 使用相同的 JSON
POST /images/generations,并传入由字符串组成的image数组。优先使用 HTTPS URL: 默认情况下,本地文件会通过 ImgBB 上传(使用内置密钥);JSON 中只会发送 URL。使用--embed-local-base64可强制使用 data URL。可选的IMGBB_API_KEY/--imgbb-key可覆盖默认的 ImgBB 密钥。可使用scripts/imgbb-upload.mjs执行独立的上传步骤。最多支持 5 张参考图;此模式不支持--mask。
如果存在 b64_json 图像数据,程序会保存该数据;对于使用 URL 的 OpenAI 兼容网关,也可以下载返回的 url。