GPT Image 2・Gemini 画像生成 API

OpenAI 互換 Images API の GPT Image 2、または Gemini ネイティブ API の Nano Banana Pro と Nano Banana 2 で画像を生成します。

このページでは、独立した 2 種類の画像生成 API 契約をまとめています。同じ Modelflare APIキーと Credits を使用しますが、リクエストとレスポンスの形式は互換ではありません。

  • gpt-image-2 は OpenAI 互換の /v1/images/generations/v1/images/edits 契約を使用します。
  • gemini-3-pro-imagegemini-3.1-flash-image は Gemini ネイティブの generateContent 契約を使用します。

例をコピーする前にモデル系列を選び、Gemini と GPT Images のフィールドを混在させないでください。

1. GPT Image 2 — OpenAI 互換 Images API

OpenAI 互換 Images API から gpt-image-2 の PNG を生成するか、公開 URL またはローカルアップロードの参照画像を編集します。各リクエストは 1 枚を返し、中品質または高品質、短期署名 URL または base64、任意の SSE に対応します。

エンドポイントとモード

  • 数分かかる可能性がある同期 JSON には https://origin.modelflare.dev/v1 を使用します。
  • Cloudflare 経由の長時間リクエストには https://modelflare.dev/v1stream=true を使用します。最終画像まで SSE ハートビートを送信します。
  • 実行中の POST をホスト間でリダイレクトしないでください。

同期リクエスト

curl https://origin.modelflare.dev/v1/images/generations \
  -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-image-2","prompt":"夜明けの静かな湖畔の小屋","n":1,"quality":"medium","size":"1024x1024","response_format":"url","output_format":"png"}'

URL 応答には 1 時間で期限切れになる Modelflare の非公開署名リンクが含まれます。response_format=b64_json を指定すると、API 出力オブジェクトを保存せず検証済み PNG を直接受け取れます。

最新のモデルと料金ページでは、一般的なサイズの medium / high 料金を確認できます。請求は指定した画質と寸法そのものに基づき、通常のルーティンググループ倍率は適用せず、最終料金を利用ログに記録します。

参照画像を編集する

公開アクセス可能な HTTP(S) 画像 URL を 1 件以上 POST /v1/images/edits に送信します。images の各要素には image_url を 1 つだけ指定します。

curl https://origin.modelflare.dev/v1/images/edits \
  -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-image-2","prompt":"背景を清潔な白い写真スタジオに変更してください","images":[{"image_url":"https://example.com/input.png"}],"size":"2048x2048","response_format":"url"}'

または、multipart/form-data でローカルの PNG、JPEG、WebP ファイルを 1 つアップロードします。

curl https://origin.modelflare.dev/v1/images/edits \
  -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
  -F "model=gpt-image-2" \
  -F "prompt=背景を清潔な白い写真スタジオに変更してください" \
  -F "image=@/path/to/input.png" \
  -F "size=2048x2048" \
  -F "response_format=url"

multipart リクエストには画像ファイルを 1 つだけ含め、全体を 20 MiB 以下にしてください。参照 URL またはアップロードファイルは選択された upstream プロバイダーへ送信され、URL は取得中もアクセス可能である必要があります。Modelflare はどちらの参照入力も API 出力アセットとして保存しません。

SSE リクエスト

curl -N https://modelflare.dev/v1/images/generations \
  -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-image-2","prompt":"雨のネオン街を走る白い猫","n":1,"quality":"high","size":"1024x1024","response_format":"url","stream":true}'

SSE コメントはハートビートだけです。image_generation.completeddata: [DONE] の後に終了します。

対応フィールドは modelpromptn=1quality=medium|high、有効な WIDTHxHEIGHTresponse_format=url|b64_jsonoutput_format=png、任意の stream です。/v1/images/edits は、公開 HTTP(S) の image_url を 1 件ずつ含む空でない images 配列、または multipart の image フィールドにある有効な PNG、JPEG、WebP 1 ファイルを受け付けます。生成は参照画像を拒否し、複数のアップロード、data/base64 入力、マスク、input_fidelity、バリエーション、部分画像、未知のフィールドを拒否します。失敗したリクエストの予約 Credits は Request ID 単位の冪等な返金経路で戻されます。

通常の API キーを使用してください。チャネル固定キーは拒否され、モデル制限を有効にしたキーには gpt-image-2 を含める必要があります。


2. Gemini Image — Gemini ネイティブ API

Nano Banana Pro または Nano Banana 2 を Gemini ネイティブ形式で使用します。これらのモデルは /v1/images/generations を使用しません。

エンドポイントと長時間リクエスト

ストリーミングリクエスト

この例は Nano Banana 2 を使用します。Nano Banana Pro を使う場合は URL のモデルを gemini-3-pro-image に置き換えます。

curl -N "https://modelflare.dev/v1beta/models/gemini-3.1-flash-image:streamGenerateContent?alt=sse" \
  -H "x-goog-api-key: YOUR_MODELFLARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "role": "user",
      "parts": [{"text": "Create a clean blue circle centered on a white background. No text."}]
    }],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"],
      "imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
    }
  }'

レスポンス契約

各 SSE data: イベントは Gemini ネイティブ JSON です。最終画像の base64 は candidates[].content.parts[].inlineData.data、MIME は inlineData.mimeType にあります。テキスト part が含まれる場合もあります。finishReason=STOP またはストリーム終了で完了し、image_generation.completed は使用しません。

モデル、解像度、推定価格

モデル 解像度 画像1枚あたりの推定価格
Nano Banana Pro 1K / 2K US$0.06720
Nano Banana Pro 4K US$0.12000
Nano Banana 2 0.5K US$0.02241
Nano Banana 2 1K US$0.03360
Nano Banana 2 2K US$0.05040
Nano Banana 2 4K US$0.07560

imageSizeK は大文字で指定してください。価格は画像1枚あたりの推定額です。最終料金はリクエスト内容によりわずかに変動し、利用ログに記録されます。

x-goog-api-key に通常の Modelflare APIキーを指定します。キーは gemini-image グループを利用でき、モデル制限時は選択した Gemini 画像モデルを含む必要があります。