本文介绍 gpt-image-1.5 模型调用 API 的输入输出参数,供您使用接口时查阅字段含义,涵盖图像生成、图像编辑两个核心接口的详细说明,突出模型版本特性。
1. 接口概述
gpt-image-1.5 模型提供两种核心接口,均支持 OPENAI 兼容格式,分别用于图像生成和图像编辑,认证方式统一。相较于1.0版本,该模型生成速度提升4倍、成本降低20%,且编辑接口支持更精准的局部编辑功能。
2. 认证方式
采用 API Key 认证,统一使用 Authorization 请求头,格式如下:
Authorization: Bearer \{MODELVERSE\_API\_KEY\}
3. 图像生成接口(OPENAI 兼容)
3.1 请求地址
POST https://api.modelverse.cn/v1/images/generations
3.2 请求参数(请求体)
| 字段名 | 类型 | 是否必须 | 默认值 | 描述 |
|---|---|---|---|---|
| prompt | string | 必须 | - | 生成图像的提示词,用于定义图像内容 |
| model | string | 必须 | - | 本次请求使用的模型名称,固定为 gpt\-image\-1\.5 |
| n | int | 可选 | 1 | 生成图片数量,取值范围为 1~4 |
| size | string | 可选 | "1024x1024" | 图像分辨率,gpt-image-1.5 支持 1024x1024、1024x1536、1536x1024 三种规格 |
| quality | string | 可选 | - | 图片质量,支持 low(低)、medium(中)、high(高);质量越高,生成耗时越长。相较于1.0版本,本模型生成速度提升4倍,成本降低20%。 |
| output_format | string | 可选 | "png" | 输出图片格式,支持 png、jpeg、webp 三种格式 |
| output_compression | int | 可选 | 100 | 图片压缩强度,取值范围 0~100;0 表示不压缩,100 表示最大压缩 |
3.3 调用示例
3.3.1 curl 示例(同步请求)
curl --location 'https://api.modelverse.cn/v1/images/generations' \
--header "Authorization: Bearer $MODELVERSE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-1.5",
"prompt": "a beautiful flower",
"size": "1024x1024",
"quality": "high",
"output_format": "png",
"output_compression": 100
}'
3.3.2 Python 示例
import os, base64
from openai import OpenAI
client = OpenAI(
base_url="https://api.modelverse.cn/v1",
api_key=os.getenv("MODELVERSE_API_KEY", "YOUR_API_KEY")
)
res = client.images.generate(
model="gpt-image-1.5",
prompt="a beautiful flower",
size="1024x1024",
quality="high",
)
# gpt-image-1.5 返回 base64 数据
image_b64 = res.data[0].b64_json
raw = image_b64.split(",")[-1] if image_b64.startswith("data:") else image_b64
with open("image.png", "wb") as f:
f.write(base64.b64decode(raw))
print("Saved to image.png")
4. 图像编辑接口
4.1 请求地址
POST https://api.modelverse.cn/v1/images/edits
4.2 接口特性
gpt-image-1.5 支持更精确的局部编辑功能,能够针对特定区域进行修改,同时保持其他区域的构图、色调和人物外观一致,避免整体重绘,编辑效果更精准、自然。
4.3 请求参数
采用 multipart/form\-data 格式传参,至少需包含待编辑图片(image)、模型名称(model)、提示词(prompt),可选传入遮罩图片(mask),其余参数与图像生成接口一致。
| 字段名 | 类型 | 是否必须 | 默认值 | 描述 |
|---|---|---|---|---|
| image | file | 必须 | - | 待编辑的图片文件,支持 png、jpeg、webp 格式 |
| mask | file | 可选 | - | 遮罩图片,用于限定图像编辑区域,支持 png、jpeg、webp 格式 |
| model | string | 必须 | - | 模型名称,固定为 gpt\-image\-1\.5 |
| prompt | string | 必须 | - | 编辑图像的提示词,用于定义编辑内容 |
| n | int | 可选 | 1 | 生成编辑后图片数量,取值范围为 1~4 |
| size | string | 可选 | "1024x1024" | 编辑后图像分辨率,支持 1024x1024、1024x1536、1536x1024 三种规格 |
| quality | string | 可选 | - | 编辑后图片质量,支持 low、medium、high;质量越高,耗时越长。相较于1.0版本,编辑速度提升4倍,成本降低20%。 |
| output_format | string | 可选 | "png" | 编辑后图片输出格式,支持 png、jpeg、webp |
| output_compression | int | 可选 | 100 | 编辑后图片压缩强度,取值 0~100;0 不压缩,100 最大压缩 |
4.4 调用示例
4.4.1 curl 示例
curl --location 'https://api.modelverse.cn/v1/images/edits' \
--header "Authorization: Bearer $MODELVERSE_API_KEY" \
-F "image=@/path/to/your/image.png" \
-F "mask=@/path/to/your/mask.png" \
-F "model=gpt-image-1.5" \
-F "prompt=Add a beach ball in the center" \
-F "size=1024x1024" \
-F "n=1" \
-F "quality=high" \
-F "output_format=png" \
-F "output_compression=100"
4.4.2 Python 示例
import os, base64, requests
url = "https://api.modelverse.cn/v1/images/edits"
headers = {"Authorization": f"Bearer {os.getenv('MODELVERSE_API_KEY', '$MODELVERSE_API_KEY')}"}
files = {
"image": ("beach.png", open("beach.png", "rb"), "image/png"),
# 可选:提供 mask 来限定编辑区域
# "mask": ("mask.png", open("mask.png", "rb"), "image/png"),
}
data = {
"model": "gpt-image-1.5",
"prompt": "Add a beach ball in the center",
"size": "1024x1024",
"n": "1",
"quality": "high",
"output_format": "png",
"output_compression": "100",
}
r = requests.post(url, headers=headers, files=files, data=data)
r.raise_for_status()
resp = r.json()
image_b64 = resp["data"][0]["b64_json"]
raw = image_b64.split(",")[-1] if image_b64.startswith("data:") else image_b64
with open("edit.png", "wb") as f:
f.write(base64.b64decode(raw))
print("Saved to edit.png")
5. 响应参数
接口响应分为成功响应和错误响应两种格式,gpt-image-1.5 模型返回的图像数据均为 base64 格式。
5.1 成功响应参数
| 字段名 | 类型 | 描述 |
|---|---|---|
| created | integer | 本次请求创建时间的 Unix 时间戳(单位:秒) |
| data | array | 输出图像的信息集合,gpt-image-1.5 仅返回 base64 数据,子字段为 b64\_json |
| data.[].b64_json | string | 图像的 Base64 编码字符串 |
| usage | object | 请求token使用情况 |
| usage.total_tokens | integer | 总消耗token数 |
| usage.input_tokens | integer | 输入token数 |
| usage.output_tokens | integer | 输出token数 |
| usage.input_tokens_details | object | 输入token详细信息 |
| usage.input_tokens_details.text_tokens | integer | 文本输入token数 |
注意:若接口返回图像URL(非gpt-image-1.5模型),链接将在生成后7天内失效,请及时保存图像;gpt-image-1.5 仅返回 base64 数据,无需担心链接失效问题。
5.2 错误响应参数
| 字段名 | 类型 | 描述 |
|---|---|---|
| error | Object | 错误信息对象,包含错误详情 |
| error.code | string | 错误码,用于定位错误类型 |
| error.message | string | 错误提示信息,说明错误原因 |
| error.param | string | 请求ID,用于问题排查时定位具体请求 |
6. 响应示例
6.1 成功响应示例
{
"created": 1750667997,
"data": [
{
"b64_json": "{image_base64_string}"
}
],
"usage": {
"total_tokens": 4169,
"input_tokens": 9,
"output_tokens": 4160,
"input_tokens_details": {
"text_tokens": 9
}
}
}
6.2 错误响应示例
{
"error": {
"message": "error_message",
"type": "error_type",
"param": "request_id",
"code": "error_code"
}
}