Ошибки генерации изображений Gemini: коды API и когда повторять
В приложении Gemini картинку блокируют вход, возраст, страна, лимит или правила. В API решает код: 429 и 5xx повторяют с паузой, 400, 402 и 403 — нет.
Содержание

Ошибка генерации изображения в Gemini бывает двух видов, и устраняются они по-разному. В приложении Gemini (сайт gemini.google.com или мобильное приложение) кода обычно нет: картинку не дают создать аккаунт, возраст, страна, лимит или правила Google. В Gemini API причину называет код ответа, и по нему же видно, есть ли смысл повторять запрос. По правилам Google повторяют только 429, 408 и ошибки 5xx, с нарастающей паузой; 400, 402 и 403 не пройдут, пока не исправлена причина.
Ниже сначала короткий разбор для приложения, затем таблица кодов API. Модели и даты указаны по состоянию на 5 октября 2026 года.
Gemini не создаёт картинку в приложении: вход, возраст, страна, лимит
| Что происходит | Причина | Что сделать |
|---|---|---|
| Генерация не запускается, Gemini просит войти | Изображения создаются только после входа в аккаунт Google | Войдите в личный аккаунт |
| Создавать можно, а редактировать загруженное фото — нет | Редактирование изображений доступно с 18 лет, создание — с 13 лет (или с возраста, установленного в стране) | Проверьте возраст в аккаунте Google; до 18 лет редактирование закрыто |
| «Недоступно в вашем регионе» | Функция работает только в странах и на языках, которые поддерживает приложение. России нет в списках стран приложения Gemini, Google AI Studio и Gemini API | Официального способа пользоваться функцией из России нет; подробности — в разборе что из Nano Banana доступно из России |
| Не работает в рабочем или учебном аккаунте | Для таких аккаунтов действуют другие условия и ограничения | Проверьте в личном аккаунте или спросите администратора |
| Картинки перестали создаваться после серии | Исчерпан лимит: он считается по вычислительной нагрузке, обновляется каждые 5 часов до недельного потолка. Пока не восстановилась дневная квота Nano Banana 2, не работает и «Redo with Pro» | Дождитесь обновления лимита; как он устроен — в материале сколько картинок бесплатно в Gemini |
| Gemini отказывается, особенно когда в запросе реальный человек | Срабатывают правила Google: нельзя использовать чужое изображение без согласия, создавать интимные изображения без согласия, сцены насилия и другой запрещённый контент. Уже созданную картинку система может удалить | Измените запрос так, чтобы он не нарушал правила; что разрешено с людьми — в статье почему Gemini не генерирует изображения людей |
| «Что-то пошло не так», генерация зависает | Сбой на стороне сервиса или соединения | Повторите позже; разбор по симптомам — в статье Nano Banana не работает в Gemini |
Обойти отказ переформулировками с целью обмануть фильтры не стоит: Google отдельно отслеживает попытки обойти защиту, а повторные нарушения могут ограничить генеративные функции или весь аккаунт Google. Оспорить ограничение можно по ссылке из уведомления.
Коды ошибок Gemini API для изображений: что значат и повторять ли
Google публикует коды ошибок для Interactions API — на нём построены текущие примеры генерации изображений в документации. Ответ с ошибкой содержит объект error с полями code и message; по code и стоит ветвить логику.
| Код | HTTP | Что случилось | Что делать | Повторять |
|---|---|---|---|---|
invalid_request | 400 | Неверный формат запроса или параметр | Сверить запрос со справочником API: ID модели, размер, поля | Нет |
parameter_unknown | 400 | В запросе неизвестный параметр | Удалить его | Нет |
failed_precondition | 400 | Не выполнено условие, например выключен биллинг | Проверить платёжный аккаунт проекта | Нет |
authentication | 401 | Ключ отсутствует, неверен или истёк | Проверить ключ и то, к какому проекту он относится | Нет, пока ключ не исправлен |
payment_required | 402 | Исчерпан предоплаченный баланс (Prepay) | Пополнить баланс или включить автопополнение | Нет: Google прямо пишет, что запрос не пройдёт без пополнения |
permission_denied | 403 | У ключа нет доступа к ресурсу | Проверить права ключа и доступ к проекту | Нет |
model_not_found | 404 | Модели с таким ID нет, в том числе отключённой | Перейти на действующий ID (список ниже) | Нет |
rate_limit_exceeded | 429 | Превышен лимит запросов или токенов в минуту или секунду | Пауза с экспоненциальным ростом | Да |
quota_exceeded | 429 | Исчерпана дневная квота | Дождаться сброса или запросить увеличение | Только после сброса |
api_error | 500 | Внутренняя ошибка сервера | Повторить; если не проходит, писать в поддержку | Да |
service_unavailable | 503 | Сервис перегружен или недоступен | Пауза с экспоненциальным ростом | Да |
deadline_exceeded | 504 | Запрос не уложился в срок | Увеличить или убрать таймаут на стороне клиента | Да, с бо́льшим таймаутом |
Если вы работаете через generateContent, ситуации те же, но выглядят иначе: HTTP-статус приходит вместе со статусом вроде RESOURCE_EXHAUSTED (для 429) или INVALID_ARGUMENT и FAILED_PRECONDITION (для 400), а блокировки содержимого — в полях finishReason и promptFeedback.blockReason.
С 402 чаще всего сталкиваются после перехода на платный уровень: с 23 марта 2026 года новые аккаунты по умолчанию работают по предоплате, минимальное пополнение — $5, и при нулевом балансе каждый запрос возвращает 402. Неудачные запросы с ошибками 400 и 500 не оплачиваются, но расходуют квоту. Если в сообщении стоит «Your API key was reported as leaked», Google заблокировал ключ как утёкший: нужен новый ключ из AI Studio, а старый лучше нигде не публиковать. Подробно о долгих 503 — в разборе ошибки 503 у Nano Banana Pro и в статье ошибка Gemini High Demand; сводка ошибок именно Nano Banana Pro — в справочнике ошибок Nano Banana Pro.
Ошибка 429 у моделей изображений: минутный лимит, квота или limit 0
Один и тот же HTTP 429 означает несколько разных ограничений, и пауза помогает не от всех.
rate_limit_exceeded— минутный или секундный лимит. У моделей изображений, кроме запросов и токенов, считается число изображений в минуту (IPM). Здесь пауза с нарастанием как раз помогает.quota_exceeded— дневная квота. Лимит запросов в день (RPD) сбрасывается в полночь по тихоокеанскому времени, и повторы до этого момента бесполезны.- Лимит расходов за скользящие 10 минут: $10 на Tier 1, $50 на Tier 2, $200 на Tier 3. Он тоже приходит как 429
RESOURCE_EXHAUSTED. Пример расчёта: при цене Nano Banana Pro $0,134 за картинку 1K или 2K лимит Tier 1 исчерпывается примерно на 74 изображениях за 10 минут ($10 / $0,134 ≈ 74,6). - Бесплатный уровень. Генерация изображений через API на бесплатном уровне не предусмотрена ни для одной текущей модели, поэтому запрос из бесплатного проекта сразу упирается в квоту; по сообщениям разработчиков, в тексте ошибки обычно стоит
free_tier_requestsи limit 0. Если так происходит в уже платном проекте, смотрите разбор free_tier_requests limit 0 на платном тарифе.
Лимиты действуют на проект, а не на ключ, так что новый ключ в том же проекте 429 не снимет. Точные цифры для вашего проекта показывает AI Studio. Подробный порядок проверки — в статье как исправить ошибку 429 Gemini Image, а случай с Nano Banana Pro — в материале ошибка RESOURCE_EXHAUSTED у Nano Banana Pro.

