gpt-image-1.5 API

本文介绍 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"
  }
}