Skip to content

GPT Image 2 接入教程 ​

模型介绍 ​

gpt-image-2 可用于图片生成和图片编辑。开始前需要准备 AruHub API Key,并使用模型 gpt-image-2 和 Base URL https://api.aruhub.com/v1。

接入信息 ​

配置内容
Base URLhttps://api.aruhub.com/v1
API KeyAruHub“我的密钥”中创建
模型gpt-image-2

WARNING

API Key 相当于账户密码,请妥善保管,不要上传到 GitHub、网盘、截图或公开聊天中。

文生图 ​

普通图片生成使用以下接口:

text
POST https://api.aruhub.com/v1/images/generations

将下面示例中的 YOUR_API_KEY 替换为自己的 AruHub API Key 后即可测试:

bash
curl https://api.aruhub.com/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一只橘猫坐在东京街头的咖啡店门口,电影摄影风格",
    "size": "1024x1024",
    "quality": "medium",
    "n": 1
  }'

参数说明 ​

参数说明示例值
model要调用的图片模型gpt-image-2
prompt描述要生成的图片内容和风格一只橘猫坐在东京街头……
size输出图片尺寸1024x1024
quality图片质量medium
n生成图片的数量1

本教程只使用当前稳定确认的 size: 1024x1024 和 quality: medium,未列出未经确认的其他枚举值。

返回结果 ​

图片接口通常返回图片数据,结构类似:

json
{
  "data": [
    {
      "b64_json": "..."
    }
  ]
}

data[0].b64_json 是 Base64 编码的图片数据,需要进行 Base64 解码后保存为图片。实际响应中的 Base64 内容很长,这里不展开。

Python 示例 ​

先安装 OpenAI Python SDK:

bash
pip install openai
python
from openai import OpenAI
import base64

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.aruhub.com/v1"
)

result = client.images.generate(
    model="gpt-image-2",
    prompt="一只宇航员猫站在月球表面,地球出现在背景中",
    size="1024x1024",
    quality="medium"
)

image_base64 = result.data[0].b64_json
image_bytes = base64.b64decode(image_base64)

with open("image.png", "wb") as f:
    f.write(image_bytes)

print("图片已保存为 image.png")

Node.js 示例 ​

先安装 OpenAI Node.js SDK:

bash
npm install openai
javascript
import fs from "node:fs";
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "YOUR_API_KEY",
  baseURL: "https://api.aruhub.com/v1",
});

const result = await client.images.generate({
  model: "gpt-image-2",
  prompt: "一只宇航员猫站在月球表面,地球出现在背景中",
  size: "1024x1024",
  quality: "medium",
});

const imageBase64 = result.data[0].b64_json;
const imageBuffer = Buffer.from(imageBase64, "base64");

fs.writeFileSync("image.png", imageBuffer);
console.log("图片已保存为 image.png");

图片编辑 ​

图片编辑使用 POST /v1/images/edits,通过 multipart/form-data 上传原图:

bash
curl https://api.aruhub.com/v1/images/edits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=gpt-image-2" \
  -F "[email protected]" \
  -F "prompt=将图片背景修改为夜晚的东京街头,保持主体不变" \
  -F "size=1024x1024" \
  -F "quality=medium"

请将 YOUR_API_KEY 替换为自己的 AruHub API Key,并确保当前目录中存在 input.png。

提示词示例 ​

  • 摄影:雨后的上海街头,一位撑透明伞的行人,纪实摄影,柔和霓虹灯光
  • 商品图:一瓶极简设计的香水放在浅色石材台面上,柔光棚拍,纯净背景
  • 海报:夏日音乐节海报,热带配色,醒目中文标题,现代扁平插画风格

常见问题 ​

401 Unauthorized ​

检查请求头是否为:

text
Authorization: Bearer YOUR_API_KEY

并确认已将 YOUR_API_KEY 替换为自己的 AruHub API Key。

model not found ​

确认模型名称严格写为:

text
gpt-image-2

同时检查当前账号分组是否已开放该模型。

为什么返回一大段字符 ​

这通常是 Base64 图片数据。请读取 data[0].b64_json,进行 Base64 解码后保存为图片文件。

为什么图片生成比较慢 ​

图像生成耗时通常高于普通文本请求;图片质量和尺寸也会影响生成时间。

应该调用哪个接口 ​

普通文生图应使用:

text
/v1/images/generations

不要将图片生成请求发送到普通文本接口:

text
/v1/chat/completions

AruHub · 统一 API 网关