Блокировки и ответ без картинки: IMAGE_SAFETY, IMAGE_OTHER, NO_IMAGE
Если запрос прошёл, а изображения нет, причина в коде блокировки или ошибки генерации. В Interactions API это значения code, в generateContent — те же названия заглавными буквами в finishReason или promptFeedback.blockReason.
| Код | Что означает | Что делать |
|---|---|---|
image_safety | Нарушение правил безопасности в изображении | Изменить запрос или исходное фото |
image_prohibited_content | Запрещённый контент в изображении | Изменить запрос в рамках правил |
image_recitation | Результат слишком похож на защищённый материал | Сделать запрос оригинальнее, без копирования известных работ |
image_other | Блокировка без уточнения причины | Разбор — в статье Nano Banana 2 blockReason OTHER |
no_image | Модель не смогла создать изображение | Проверить ответ по шагам — Nano Banana не генерирует изображение в API |
missing_thought_signature | В многоходовом диалоге потеряна подпись мышления (thought signature) | Возвращать предыдущие ответы модели целиком — ошибка thought signature в Nano Banana 2 |
Для блокировок Google советует одно: изменить входные данные и отправить снова. Настройки safetySettings здесь не помогут. Настраиваемые фильтры у текущих моделей Gemini и так по умолчанию выключены, поэтому BLOCK_NONE ничего не меняет, а встроенная защита, например в части безопасности детей, не отключается вовсе. В Interactions API своих настроек безопасности нет. Подробнее о том, что можно настроить, — в материале фильтры безопасности Nano Banana Pro.
Как повторять запросы к Gemini API: правила Google
Правила из руководства Google по устранению неполадок:
- Повторять только временные ошибки: 429, 408 и 5xx. Ошибки 400, 402 и 403 не повторять: это неверный ключ, пустой баланс или синтаксис.
- Увеличивать паузу экспоненциально: 1 с, 2 с, 4 с, 8 с.
- Добавлять к паузе случайный разброс (jitter), чтобы клиенты не повторяли запросы одновременно.
- Ограничить число попыток.
По руководству Google официальные SDK повторяют временные ошибки сами: Python SDK — до четырёх раз, с паузой от примерно 1 секунды до 60 секунд. В google-genai 2.28.0 это не включено по умолчанию: в тесте 5 октября 2026 года с локальным сервером, который отвечал 429 RESOURCE_EXHAUSTED, клиент genai.Client() без настроек отправил один запрос и сразу выбросил APIError. Это относится к client.models.generate_content: client.interactions.create в той же версии повторяет 429 сам (в том же тесте — четыре запроса примерно за 3 секунды). Повторы включаются одной строкой конфигурации:
from google import genai
from google.genai import types
client = genai.Client(
http_options=types.HttpOptions(retry_options=types.HttpRetryOptions())
)С этой настройкой в том же тесте клиент отправил 5 запросов (первый и четыре повтора) с паузой, растущей примерно от 1 секунды до потолка 60 секунд; в список кодов, которые SDK повторяет, входят 408, 429, 500, 502, 503 и 504. SDK для JavaScript, Go и Java в этом тесте не проверялись.
Выберите один уровень повторов: либо HttpRetryOptions в SDK, либо собственный цикл. Если включить оба, попытки перемножатся: пять своих попыток поверх пяти запросов SDK дают до 25 запросов. Собственный цикл нужен прежде всего для прямых REST-запросов, например такой:
import os
import random
import time
import requests
URL = "https://generativelanguage.googleapis.com/v1beta/interactions"
RETRY_STATUSES = {408, 429, 500, 502, 503, 504}
MAX_ATTEMPTS = 5
def create_image(prompt: str) -> dict:
headers = {
"x-goog-api-key": os.environ["GEMINI_API_KEY"],
"Content-Type": "application/json",
}
body = {
"model": "gemini-3.1-flash-image",
"input": [{"type": "text", "text": prompt}],
"response_format": {"type": "image", "image_size": "2K", "aspect_ratio": "16:9"},
}
for attempt in range(MAX_ATTEMPTS):
resp = requests.post(URL, headers=headers, json=body, timeout=180)
if resp.ok:
return resp.json()
try:
error = resp.json().get("error", {})
except ValueError:
error = {}
code = error.get("code", "")
# Дневная квота не восстановится за секунды: повторять бессмысленно
retryable = resp.status_code in RETRY_STATUSES and code != "quota_exceeded"
if not retryable or attempt == MAX_ATTEMPTS - 1:
raise RuntimeError(f"{resp.status_code} {code}: {error.get('message', resp.text)}")
time.sleep(min(2 ** attempt, 60) + random.uniform(0, 1))Функция возвращает JSON ответа; изображение в нём закодировано в base64 (в SDK это поле output_image.data). 400, 401, 402, 403 и 404 сразу поднимают исключение: для них нужна правка запроса, ключа или баланса, а не повтор.

