画像モデル上級者向け更新日
POST/v1/images/generations

API コンソール

POST/v1/images/generations
キーを確認

入力したキーで実際にリクエストを送信し、API の通常料金が適用されます。

Gemini 3.1 Flash Image Preview

リクエスト ID gemini-3.1-flash-image-preview

プロトコル

認証

リクエストには API キー管理 の API キーが必要です。JSON リクエストには Content-Type: application/json を設定します。

  • Authorization: Bearer YOUR_API_KEY
  • Gemini · x-goog-api-key: YOUR_API_KEY

リクエストパラメータ

POST /v1/images/generations

項目型必須説明
modelstring必須このモデル ID を指定します gemini-3.1-flash-image-preview.
promptstring必須生成したい画像を説明します。
aspect_ratiostring任意出力画像のアスペクト比です。 例は 1:1 または 16:9 です。 省略時は size から算出します。 既定値 1:1.
image_sizestring任意出力解像度の設定です。 指定可能な値 1K, 2K, 4K. 省略時は size から算出します。 既定値 1K.
ninteger任意1 リクエストあたりの画像枚数です。1 枚の結果には 1 を指定します。 既定値 1.
image_urlsstring[]任意参照画像の JSON 配列です。公開 HTTPS 画像 URL または Base64 画像のデータ URL を指定します。 互換フィールド image_input. 参照画像の上限 4.
?asyncstring任意URL のクエリパラメータです。1、true、yes で 202 と task_id を返します。省略時は結果を待ちます。

POST /v1/images/edits

項目型必須説明
modelstring必須このモデル ID を指定します gemini-3.1-flash-image-preview.
promptstring必須参照画像に加える変更を説明します。
aspect_ratiostring任意出力画像のアスペクト比です。 例は 1:1 または 16:9 です。 省略時は size から算出します。 既定値 1:1. 編集時は JSON リクエスト本文で指定します。
image_sizestring任意出力解像度の設定です。 指定可能な値 1K, 2K, 4K. 省略時は size から算出します。 編集時は JSON リクエスト本文で指定します。 既定値 1K.
ninteger任意1 リクエストあたりの画像枚数です。1 枚の結果には 1 を指定します。 既定値 1.
image_urlsstring[]条件付き参照画像の JSON 配列です。公開 HTTPS 画像 URL または Base64 画像のデータ URL を指定します。 互換フィールド image_input. 参照画像の上限 4. JSON で編集する場合は 1 枚以上を指定します。
image[]file[]条件付きmultipart/form-data で編集する場合は 1 枚以上をアップロードし、複数枚は同じフィールドを繰り返します。1 ファイルなら image も使えます。 参照画像の上限 4.
?asyncstring任意URL のクエリパラメータです。1、true、yes で 202 と task_id を返します。省略時は結果を待ちます。

POST /v1beta/models/gemini-3.1-flash-image-preview:generateContent

項目型必須説明
model (path)string必須URL パスのモデル ID に gemini-3.1-flash-image-preview を指定します。
contentsobject[]必須会話内容の順序付き配列です。各項目の入力は parts に入れます。
contents[].rolestring任意メッセージの役割。ユーザー入力は user、履歴内のモデルの発言は model です。
contents[].partsobject[]必須コンテンツ項目に含まれるパートの配列です。テキストパートは text を使います。
contents[].parts[].inlineDataobject条件付きインラインメディアのオブジェクト。 mimeType と Base64 でエンコードした data を指定します。対応メディアはモデルと接続先によって異なります。
systemInstructionobject任意システム指示オブジェクト。指示テキストは parts[].text に指定します。
generationConfig.maxOutputTokensinteger任意出力トークン数の上限です。設定可能な上限はモデルと接続先によって異なります。
generationConfig.responseModalitiesstring[]任意出力モダリティの一覧。画像を要求するには ["IMAGE"] を指定します。

リクエスト例

API Key をローカルの環境変数 ICODEEASY_API_KEY に設定し、直接 HTTP 呼び出しに対応するエンドポイントを選択します。指定クライアントが必要な場合は設定ガイドに従ってください。

例のメディア URL とアセット ID は、有効な素材に置き換えてください。

Images Generations

bash
curl -sS 'https://api.icodeeasy.cc/v1/images/generations' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "model": "gemini-3.1-flash-image-preview",
  "prompt": "A watercolor illustration of a paper lantern by a lake.",
  "aspect_ratio": "16:9",
  "image_size": "1K"
}'

Images Edits

bash
curl -sS 'https://api.icodeeasy.cc/v1/images/edits' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "model": "gemini-3.1-flash-image-preview",
  "prompt": "Change the background to a pale blue wall. Preserve the subject.",
  "image_urls": [
    "https://example.com/reference.png"
  ],
  "aspect_ratio": "16:9",
  "image_size": "1K"
}'

Gemini generateContent

bash
curl -sS 'https://api.icodeeasy.cc/v1beta/models/gemini-3.1-flash-image-preview:generateContent' \
  -H "x-goog-api-key: $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "A watercolor illustration of a paper lantern by a lake."
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": [
      "IMAGE"
    ]
  }
}'

Gemini generateContent · JSON

画像タスクを照会

bash
curl -sS 'https://api.icodeeasy.cc/v1/images/tasks/YOUR_TASK_ID' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY"

レスポンスとタスク

/v1/images/generations · /v1/images/edits

HTTP 200 · 同期リクエストの成功

?sync=1 を指定した場合、画像 URL は data[].url から取得できます。created は UNIX 秒、id はタスク ID です。

json
{
  "id": "d142c93a-de26-40c9-be62-0de840d10960",
  "created": 1781599773,
  "data": [
    {
      "url": "https://example.com/generated-image.png"
    }
  ]
}

HTTP 202 · 非同期リクエストの受付

json
{
  "task_id": "d142c93a-de26-40c9-be62-0de840d10960",
  "status": "pending"
}

?async=1 を指定した場合は、同じ API キーで GET /v1/images/tasks/{task_id} をポーリングします。status は pending、completed、failed のいずれかです。完了後は result_url から画像 URL を取得できます。

HTTP 200 · 完了したタスクの取得

json
{
  "task_id": "d142c93a-de26-40c9-be62-0de840d10960",
  "status": "completed",
  "model": "gemini-3.1-flash-image-preview",
  "result_url": "https://example.com/generated-image.png"
}

主なエラー

照会結果が failed の場合は error を確認してください。error_detail がある場合は再送前に retryable を確認します。

レスポンス例とエラー

Gemini generateContent · JSON

candidates[].content.parts[] の inlineData を含むパートから画像を取得します。data を Base64 デコードし、mimeType で画像形式を判別します。

json
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "inlineData": {
              "mimeType": "image/png",
              "data": "BASE64_IMAGE_DATA"
            }
          }
        ]
      }
    }
  ]
}

接続ガイド · リクエスト項目、タスクの状態、レスポンス形式は API ガイドを参照してください。

機能と制限

  • text_to_image · 対応
  • image_to_image · 対応
  • image_editing · 対応
  • native_generation · 対応
  • reference_images · 条件付き対応 — 対応するリクエスト形式で有効な参照画像が必要です
  • 制限 参照画像:最大 4 枚 · 解像度: 1k, 2k, 4k

互換エイリアスと廃止済みリダイレクト

  • gemini-3.1-flash-image → gemini-3.1-flash-image-preview (エイリアス)

モデル機能カタログ · 価格を確認