接口
GPT Image 2 参数
| 参数 | 接口 | 可用值与说明 |
|---|---|---|
model | 生成、编辑 | 使用 GPT Image 2 时传入 gpt-image-2;未传时 ApiGo 默认使用 dall-e-2 |
size | 生成、编辑 | 常用值包括 1024x1024、1536x1024、1024x1536、2048x2048、2048x1152 和 auto;也可以传符合尺寸约束的自定义分辨率 |
quality | 生成、编辑 | low、medium、high 或 auto;ApiGo 未收到该字段时使用 medium |
n | 生成、编辑 | 返回图片数量;未传时 ApiGo 使用 1 |
background | 生成、编辑 | opaque 或 auto;gpt-image-2 不支持 transparent |
output_format | 生成、编辑 | png、jpeg 或 webp,默认 png |
output_compression | 生成、编辑 | JPEG/WebP 压缩率,取值 0–100 |
moderation | 生成、编辑 | auto 或 low |
input_fidelity | 编辑 | gpt-image-2 始终以高保真方式处理输入图片,请不要传此参数 |
文生图
cURL
curl https://api-vip.apigo.ai/v1/images/generations \
-H "Authorization: Bearer $APIGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "一张简洁的 ApiGo 产品海报,深蓝背景,清晰中文标题,现代科技风",
"size": "1024x1024",
"quality": "medium",
"output_format": "png"
}'
Python
import base64
import os
from pathlib import Path
from openai import OpenAI
client = OpenAI(
base_url="https://api-vip.apigo.ai/v1",
api_key=os.environ["APIGO_API_KEY"],
)
result = client.images.generate(
model="gpt-image-2",
prompt="一张简洁的 ApiGo 产品海报,深蓝背景,清晰中文标题,现代科技风",
size="1024x1024",
quality="medium",
output_format="png",
)
Path("apigo-poster.png").write_bytes(
base64.b64decode(result.data[0].b64_json)
)
Node.js
import OpenAI from "openai";
import { writeFile } from "node:fs/promises";
const client = new OpenAI({
baseURL: "https://api-vip.apigo.ai/v1",
apiKey: process.env.APIGO_API_KEY,
});
const result = await client.images.generate({
model: "gpt-image-2",
prompt: "一张简洁的 ApiGo 产品海报,深蓝背景,清晰中文标题,现代科技风",
size: "1024x1024",
quality: "medium",
output_format: "png",
});
await writeFile(
"apigo-poster.png",
Buffer.from(result.data[0].b64_json, "base64"),
);
图片编辑
cURL
curl https://api-vip.apigo.ai/v1/images/edits \
-H "Authorization: Bearer $APIGO_API_KEY" \
-F 'model=gpt-image-2' \
-F 'prompt=将图片中的橙色猫替换为熊猫,保持构图和光线不变' \
-F 'size=1536x1024' \
-F 'quality=medium' \
-F 'image=@source.png'
image[]:
-F 'image[]=@source.png' \
-F 'image[]=@reference.png'
Python
import base64
import os
from pathlib import Path
from openai import OpenAI
client = OpenAI(
base_url="https://api-vip.apigo.ai/v1",
api_key=os.environ["APIGO_API_KEY"],
)
with open("source.png", "rb") as source:
result = client.images.edit(
model="gpt-image-2",
image=source,
prompt="将图片中的橙色猫替换为熊猫,保持构图和光线不变",
size="1536x1024",
quality="medium",
)
Path("edited.png").write_bytes(
base64.b64decode(result.data[0].b64_json)
)
Node.js
import fs from "node:fs";
import { writeFile } from "node:fs/promises";
import OpenAI, { toFile } from "openai";
const client = new OpenAI({
baseURL: "https://api-vip.apigo.ai/v1",
apiKey: process.env.APIGO_API_KEY,
});
const result = await client.images.edit({
model: "gpt-image-2",
image: await toFile(fs.createReadStream("source.png"), "source.png", {
type: "image/png",
}),
prompt: "将图片中的橙色猫替换为熊猫,保持构图和光线不变",
size: "1536x1024",
quality: "medium",
});
await writeFile(
"edited.png",
Buffer.from(result.data[0].b64_json, "base64"),
);
蒙版(mask)
蒙版需要与第一张输入图片使用相同格式和尺寸,并包含 Alpha 通道。透明区域表示需要编辑的位置;GPT Image 会把蒙版作为编辑提示的一部分,因此结果不一定严格贴合边缘。多图编辑时,蒙版只作用于第一张图片。
-F 'mask=@mask.png'
返回值
生成和编辑接口都返回 Base64 编码的图片数据和 token 用量。编辑请求的input_tokens_details.image_tokens 包含输入图片用量:
{
"created": 1784268912,
"data": [
{
"b64_json": "iVBORw0KGgoAAA..."
}
],
"usage": {
"input_tokens": 1549,
"input_tokens_details": {
"image_tokens": 1536,
"text_tokens": 13
},
"output_tokens": 1372,
"output_tokens_details": {
"image_tokens": 1372,
"text_tokens": 0
},
"total_tokens": 2921
}
}
usage 只表示 token 用量,不是最终账单金额。实际费用以 ApiGo 平台展示的模型价格、折扣和账单记录为准。