Перед повтором проверьте запрос: ID модели, «2K», /v1beta
Многие 400 и 404 при генерации изображений вызваны не сбоем, а устаревшим кодом.
- ID модели. Действующие модели изображений:
gemini-3.1-flash-image(Nano Banana 2),gemini-3-pro-image(Nano Banana Pro) иgemini-3.1-flash-lite-image(Nano Banana 2 Lite).gemini-3-pro-image-previewиgemini-3.1-flash-image-previewотключены 25 июня 2026 года,gemini-2.5-flash-image— 2 октября 2026 года, модели Imagen 4 — 17 августа 2026 года. Запрос к отключённому ID возвращает 404model_not_found. - Размер с заглавной K. Допустимы
"1K","2K","4K"; строчное"1k"API отклоняет. По умолчанию создаётся 1K, а Nano Banana 2 Lite поддерживает только 1K. - Где задаётся размер. В Interactions API —
response_format.image_sizeиresponse_format.aspect_ratio, вgenerateContent—generationConfig.imageConfig.imageSizeиaspectRatio. - Версия API. Генерация изображений идёт через
/v1beta: и/v1beta/interactions, и/v1beta/models/…:generateContent. Функции в статусе бета доступны только в/v1beta. - Число вариантов.
candidateCount— целое от 1 до 8.
Пошаговая настройка ключа, предоплаты и первого запроса — в руководстве Gemini Image API: ключ, предоплата $5, модели и код на Python.
Вопросы об ошибках генерации изображений в Gemini
Каков лимит генерации изображений в Gemini?
Фиксированного числа картинок в день Google не публикует. В приложении лимит считается по вычислительной нагрузке, обновляется каждые 5 часов и ограничен недельным потолком; с планом Google AI он выше. В API лимиты задаются на проект и зависят от уровня (Tier), а цифры для конкретного проекта показывает AI Studio.
Почему Gemini пишет, что функция «недоступна в вашем регионе»?
Функция не открыта для вашей страны. Google ограничивает генерацию изображений странами и языками, которые поддерживает приложение, а России нет ни в списках приложения Gemini, ни в списках AI Studio и Gemini API. Официального способа снять это ограничение нет.
Как отредактировать изображение в Gemini?
Загрузите фото или откройте уже созданную картинку и опишите правку словами; можно загрузить несколько изображений и попросить их совместить. На компьютере: gemini.google.com → раздел Library → изображение → Chat. Редактирование доступно только с 18 лет.
Поможет ли новый API-ключ при ошибке 429?
Нет, если ключ создан в том же проекте: лимиты Gemini API действуют на проект, а не на ключ. Помогает пауза при минутном лимите, ожидание сброса при дневной квоте, а если лимит расходов мешает при обычной работе, — запрос на его повышение.





