# Gemini画像生成エラーの対処法：アプリの確認点とAPIエラーコード表

> Geminiアプリで画像が出ないときはログイン・年齢・上限・規約の拒否を確認します。APIなら400・402・403は再試行せず、429と5xxだけ待って再試行します。

- URL: https://blog.laozhang.ai/ja/posts/gemini-image-common-errors-fix
- Published: 2026-03-16
- Updated: 2026-10-05
- Author: LaoZhang AI Team (https://blog.laozhang.ai/ja/about)
- Topic: トラブルシューティング
- Tags: Gemini, Gemini API, 画像生成, エラーコード, Nano Banana 2

---
Geminiの画像生成が失敗したときは、どこで失敗したかで見るべき場所が変わります。

- **Geminiアプリやウェブ版で画像が出ない**：ログインしているか、18歳以上か（編集の場合）、使えない国やアカウントではないか、上限に達していないか、依頼が規約で断られていないかを順に確認します。設定やエラー番号を細かく追う必要はほとんどありません。
- **Gemini APIでエラーコードが返ってくる**：まずHTTPステータスとエラーコードを読みます。400・401・402・403・404は送り直しても同じ結果になるので、原因を直してから送ります。待って再試行してよいのは429（1日の割り当て切れを除く）・408・5xxだけです。

以下は2026年10月5日時点のGoogleの公式ヘルプ、Gemini APIの「API errors」ページとトラブルシューティングガイドに基づいています。

## Geminiアプリで画像が生成できないときの6つの確認

アプリの失敗はAPIのようなエラーコードが出ないことが多いので、症状から当たりをつけます。

| 症状 | 考えられる原因 | 次の手 |
|---|---|---|
| 画像を作る機能そのものが出ない、反応しない | ログインしていない | Googleアカウントでログインする |
| 新しい画像は作れるのに、写真の編集だけできない | 18歳未満は画像の編集ができない（生成は13歳以上） | アカウントの年齢設定を確認する |
| 個人アカウントでは使えるのに、会社や学校のアカウントで使えない | 仕事用・学校用アカウントには別の条件や制限がある | 管理者に確認するか、個人アカウントで使う |
| 対応国や対応言語の外から使っている | 画像生成はアプリの対応国・対応言語に限られる | 対応している言語・国で使う |
| 昨日は作れたのに今日は作れない、上限の表示が出る | 使用量の上限に達した | 時間をおく。上限はプランで変わる |
| 依頼が断られる、表示された画像が消えた | 人物や安全に関する規約で止められた | 自分の写真や許可を得た写真、架空の人物に切り替える |

人物や安全を理由に断られた依頼は、言い回しを変えて通そうとしないでください。Googleの生成AI禁止使用ポリシーは、安全フィルターを回避しようとすること自体を禁止事項に挙げており、繰り返すと利用制限の対象になります。何が断られ、何なら作れるのかは[Geminiで人物の画像生成ができない理由：規約・年齢・上限の切り分け](https://blog.laozhang.ai/ja/posts/gemini-image-generation-people-restriction)を参照してください。

人物と関係のない簡単な依頼（「青い花瓶の画像を作成して」など）を試すと、原因の切り分けが早くなります。それも作れないなら依頼の中身ではなく、ログイン、アカウント、上限、障害のどれかです。アプリ側の不具合の直し方は[Nano Banana が Gemini で動かない時の 12 個の直し方](https://blog.laozhang.ai/ja/posts/nano-banana-not-working-gemini-image-errors)が参考になります。

### Geminiの画像生成は何回までできる？

決まった枚数は公表されていません。Geminiアプリの上限は処理量（コンピュート）で計算され、5時間ごとに回復し、週単位の上限もあります。プランなしを標準として、Google AI Plusは2倍、Google AI Proは4倍、Google AI UltraはProの5倍または20倍です（Gemini Apps ヘルプの上限ページ、2026年10月5日時点）。「1日◯枚」という数字を見かけても、Googleの公式な数字ではありません。

なお、アプリの画像生成はすべてのユーザーがNano Banana 2で行い、有料プランの加入者だけが「Proでやり直す」でNano Banana Proを使えます。Nano Banana 2の1日の上限に達すると、Proでのやり直しもできなくなります。

### 「エラー13」「問題が発生しました」と出る

「エラー13」という番号の意味は、Googleの公開ヘルプには載っていません。番号から原因を特定するより、次の順で確認するほうが確実です。

1. 新しいチャットを開き、上の簡単な依頼で画像が出るかを試す
2. 出なければ、ログイン状態とアカウントの種類（個人か仕事用か）を確認する
3. それでも出なければ時間をおいてから試す

複数の端末や別のブラウザでも同じように失敗するなら、手元ではなくGoogle側の一時的な問題の可能性が高くなります。混雑時の表示の読み分けは[Gemini の high demand エラーは、まず入口と状態コードで切り分ける](https://blog.laozhang.ai/ja/posts/gemini-high-demand-error)を参照してください。

### 画像が表示されない、生成に時間がかかる

文章だけが返ってきて画像がない場合は、依頼が画像の作成として受け取られていない可能性があります。「画像を作成して」とはっきり書いて送り直してください。作った画像はライブラリからも開けるので、画面に出ないときはそちらも確認します。

生成に時間がかかるのは、Gemini 3.x系のモデルが標準で思考（Thinking）を行うためでもあります。Googleのトラブルシューティングガイドも、思考が応答の遅さと消費トークンの増加につながると説明しています。生成中の表示のまま長く止まっている場合は、新しいチャットで同じ依頼を送り直してください。

## Gemini APIのエラーコード表：HTTPステータスと再試行してよいか

Gemini APIのエラーは、HTTPステータスと機械向けのエラーコードの組み合わせで返ってきます。下の表はGoogleの「API errors」ページ（Interactions APIのエラーコード）をもとに、画像生成で出やすいものを並べたものです。「再試行」の列はGoogleのトラブルシューティングガイドの再試行ルールに合わせています。

| エラーコード | HTTP | 意味 | 対処 | 再試行 |
|---|---|---|---|---|
| `invalid_request` | 400 | リクエストの形式やパラメータが正しくない | モデルID、サイズ表記、APIバージョンをリファレンスと照合する | しない |
| `parameter_unknown` | 400 | 知らないパラメータが含まれている | そのパラメータを削除する | 直してから送る |
| `failed_precondition` | 400 | 前提条件を満たしていない（課金が無効など） | プロジェクトの課金状態を確認する | しない |
| `authentication` | 401 | APIキーがない、無効、期限切れ | キーを確認し、必要なら作り直す | しない |
| `payment_required` | 402 | Prepayの残高が0になった | 残高を追加するか自動チャージをオンにする | しない |
| `permission_denied` | 403 | キーにそのリソースへの権限がない | キーとプロジェクトのアクセス権を確認する | しない |
| `model_not_found` | 404 | 指定したモデルが見つからない | 提供終了したIDを現行IDに変える | しない |
| `rate_limit_exceeded` | 429 | 1分または1秒あたりのリクエスト数・トークン数の上限を超えた | 指数バックオフで待って送る | する |
| `quota_exceeded` | 429 | 1日の割り当てを使い切った | リセットを待つか引き上げを申請する | リセット後 |
| `api_error` | 500 | サーバー側の想定外のエラー | 再試行し、続くならサポートに連絡する | する |
| `service_unavailable` | 503 | 一時的な過負荷や停止 | 指数バックオフで待って送る | する |
| `deadline_exceeded` | 504 | 期限内に処理が終わらなかった | クライアント側のタイムアウトを延ばすか外す | 設定を変えてから |

同じ429でも`too_many_requests`（短時間に送りすぎ）というコードがあり、これも待って再試行する対象です。表にないコードは、HTTPステータスをスネークケースにした名前で返ってきます。

`generateContent`を使っている場合、コード名は少し違って見えます。HTTPステータスに加えて`status`欄に`INVALID_ARGUMENT`（400）、`RESOURCE_EXHAUSTED`（429）、`UNAVAILABLE`（503）などが入り、ブロックされた結果は後述の`finishReason`に出ます。中身は同じなので、HTTPステータスで表の行を引けば対処は変わりません。

APIキーが公開の場所に漏れたとGoogleが判断した場合は、そのキー自体がブロックされ、`Your API key was reported as leaked. Please use another API key.`というメッセージが返ります。この場合はGoogle AI Studioで新しいキーを作り、古いキーは使わないでください。

### 402と400の課金エラー：Prepay残高が0になったとき

2026年3月23日以降の新規アカウントはPrepay（前払い）が標準で、有料枠を使うには最低$5の入金が必要です。残高が$0になると、その請求先アカウントにつながるすべてのプロジェクトのキーが同時に止まり、入金するまで402が返ります。待っても直らないので、自動で再試行するコードは402で止める必要があります。課金そのものが無効なときは400の`failed_precondition`になります。

### 429が出たとき：1分の上限か、1日の割り当てか

429は「待てば通る」場合と「今日はもう通らない」場合に分かれます。

- `rate_limit_exceeded`／`too_many_requests`：1分や1秒あたりの上限です。指数バックオフで間隔を空ければ通ります。
- `quota_exceeded`：1日の割り当て（RPD）切れです。RPDは太平洋時間の0時にリセットされます。日本時間では夏時間の間は16時、それ以外の期間は17時です。

上限はAPIキーごとではなくプロジェクトごとにかかるので、同じプロジェクトでキーを増やしても上限は増えません。画像モデルには1分あたりの画像数（IPM）の上限もあり、現在の画像モデルの具体的な数値はGoogle AI Studioのプロジェクト画面で確認します。

もう1つ見落としやすいのが、利用額に応じた上限です。10分間の利用額がTier 1で$10、Tier 2で$50、Tier 3で$200を超えると429 `RESOURCE_EXHAUSTED`になります（請求履歴によって適用されない場合もあります）。Nano Banana Proの1K・2K画像は標準料金で1枚$0.134なので、Tier 1なら$10 ÷ $0.134 ≈ 74枚を10分以内に作ると届く計算です（思考や入力のトークン代は含めていません）。

無料枠のプロジェクトから画像生成を呼ぶと、429とともに`limit: 0`が返るという報告が多くあります。現在の画像モデルはどれも無料枠で画像を出力できないためです。有料にしたのに`limit: 0`が消えない場合は[Gemini APIが有料なのにfree_tier_requests・limit 0になるときの対処](https://blog.laozhang.ai/ja/posts/paid-tier-getting-free-tier-requests-limit-0)を、429全体の切り分けは[Gemini画像生成の429エラーの対処](https://blog.laozhang.ai/ja/posts/gemini-image-429-rate-limit)を参照してください。

![429を毎分・日次・支出・無料枠に分ける確認図](https://blog.laozhang.ai/posts/ja/gemini-image-common-errors-fix/img/content-1.webp)



### HTTP 200でも画像が来ない：ブロック系と生成エラー

リクエストは成功したのに画像がない場合は、生成が止められたか、モデルが画像を作れなかったかのどちらかです。Interactions APIではエラーコード、`generateContent`では候補の`finishReason`やプロンプトの`promptFeedback.blockReason`に理由が出ます。

| エラーコード | `finishReason` | 意味 | 次の手 |
|---|---|---|---|
| `image_safety` | `IMAGE_SAFETY` | 安全上の理由で画像生成が止められた | 依頼の内容を見直す |
| `image_prohibited_content` | `IMAGE_PROHIBITED_CONTENT` | 禁止コンテンツのガイドラインに当たった | 依頼の内容を見直す |
| `image_recitation` | `IMAGE_RECITATION` | 著作権や既存データの再現に関する制限で止められた | 既存作品の再現を求めず、独自の内容にする |
| `image_other` | `IMAGE_OTHER` | 理由が特定されていないブロック | [Nano Banana 2のblockReason OTHER：意味と空応答の処理方法](https://blog.laozhang.ai/ja/posts/nano-banana-2-blockreason-other) |
| `no_image` | `NO_IMAGE` | モデルが画像を生成できなかった | [Nano Banana APIで画像が生成されない原因と対処](https://blog.laozhang.ai/ja/posts/nano-banana-2-200-ok-no-image) |
| `missing_thought_signature` | — | 必要な思考シグネチャがない | [Nano Banana 2の思考シグネチャエラーの対処](https://blog.laozhang.ai/ja/posts/nano-banana-2-thought-signature-error) |

Googleはブロック系について「入力を変更して再試行する」よう案内していますが、これは依頼の内容を正当なものに直すという意味です。現在のGeminiモデルでは調整できる安全フィルターの既定値がすでに「Off」なので、`safetySettings`を`BLOCK_NONE`や`OFF`にしても`IMAGE_SAFETY`や`IMAGE_PROHIBITED_CONTENT`は解除されないと考えられます。児童の安全など中核的な保護は常に有効で、設定では変えられません。詳しくは[Nano Banana Proセーフティフィルター：設定をOFFにしても止まる理由](https://blog.laozhang.ai/ja/posts/nano-banana-pro-safety-filters)を参照してください。

思考シグネチャのエラーは、複数ターンで画像を編集するときに、前のターンの応答から署名を外して履歴に入れたことで起きるのが典型です。公式SDKのチャット機能を使うか、前のターンの応答を手を加えずに履歴へ入れれば、署名はSDKが引き継ぎます。

## 再試行してよいエラーと、してはいけないエラー

Googleのトラブルシューティングガイドが示すルールは単純です。

- **再試行するのは一時的なエラーだけ**：429、408、5xx
- **再試行しない**：400、402、403など。キーの誤り、Prepay残高切れ、構文の誤りは送り直しても直らない
- **間隔は指数的に広げる**：1秒、2秒、4秒、8秒のように倍にしていく
- **ジッターを足す**：待ち時間にランダムな幅を加え、多くのクライアントが同時に再試行しないようにする
- **回数に上限を設ける**：無限ループを防ぐ

Googleのガイドには「Python SDKは一時的なエラーを既定で最大4回、最初は約1秒、最大60秒の間隔で自動的に再試行する」とあります。ただし、2026年10月5日にPython SDK（`google-genai` 2.28.0）で429を返すテスト用サーバーに送ったところ、既定の`genai.Client()`はリクエストを1回送っただけでエラーを返しました。これは`client.models.generate_content`の結果で、同じバージョンの`client.interactions.create`は既定で429を自動再試行しました（同じテストで約3秒に4回）。自動再試行を使うには、クライアントの作成時に次の設定で明示的に有効にします。

```python
from google import genai
from google.genai import types

client = genai.Client(http_options=types.HttpOptions(retry_options=types.HttpRetryOptions()))
```

この設定では、同じテストで最初の約1秒から間隔を倍にしながら4回再試行し（計5リクエスト、間隔の上限60秒）、408・429・500・502・503・504が対象でした。JavaScriptなど他の言語のSDKの既定値はこの結果からは分からないため、使っているSDKのドキュメントで確認してください。

SDKの再試行を有効にしたうえで、さらに自前の再試行ループで包むと試行回数が掛け算になります。たとえば自前で3回試すと、1回の失敗で最大15リクエスト（SDKの1＋4回 × 3）がAPIに届きます。失敗した400や500のリクエストは課金されませんが割り当ては消費するので、再試行はSDKか自前のループのどちらか一方にまとめてください。

RESTを直接呼ぶ場合の判定ロジックは、次のように書けます。`send()`はHTTPステータスとレスポンスのJSONを返す関数で、実際のAPI呼び出しは使っているクライアントに合わせて差し替えます。

```python
import random
import time

def should_retry(status: int, code: str = "") -> bool:
    """Google の再試行ルールに沿った判定。code は Interactions API の error.code。"""
    if code == "quota_exceeded":      # 1日の割り当て切れ。リセットまで待つ
        return False
    if status in (408, 429):
        return True
    return 500 <= status <= 599 and status != 501  # 501 は機能未対応

def retry_delays(max_retries: int = 4, base: float = 1.0, cap: float = 60.0):
    """1秒、2秒、4秒…と倍にし、0〜1秒のジッターを足す。"""
    for attempt in range(max_retries):
        yield min(cap, base * 2 ** attempt) + random.uniform(0, 1)

def call_with_retry(send, max_retries: int = 4):
    """send() は (HTTPステータス, レスポンスJSON) を返す関数。"""
    delays = retry_delays(max_retries)
    while True:
        status, body = send()
        if status == 200:
            return body
        code = (body.get("error") or {}).get("code", "")
        if not should_retry(status, code):
            raise RuntimeError(f"{status} {code}: 再試行しても直らないエラー")
        delay = next(delays, None)
        if delay is None:
            raise RuntimeError(f"{status} {code}: 再試行の上限に達しました")
        time.sleep(delay)
```

このコードは、ダミーの応答（503→429→200、402、`quota_exceeded`、501、503の連続）を返す`send()`で動作を確かめています。503と429は待ってから送り直し、402・`quota_exceeded`・501はすぐに止まり、503が続くと4回の再試行で打ち切ります。HTTP 200が返っても画像が入っているとは限らないので、成功時には前の節の`finishReason`も確認してください。

![HTTPコードと画像有無を先に確認するAPI再試行フロー](https://blog.laozhang.ai/posts/ja/gemini-image-common-errors-fix/img/content-3.webp)



## 送る前に確認するパラメータ：モデルID・サイズの大文字K・APIバージョン

400や404の多くは、リクエストを送る前に防げます。

**モデルIDは現行のものを使う。** 2026年10月5日時点で画像生成に使えるのは次の3つです。

| モデル | モデルID |
|---|---|
| Nano Banana 2 | `gemini-3.1-flash-image` |
| Nano Banana Pro | `gemini-3-pro-image` |
| Nano Banana 2 Lite | `gemini-3.1-flash-lite-image` |

`gemini-3-pro-image-preview`と`gemini-3.1-flash-image-preview`は2026年6月25日に、初代Nano Bananaの`gemini-2.5-flash-image`は2026年10月2日に提供を終えました。Imagen 4系も2026年8月17日に終了しています。古い記事やサンプルコードのIDをそのまま使うと、モデルが見つからないという404（`model_not_found`）になります。

**サイズは大文字のKで書く。** `"1K"`、`"2K"`、`"4K"`のように大文字で指定し、`"1k"`のような小文字は受け付けられません。指定しなければ1Kです。512px（`"512"`）はNano Banana 2だけ、Nano Banana 2 Liteは1Kだけに対応しています。`generateContent`では`generationConfig.imageConfig`の`imageSize`と`aspectRatio`、Interactions APIでは`response_format`の`image_size`と`aspect_ratio`で指定します。`imageConfig`は画像生成に対応していないモデルに付けるとエラーになります。

**APIバージョンとそのほかの値を確認する。** `generateContent`のエンドポイントは`https://generativelanguage.googleapis.com/v1beta/models/{モデルID}:generateContent`です。ベータ版の機能は`/v1beta`でしか使えないため、`/v1`に送ると失敗することがあります。候補数（candidate count）は1〜8の整数、temperatureとtopPは0.0〜1.0の範囲です。ただしGemini 3.x系ではtemperatureなどを既定値のまま使うことが強く推奨されています。

## 429・503・IMAGE_OTHERなど原因別の詳しい対処

エラーの種類が特定できたら、それぞれの詳しい記事に進んでください。

- 429全般の切り分け：[Gemini画像生成の429エラーの対処](https://blog.laozhang.ai/ja/posts/gemini-image-429-rate-limit)
- Nano Banana Proの`RESOURCE_EXHAUSTED`と途中で止まった画像ジョブの再開：[Nano Banana ProのRESOURCE_EXHAUSTEDの対処：再試行と画像ジョブの再開](https://blog.laozhang.ai/ja/posts/resource-exhausted-error-nano-banana)
- 有料なのに`limit: 0`：[Gemini APIが有料なのにfree_tier_requests・limit 0になるときの対処](https://blog.laozhang.ai/ja/posts/paid-tier-getting-free-tier-requests-limit-0)
- 503や混雑の表示：[Nano Banana Pro が 503？ `Deadline expired` より code を先に見る（2026）](https://blog.laozhang.ai/ja/posts/fix-gemini-3-pro-image-503-overloaded)、[Gemini の high demand エラーは、まず入口と状態コードで切り分ける](https://blog.laozhang.ai/ja/posts/gemini-high-demand-error)
- 理由が示されない`IMAGE_OTHER`：[Nano Banana 2のblockReason OTHER：意味と空応答の処理方法](https://blog.laozhang.ai/ja/posts/nano-banana-2-blockreason-other)
- HTTP 200なのに画像がない：[Nano Banana APIで画像が生成されない原因と対処](https://blog.laozhang.ai/ja/posts/nano-banana-2-200-ok-no-image)
- 複数ターン編集での思考シグネチャ：[Nano Banana 2の思考シグネチャエラーの対処](https://blog.laozhang.ai/ja/posts/nano-banana-2-thought-signature-error)

## よくある質問

### Geminiで画像が生成できない理由は何ですか？

アプリなら、未ログイン、18歳未満での画像編集、対応国・言語や仕事用・学校用アカウントの制限、使用量の上限、人物や安全に関する規約による拒否、一時的な障害のどれかです。APIなら、返ってきたHTTPステータスとエラーコードで原因が分かります。400・402・403・404は設定や課金を直す必要があり、429と5xxは時間をおけば通ることが多いエラーです。

### Geminiで画像加工（編集）ができないのはなぜですか？

Geminiアプリでの画像の編集は18歳以上が対象で、ログインも必要です。新しい画像の生成は13歳以上（国によって異なる）でできるので、「生成はできるのに編集だけできない」場合は年齢設定を確認してください。他人の写真を使う編集は、その写真を使う権利があることが前提です。

### 有料にしたのにGemini APIの画像生成で429が出るのはなぜですか？

考えられるのは、1分あたりの上限、1日の割り当て切れ、10分間の利用額の上限、そしてキーの属するプロジェクトに有料枠が適用されていない場合です。エラーに`limit: 0`があれば最後のケースを疑い、キーがどのプロジェクトのものかを確認します。Prepayの残高が0になった場合は429ではなく402になります。

### gemini-2.5-flash-imageで404が出るのはなぜですか？

古いサンプルコードによくある`gemini-2.5-flash-image`は2026年10月2日に提供を終えたため、モデルIDを`gemini-3.1-flash-image`（Nano Banana 2）などの現行IDに置き換えます。料金とサイズの選択肢が変わるので、置き換えたらサイズ指定も確認してください。
