ユーザーガイド
画像生成モデル

GPT Image 2

現在のプロジェクトにおける `gpt-image-2` の接続状況と、統一画像インターフェースのリクエストフィールドおよびレスポンス構造について説明します。

  • ページパスは現在のプロジェクトでの接続状況を示すために保持されています
  • 統一画像インターフェース: POST /v1/images/generations
  • 成功時のレスポンスは同期 ImageResponse です

現在の接続状況

  • Magick API はすでに gpt-image-2 モデルをサポートしています

共通画像インターフェース設計

リクエストルーティング

POST /v1/images/generations

成功レスポンス構造

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

標準リクエストフィールド

現在のプロジェクトでは、以下の標準フィールドが共通画像 DTO によって正常に解析されることが保証されています。

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

共通画像インターフェースのトップレベルで、標準化されていないフィールドに直接依存することは推奨されません。

そのままコピーして使用できる呼び出し例

以下の例は、「バックエンドで gpt-image-2 が利用可能なモデルとしてマッピングされている」場合に適用されます。

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",
    "prompt": "窓辺に座って夕日を眺めるオレンジ色の猫、水彩画風",
    "n": 1,
    "size": "1024x1024",
    "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",
    "prompt": "窓辺に座って夕日を眺めるオレンジ色の猫、水彩画風",
    "n": 1,
    "size": "1024x1024",
    "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",
  prompt: "窓辺に座って夕日を眺めるオレンジ色の猫、水彩画風",
  n: 1,
  size: "1024x1024",
  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_formatb64_json に変更し、data[0].b64_json を読み取ってください。

画像編集

このモデルに対応するチャネルが編集機能をサポートしている場合、現在のプロジェクトの統一編集エントリポイントは次のとおりです。

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

説明

  • 非同期画像タスクをサポートしています。生成された画像は【タスクログ】→【画像生成ログ】で確認してください。

最終更新

目次