GPT Image 2 生图与图片编辑 API
单次生图和编辑优先使用 Images API;需要多轮对话式编辑时,再使用 Responses API 的 image_generation 工具。
开始前确认
- API Key 所属分组已开放图片生成权限。
- 使用模型
gpt-image-2。 - 生成端点为
/v1/images/generations。 - 编辑端点为
/v1/images/edits。
不要把图片模型发到
/v1/chat/completions。原生图片模型应调用 Images API;对话模型调用图片工具则使用 Responses API。生成一张 2K 图片
下面示例生成 2048×2048 的 PNG,并把返回的 Base64 数据保存为本地文件。
curl -sS https://sub.tidba.com/v1/images/generations \
-H "Authorization: Bearer $TIDBA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "产品摄影,一台银色机械键盘置于干净的白色桌面,柔和侧光,画面中不出现文字",
"size": "2048x2048",
"quality": "medium"
}' \
| jq -r '.data[0].b64_json' \
| base64 --decode > output.png
先用 quality: "low" 做构图草稿,再用 medium 或 high 输出最终图,通常更节省额度。
上传参考图并编辑
编辑请求使用 multipart/form-data。下面把 input.png 作为参考图,保持主体结构并替换背景。
curl -sS https://sub.tidba.com/v1/images/edits \
-H "Authorization: Bearer $TIDBA_API_KEY" \
-F "model=gpt-image-2" \
-F "image[]=@input.png" \
-F "prompt=保留产品主体和视角,把背景替换为明亮的现代工作室,不添加文字" \
-F "size=2048x2048" \
-F "quality=medium" \
| jq -r '.data[0].b64_json' \
| base64 --decode > edited.png
可以上传多张参考图。输入图越多、尺寸越大,输入图片 Token 和处理时间通常越高。
需要多轮编辑时使用 Responses
Responses API 适合“先生成,再继续修改”的对话式流程。主模型负责理解意图,图片工具负责生成结果。
import OpenAI from "openai";
import fs from "node:fs";
const client = new OpenAI({
apiKey: process.env.TIDBA_API_KEY,
baseURL: "https://sub.tidba.com/v1"
});
const response = await client.responses.create({
model: "gpt-5.6-sol",
input: "生成一张简洁的 API 监控面板产品图,不要出现品牌文字",
tools: [{ type: "image_generation", action: "generate" }]
});
const call = response.output.find(
item => item.type === "image_generation_call"
);
if (!call?.result) throw new Error("No image returned");
fs.writeFileSync("dashboard.png", Buffer.from(call.result, "base64"));
如果只需要一张图,直接调用 Images API 更简单;Responses 会同时产生主模型调用和图片生成用量。
尺寸、质量和成本
| 参数 | 建议 | 影响 |
|---|---|---|
size | 先 1024,定稿再 2048 | 像素越多,生成成本和延迟通常越高 |
quality | 草稿 low,交付 medium/high | 质量越高,图片输出 Token 通常越多 |
| 参考图数量 | 只保留必要参考 | 增加输入图片 Token |
| 输出格式 | 需要速度时考虑 JPEG | PNG 体积通常更大 |
平台定价可能调整,调用前以站内当前计费规则和用量记录为准,不要把示例尺寸理解为固定单价承诺。
常见错误
404 或 Images API is not supported
确认 Key 所属分组是 OpenAI 图片能力分组,并检查端点路径。
429 或 rate_limit_exceeded
降低并发并做有限退避。图片请求通常比文本请求占用更长时间,不要立即并发重放。
moderation_blocked
修改提示词或输入图后再提交;这类用户可修正错误不应原样自动重试。
长时间没有响应
复杂图片可能需要较长时间。记录 Request ID,避免因客户端超时而重复扣费或重复生成。
不写代码也可以测试
使用平台生图页上传参考图并查看生成记录。