mcpField
G
gpt-image2

gpt-image2

github.com/liuhuapiaoyuan创意与媒体1147 次安装26 周前更新
代码仓库

关于 gpt-image2

gpt-image2 是一个轻量级 Node.js 命令行工具,通过兼容 OpenAI 的图像接口生成和编辑图像。它支持配置 API 通道、复用提示词模板,并提供多种编辑参考图像的方式。

主要功能

  1. 01根据文本提示生成图像
  2. 02根据提示编辑现有图像
  3. 03配置 API 通道和模型
  4. 04使用可复用的提示词模板
  5. 05查看支持的输出尺寸
  6. 06通过 ImgBB 上传本地图像作为编辑参考

适用场景

  1. 01根据直接提示创建图像
  2. 02试用提示词模板
  3. 03使用本地或托管参考图像进行编辑
  4. 04在调用 API 前检查请求内容

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/liuhuapiaoyuan/gpt-image2-skill --skill gpt-image2

安装后在 Claude Code 中输入/gpt-image2确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
README.zh-CN.md
.gitignore
package.json
agents/
openai.yaml
references/
prompts.json
scripts/
gpt-image2.mjs
imgbb-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:

  1. 默认方式:本地参考文件会自动上传到 ImgBB(使用内置 API 密钥,该密钥经过加密并存储在 scripts/imgbb-upload.mjs 中)。除非想使用自己的密钥,否则无需设置 IMGBB_API_KEY;如需使用自己的密钥,请使用 IMGBB_API_KEY 或 --imgbb-key(参见 ImgBB API)。
  2. 或先上传文件,然后仅使用 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

工作流

  1. 从头编写提示词前,先使用 templates list、templates search <query> 和 templates show <id>。
  2. 使用 try <template-id> --var key=value 快速试验。
  3. 使用 config set <channel> 设置特定提供方的 API 密钥、基础 URL 和模型名称。默认使用当前激活的通道。
  4. 将兼容 OpenAI 的 API 密钥保存在配置文件或环境变量中,不要放入已提交的文件。除非通过 IMGBB_API_KEY 或 --imgbb-key 覆盖,否则 ImgBB 使用内置默认密钥。
  5. 选择 --size 前先运行 sizes list,尤其是在方形、纵向和横向输出之间切换时。
  6. 使用 --dry-run 检查最终载荷;如果用户希望使用原生命令行调用,则使用 --curl(启用 ImgBB 时,dry-run 仍会联系 ImgBB,以便 JSON 中的 URL 与实际运行时一致)。
  7. 如果 API 调用失败一次,请报告 HTTP 状态和响应正文。不要在未更改提示词、尺寸、通道或超时的情况下盲目重试。

配置

凭据优先级:

  1. CLI 标志:--api-key、--base-url、--model、--edit-transport、--imgbb-key
  2. 配置文件中的激活通道
  3. 环境变量: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。

评论

支持 Markdown