画像モデル上級者向け更新日
POST/v1/images/generations
Gemini 2.5 Flash Image
リクエスト ID gemini-2.5-flash-image
プロトコル
POST /v1/images/generations· 画像を生成の例POST /v1/images/edits· 画像を編集の例POST /v1beta/models/gemini-2.5-flash-image:generateContent· Gemini generateContentの例GET /v1/images/tasks/{task_id}· 画像タスクを照会の例
認証
リクエストには API キー管理 の API キーが必要です。JSON リクエストには Content-Type: application/json を設定します。
Authorization: Bearer YOUR_API_KEY- Gemini ·
x-goog-api-key: YOUR_API_KEY
リクエストパラメータ
POST /v1/images/generations
| 項目 | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | 必須 | このモデル ID を指定します gemini-2.5-flash-image. |
prompt | string | 必須 | 生成したい画像を説明します。 |
aspect_ratio | string | 任意 | 出力画像のアスペクト比です。 例は 1:1 または 16:9 です。 省略時は size から算出します。 既定値 1:1. |
image_size | string | 任意 | 出力解像度の設定です。 指定可能な値 1K. 既定値 1K. |
n | integer | 任意 | 1 リクエストあたりの画像枚数です。1 枚の結果には 1 を指定します。 既定値 1. |
image_urls | string[] | 任意 | 参照画像の JSON 配列です。公開 HTTPS 画像 URL または Base64 画像のデータ URL を指定します。 互換フィールド image_input. 参照画像の上限 4. |
?async | string | 任意 | URL のクエリパラメータです。1、true、yes で 202 と task_id を返します。省略時は結果を待ちます。 |
POST /v1/images/edits
| 項目 | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | 必須 | このモデル ID を指定します gemini-2.5-flash-image. |
prompt | string | 必須 | 参照画像に加える変更を説明します。 |
aspect_ratio | string | 任意 | 出力画像のアスペクト比です。 例は 1:1 または 16:9 です。 省略時は size から算出します。 既定値 1:1. 編集時は JSON リクエスト本文で指定します。 |
image_size | string | 任意 | 出力解像度の設定です。 指定可能な値 1K. 編集時は JSON リクエスト本文で指定します。 既定値 1K. |
n | integer | 任意 | 1 リクエストあたりの画像枚数です。1 枚の結果には 1 を指定します。 既定値 1. |
image_urls | string[] | 条件付き | 参照画像の JSON 配列です。公開 HTTPS 画像 URL または Base64 画像のデータ URL を指定します。 互換フィールド image_input. 参照画像の上限 4. JSON で編集する場合は 1 枚以上を指定します。 |
image[] | file[] | 条件付き | multipart/form-data で編集する場合は 1 枚以上をアップロードし、複数枚は同じフィールドを繰り返します。1 ファイルなら image も使えます。 参照画像の上限 4. |
?async | string | 任意 | URL のクエリパラメータです。1、true、yes で 202 と task_id を返します。省略時は結果を待ちます。 |
POST /v1beta/models/gemini-2.5-flash-image:generateContent
| 項目 | 型 | 必須 | 説明 |
|---|---|---|---|
model (path) | string | 必須 | URL パスのモデル ID に gemini-2.5-flash-image を指定します。 |
contents | object[] | 必須 | 会話内容の順序付き配列です。各項目の入力は parts に入れます。 |
contents[].role | string | 任意 | メッセージの役割。ユーザー入力は user、履歴内のモデルの発言は model です。 |
contents[].parts | object[] | 必須 | コンテンツ項目に含まれるパートの配列です。テキストパートは text を使います。 |
contents[].parts[].inlineData | object | 条件付き | インラインメディアのオブジェクト。 mimeType と Base64 でエンコードした data を指定します。対応メディアはモデルと接続先によって異なります。 |
systemInstruction | object | 任意 | システム指示オブジェクト。指示テキストは parts[].text に指定します。 |
generationConfig.maxOutputTokens | integer | 任意 | 出力トークン数の上限です。設定可能な上限はモデルと接続先によって異なります。 |
generationConfig.responseModalities | string[] | 任意 | 出力モダリティの一覧。画像を要求するには ["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-2.5-flash-image",
"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-2.5-flash-image",
"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-2.5-flash-image: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"
]
}
}'
画像タスクを照会
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-2.5-flash-image",
"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
互換エイリアスと廃止済みリダイレクト
gemini-2.5-flash-image-preview→gemini-2.5-flash-image(エイリアス)