Genace

The model is overloaded. Please try again later. — Gemini API 503 UNAVAILABLE on Nano Banana and other models

HTTP 503 UNAVAILABLE Safe to retry

The exact error

The model is overloaded. Please try again later.

Google’s servers did not have capacity to run your request on that model at that moment. It is a 503, not a 429: Google describes it as the service being temporarily overloaded or down, and users report the same request succeeding on the next attempt.

What it means

Google’s Gemini API troubleshooting guide lists 503 UNAVAILABLE alongside 429 RESOURCE_EXHAUSTED as errors that indicate you should retry, using exponential backoff. In python-genai issue #1808, which involved a Nano Banana Pro image request, the issue’s assignee explained that 503 “is observed when the service is temporarily overloaded or down”, and suggested switching to another model or waiting and retrying.

The exact overloaded message is best documented in the gemini-cli tracker. Issue #4360 and the consolidated issue #7227 collect many reports, mostly against gemini-2.5-pro and gemini-2.5-flash with API keys. Users there report:

  • It happens on paid keys, including commenters on Tier 1 and Tier 3, so paying for a higher tier does not make you immune.
  • It is intermittent. One user’s first request returned this 503 and the next one went through.
  • It comes in waves. In January 2026 a gemini-cli collaborator described “higher than usual capacity constraints” and said they should be temporary.

On the image side, the evidence is thinner. In August 2025 a collaborator wondered whether an uptick in load from Nano Banana was behind the reports; that was speculation, not a diagnosis. Another user reports the same 503 from gemini-2.5-flash while sending text and images. Nothing in these sources says image models are more or less affected than text models.

How to confirm it’s this

  • HTTP 503, status UNAVAILABLE, and this exact message.
  • The same payload succeeds on a later attempt, or a different model accepts it while this one keeps returning 503.
  • Your quota usage is not at its limit. Quota rejections are reported as 429 RESOURCE_EXHAUSTED, a different status.

If one specific request fails every time while other requests to the same model succeed, suspect the request instead, and compare with the 500 INTERNAL case linked below.

Fix

There is nothing to fix on your side in the request itself. What you can control is how your code absorbs it:

  1. Retry with exponential backoff and jitter (details below).
  2. Fall back to another model. This is the Google suggestion in #1808, and several users in #7227 report switching from gemini-2.5-pro to Flash models to keep working. For image generation, only fall back to a model whose output you are willing to ship.
  3. Surface the failure after a bounded time. One user in #7227 reports the CLI took up to six minutes before giving up. For a user-facing product, decide how long you will wait before showing an error or switching models.

Users in #7227 also suggest running outside peak hours and, on Vertex, paying for Provisioned Throughput. Treat both as community suggestions; no Google statement in these sources confirms either helps.

Retry or not

Yes. Google’s troubleshooting guide recommends retrying 503 UNAVAILABLE with exponential backoff: start around 1 second, grow the delay (2s, 4s, 8s), add random jitter, and set a maximum number of attempts. It also says the official SDKs already retry 5xx responses automatically; the Python SDK, for example, retries up to four times with delays between about 1 and 60 seconds. If you add your own retry loop on top, the total wait multiplies.

For agent code:

  • Resend the identical payload. Do not let the agent rewrite the prompt in response to a 503; the prompt was not the problem.
  • Use a retry budget measured in wall time, not just attempts, then fall back or fail cleanly.

When it’s not this

  • 503 with “Deadline expired before operation could complete.” Same status, different message. In python-genai #1808 it appeared after a few minutes on a Nano Banana Pro image request, and a later retry worked.
  • The service is currently unavailable. A user in #7227 reports this shorter UNAVAILABLE wording in gemini-cli. It carries the same status, so the same retry policy fits.
  • 429 RESOURCE_EXHAUSTED. That is quota or capacity allocation on your project, with its own remedies.
  • 500 INTERNAL. A generic server error. If it repeats on one payload, the request itself may be the trigger; see that page.

Error text last verified against the sources below on .

Where these facts come from