with one click
gpt-image2
基于 GPT Image2 模型生成图片。支持纯文本描述生成图片,或基于参考图片进行图片生成。自动下载并保存生成的图片到当前目录。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
基于 GPT Image2 模型生成图片。支持纯文本描述生成图片,或基于参考图片进行图片生成。自动下载并保存生成的图片到当前目录。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
| name | gpt-image2 |
| description | 基于 GPT Image2 模型生成图片。支持纯文本描述生成图片,或基于参考图片进行图片生成。自动下载并保存生成的图片到当前目录。 |
| license | MIT |
| metadata | {"author":"mozhenghua","version":"1.0"} |
此命令基于 VectorEngine API 的 gpt-image-2:stable 模型,支持两种方式生成图片:
/gpt-image2 <图片描述>
示例:
/gpt-image2 一只可爱的橙色小猫坐在窗台上看风景
/gpt-image2 A futuristic city skyline at sunset with neon lights
/gpt-image2 image:/path/to/image.png <图片描述>
示例:
/gpt-image2 image:/Users/mozhenghua/photo.jpg 将这张照片转换为水彩画风格
/gpt-image2 image:./reference.png 保持构图,改成卡通风格
调用 VectorEngine API 的 GPT Image2 模型,支持:
生成的图片自动下载保存到当前目录。
用户需求接收格式:$ARGUMENTS
从用户输入中提取以下参数:
image:/path/to/image.pnggpt-image-2:stable1024x10241支持的尺寸选项:
1024x1024(正方形,默认)512x512(小正方形)1024x768(横版)768x1024(竖版)从 $ARGUMENTS 中提取参数:
image:/path/to/file 格式的参考图片路径model:xxx、size:xxx 或 n:xxx,则解析相应参数示例解析:
一只小猫 → image=null, prompt="一只小猫", model="gpt-image-2:stable", size="1024x1024", n=1size:512x512 一只小猫 → image=null, prompt="一只小猫", size="512x512"image:/tmp/cat.jpg 改成水彩风格 → image="/tmp/cat.jpg", prompt="改成水彩风格"n:2 一只小猫 → image=null, prompt="一只小猫", n=2如果用户提供了参考图片路径:
# 检查文件是否存在
if [ ! -f "/path/to/image.png" ]; then
echo "错误:图片文件不存在"
exit 1
fi
# 获取图片格式
image_ext="${image_path##*.}"
image_format=$(echo "$image_ext" | tr '[:upper:]' '[:lower:]')
# 映射文件扩展名到 MIME 类型
case "$image_format" in
jpg) mime_type="jpeg" ;;
jpeg) mime_type="jpeg" ;;
png) mime_type="png" ;;
webp) mime_type="webp" ;;
*) mime_type="jpeg" ;;
esac
# 使用 base64 编码图片(macOS)
image_base64=$(base64 -i "/path/to/image.png")
# 构造 data URI 格式
image_data_uri="data:image/${mime_type};base64,${image_base64}"
重要说明:
base64 命令对图片进行编码base64 -i <file>,Linux 使用 base64 -w 0 <file>data:image/[format];base64,[base64数据] 格式编码使用 Bash 工具执行 curl 命令调用 API:
curl -s -X POST "https://api.vectorengine.ai/v1/images/generations" \
-H "Authorization: Bearer $GPT_IMAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "<model>",
"prompt": "<prompt>",
"size": "<size>",
"n": <n>,
"format": "png"
}'
当提供参考图片时,使用 edits endpoint:
curl -s -X POST "https://api.vectorengine.ai/v1/images/edits" \
-H "Authorization: Bearer $GPT_IMAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "<model>",
"prompt": "<prompt>",
"image": "<image_data_uri>",
"n": "<n>",
"size": "<size>",
"quality": "auto",
"background": "auto",
"moderation": "auto"
}'
重要说明:
data:image/[format];base64,[base64数据]$GPT_IMAGE_TOKEN 作为 Bearer tokenJSON 构造技巧: 由于 prompt 和 base64 数据可能包含特殊字符,建议使用 jq 工具构造 JSON(如果可用):
# 纯文本生成(使用 jq)
curl --max-time 600 -s -X POST "https://api.vectorengine.ai/v1/images/generations" \
-H "Authorization: Bearer $GPT_IMAGE_TOKEN" \
-H "Content-Type: application/json" \
-d "$(jq -n \
--arg model "$model" \
--arg prompt "$prompt" \
--arg size "$size" \
--argjson n "$n" \
'{model: $model, prompt: $prompt, size: $size, n: $n, format: "png"}')"
# 图生图(使用 jq)
curl --max-time 600 -s -X POST "https://api.vectorengine.ai/v1/images/edits" \
-H "Authorization: Bearer $GPT_IMAGE_TOKEN" \
-H "Content-Type: application/json" \
-d "$(jq -n \
--arg model "$model" \
--arg prompt "$prompt" \
--arg image "$image_data_uri" \
--arg size "$size" \
--argjson n "$n" \
'{model: $model, prompt: $prompt, image: $image, n: $n, size: $size, quality: "auto", background: "auto", moderation: "auto"}')"
如果没有 jq,需要手动转义特殊字符(引号、换行符等)。
API 可能返回两种格式的响应:
data[].url - 图片的临时下载链接data[].b64_json - Base64 编码的图片数据需要同时支持这两种格式。
示例响应结构:
URL 格式响应:
{
"created": 1234567890,
"data": [
{
"url": "https://example.com/image1.png"
}
]
}
Base64 格式响应:
{
"created": 1234567890,
"data": [
{
"b64_json": "iVBORw0KGgoAAAANS..."
}
]
}
使用以下逻辑处理两种响应格式:
counter=1
# 检查响应中是否包含 url 字段
if echo "$response" | jq -e '.data[0].url' > /dev/null 2>&1; then
# URL 格式:下载图片
image_urls=$(echo "$response" | jq -r '.data[].url')
for url in $image_urls; do
if [ $n -eq 1 ]; then
filename="generated_$(date +%Y%m%d_%H%M%S).png"
else
filename="generated_$(date +%Y%m%d_%H%M%S)_${counter}.png"
fi
curl -s -o "$filename" "$url"
echo "已保存:$filename"
counter=$((counter + 1))
done
elif echo "$response" | jq -e '.data[0].b64_json' > /dev/null 2>&1; then
# Base64 格式:解码并保存
echo "$response" | jq -r '.data[].b64_json' | while read -r b64_data; do
if [ $n -eq 1 ]; then
filename="generated_$(date +%Y%m%d_%H%M%S).png"
else
filename="generated_$(date +%Y%m%d_%H%M%S)_${counter}.png"
fi
# 解码 base64 数据并保存
echo "$b64_data" | base64 -d > "$filename"
echo "已保存:$filename"
counter=$((counter + 1))
done
else
echo "错误:无法从响应中提取图片数据"
echo "原始响应:"
echo "$response"
exit 1
fi
说明:
base64 -d 解码 Base64 数据并保存为文件文件命名格式:
generated_YYYYMMDD_HHMMSS.pnggenerated_YYYYMMDD_HHMMSS_1.png, generated_YYYYMMDD_HHMMSS_2.png, ...输出信息应包含:
示例输出(纯文本生成):
✓ 图片生成成功!
文件路径:/path/to/generated_20260626_143025.png
模型:gpt-image-2:stable
尺寸:1024x1024
数量:1
描述:A futuristic city skyline at sunset with neon lights
示例输出(图生图,多张):
✓ 图片生成成功!
文件路径:
1. /path/to/generated_20260626_143025_1.png
2. /path/to/generated_20260626_143025_2.png
模型:gpt-image-2:stable
尺寸:1024x1024
数量:2
参考图片:/tmp/cat.jpg
描述:改成水彩风格
处理以下可能的错误情况:
环境变量未设置
$GPT_IMAGE_TOKEN 是否存在参考图片文件不存在
图片文件格式不支持
图片文件过大
API 调用失败
JSON 解析失败
图片下载失败
特殊字符转义问题
Prompt 编写建议
参考图片选择
尺寸选择
批量生成
n:2 或更大值一次生成多张变体文件管理
curl -s 静默模式避免进度输出-o 参数保存文件,而不是重定向curl:HTTP 请求工具(系统自带)date:时间戳生成(系统自带)base64:图片 Base64 编码(系统自带)jq(强烈推荐):JSON 解析和构造工具
brew install jq(macOS)或包管理器安装$GPT_IMAGE_TOKEN 环境变量格式正确:sk-YOUR_TOKEN在使用前,需要设置 API token:
# 临时设置(当前会话)
export GPT_IMAGE_TOKEN="sk-YOUR_TOKEN"
# 永久设置(添加到 ~/.bashrc 或 ~/.zshrc)
echo 'export GPT_IMAGE_TOKEN="sk-YOUR_TOKEN"' >> ~/.bashrc
source ~/.bashrc
https://api.vectorengine.ai/v1/images/generations/v1/images/edits| 特性 | text-2-image (Qwen) | gpt-image2 (GPT) |
|---|---|---|
| API 提供商 | 阿里云 Token Plan | VectorEngine |
| 模型 | qwen-image-2.0 | gpt-image-2:stable |
| 尺寸格式 | 1024*1024 | 1024x1024 |
| 批量生成 | 不支持 | 支持(n 参数) |
| 图片输入格式 | 纯 base64 | data URI 格式 |
| API 风格 | 自定义 | OpenAI 兼容 |
| 环境变量 | QWEN_AUTH_TOKEN | GPT_IMAGE_TOKEN |
$GPT_IMAGE_TOKEN 是否正确设置sk-YOUR_TOKENBased on SOC occupation classification