用户指南
生图模型

GPT Image 2 Official

说明当前项目对 `gpt-image-2-official` 的接入状态,以及统一图片接口的请求字段和返回结构。

  • 页面路径保留用于说明当前项目中的接入状态
  • 统一图片接口:POST /v1/images/generations
  • 成功返回为同步 ImageResponse

当前接入状态

  • 本模型已下架,请使用更好的模型gpt-image-2获取最佳效果

公共图片接口设计

请求路由

POST /v1/images/generations

成功响应结构

{
  "created": 1712345678,
  "data": [
    {
      "url": "https://example.com/generated-image.png",
      "b64_json": "",
      "revised_prompt": ""
    }
  ]
}

标准请求字段

当前项目保证以下标准字段可用:

  • model
  • prompt
  • n
  • size
  • quality
  • response_format

可直接复制的调用示例

以下示例适用于“后台已经把 gpt-image-2-official 映射为可用模型”的情况:

cURL

curl --request POST \
  --url https://api.magickapi.com/v1/images/generations \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gpt-image-2-official",
    "prompt": "星空下的古老城堡",
    "n": 1,
    "size": "1024x1024",
    "quality": "high",
    "response_format": "url"
  }'

Python

import requests

url = "https://api.magickapi.com/v1/images/generations"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}
payload = {
    "model": "gpt-image-2-official",
    "prompt": "星空下的古老城堡",
    "n": 1,
    "size": "1024x1024",
    "quality": "high",
    "response_format": "url",
}

response = requests.post(url, headers=headers, json=payload, timeout=300)
response.raise_for_status()

result = response.json()
print(result)
print("image_url:", result["data"][0]["url"])

Node.js

const url = "https://api.magickapi.com/v1/images/generations";
const payload = {
  model: "gpt-image-2-official",
  prompt: "星空下的古老城堡",
  n: 1,
  size: "1024x1024",
  quality: "high",
  response_format: "url",
};

const response = await fetch(url, {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify(payload),
});

if (!response.ok) {
  throw new Error(await response.text());
}

const result = await response.json();
console.log(result);
console.log("image_url:", result.data?.[0]?.url);

如果你希望直接拿到 Base64 内容,把 response_format 改成 b64_json,然后读取 data[0].b64_json

图像编辑

如果该模型对应的渠道支持编辑能力,统一编辑入口是:

  • POST /v1/images/edits
  • POST /v1/edits

最后更新于

目录