Перейти к основному содержанию

Nano Banana API не работает: как разобрать 429, 503, отсутствие изображения и отказ

A
12 мин чтенияГенерация изображений с ИИ

Сначала докажите ветку ошибки Nano Banana API, затем выбирайте backoff, очередь, правку payload, исправление доступа или отдельный маршрут для 429 и 503.

Nano Banana API не работает: как разобрать 429, 503, отсутствие изображения и отказ

Когда Nano Banana API перестает возвращать нормальный результат, не начинайте с замены ключа, модели или провайдера. Сначала определите ветку сбоя. 429 RESOURCE_EXHAUSTED указывает на квоты или rate limit проекта. 503 UNAVAILABLE начинается как ветка емкости. 504 DEADLINE_EXCEEDED относится к таймауту. Успешный HTTP-ответ без изображения требует проверки parts, inlineData, output modality, safety finish и file resource. Формулировка request denied делится на permission, safety, key/project, file access или gateway policy.

СимптомПервая безопасная проверкаСледующее действие
429 RESOURCE_EXHAUSTEDПроверьте живые лимиты проекта и модели.Backoff с jitter, очередь или отдельный маршрут 429.
503 UNAVAILABLE / 504 DEADLINE_EXCEEDEDПовторите тот же путь: модель, endpoint, проект, key, payload и input.Для 503 используйте bounded retry; для 504 правьте timeout или нагрузку.
Нет изображения или только текстОбойдите все response parts и найдите image data.Исправьте parser, modality, safety или file reference.
Request deniedРазделите 403, blocked key, safety finish, file resource и gateway denial.Исправляйте владельца отказа, а не все переменные сразу.

Граница фактов: официальные документы Google Gemini API по troubleshooting, image generation, rate limits, Batch API и Files API проверены 19 апреля 2026 года. Старые таблицы лимитов, проценты инцидентов, обещания непиковых окон и гарантированные исправления здесь не используются.

429 RESOURCE_EXHAUSTED сначала означает давление на квоту

Разделение статусов Nano Banana API для 429, 503 и 504

429 RESOURCE_EXHAUSTED не доказывает поломку модели. Это прежде всего сигнал, что текущий проект или модель достигли квотного давления. В Gemini API лимиты обычно связаны с проектом, поэтому второй ключ в том же проекте не обязан дать новый запас.

Порядок действий простой: откройте фактические лимиты проекта, проверьте модель и tier, затем запускайте retry только с верхней границей попыток. Jitter нужен, чтобы параллельные воркеры не вернулись в API одной волной. Если задача не пользовательская и не срочная, лучше отправить ее в очередь или Batch API, чем держать синхронный цикл.

Если 429 повторяется при обычной нагрузке, это уже не локальный всплеск, а вопрос capacity planning. Для точного разбора используйте ветку Gemini Image 429; для общей архитектуры лимитов смотрите Gemini API rate limits.

503 и 504 требуют разных действий

503 UNAVAILABLE говорит о временной недоступности или перегрузке. Он не означает, что billing, key или prompt обязательно неверны. Сначала повторите тот же запрос без изменений. Если ответ снова 503, ветка емкости сохраняется. Если стал 429, переходите в квоты. Если появился 400 или 403, прекращайте лечить это как перегрузку.

504 DEADLINE_EXCEEDED имеет другой смысл: запрос не уложился в бюджет времени. Это может быть слишком тяжелый input, сложная генерация, короткий client timeout или перегруженный backend. Для 504 полезнее поднять timeout или снизить нагрузку, чем просто быстро повторять тот же запрос.

Точная ветка для устойчивых 503/504 находится здесь: исправление Gemini 3 Pro Image 503 overloaded.

Отсутствие изображения начинается с проверки response parts

Проверка response parts при ответе Nano Banana API без изображения

HTTP success может вернуть текст и не вернуть image part. Код приложения часто ошибается, когда ожидает изображение в одном фиксированном поле или сохраняет только первый part. Для Gemini image generation нужно пройти по candidates, content parts и проверить inlineData с image MIME type.

Если image data нет, проверьте четыре вещи. Запрос действительно просит image output. Response не завершился safety finish. Входной файл был загружен как API resource, а не передан локальным путем. Gateway не преобразовал ответ и не потерял image part.

После этого исправление обычно маленькое: явно запросить изображение, сохранить только настоящий image part, логировать finish reason и file URI отдельно. Без этой проверки no-image нельзя считать outage.

Request denied нужно разбирать по владельцу отказа

Request denied может прийти из разных слоев. 403 PERMISSION_DENIED связан с permission, ключом, проектом или включением API. finishReason: SAFETY относится к safety branch. Невалидный file URI связан с ресурсами Files API. Gateway denial принадлежит маршруту или политике прокси.

Лог должен сохранять HTTP status, status string, finish reason, upstream response и gateway response отдельно. Если Google вернул 403, исправляйте ключ, проект или permission. Если отказ пришел от safety, меняйте prompt или маршрут. Если отказ выглядит как file access, проверьте имя файла, URI, MIME type, state и принадлежность проекту.

Повтор по тому же пути сохраняет чистый сигнал

Рабочий процесс повторной проверки Nano Banana API по тому же пути

Смысл same-path проверки в том, чтобы не потерять причину. Перед заменой модели, key, endpoint, prompt, provider или input повторите тот же request path.

Повторный результатИнтерпретацияДействие
Снова 429Квотная ветка стабильнаBackoff, очередь, Batch API или 429 route
Снова 503Ветка емкости стабильнаBounded retry, очередь или 503 route
Стал 504Проявился timeoutУвеличьте timeout или уменьшите нагрузку
Успех без изображенияПроявилась форма ответаПроверяйте parts, inlineData, modality, safety, file
Стал 403 или denialПроявились права, safety или fileИсправьте конкретного владельца

Меняйте одну переменную за раз. Когда доказана постоянная квотная проблема, можно оценить альтернативные маршруты для Nano Banana 2 при 429.

Часто задаваемые вопросы

503 означает, что Nano Banana API полностью недоступен?

Нет. Один 503 показывает ветку availability или capacity для текущего запроса. Нужен повтор тем же путем и сравнение с другими моделями или endpoint.

Billing исправляет 503?

Billing влияет на квоты и tier, но доказанный 503 не является billing branch. Не смешивайте 429 и 503.

Почему ответ есть, а изображения нет?

Parser мог не обойти все parts, запрос мог не просить image output, генерация могла завершиться safety finish, или input file мог быть недоступен API.

Что первым проверить при request denied?

Сначала HTTP status. Для 403 проверяйте key, project, API enablement и permission. При success с safety finish работайте с prompt или policy. При file branch проверяйте file URI и ownership.

Когда менять модель или provider?

Только после доказанной ветки. Постоянный 429, устойчивый 503, safety limit или gateway policy могут оправдать переключение, но не в первой диагностической итерации.

Поделиться:

laozhang.ai

Один API, все модели ИИ

AI Изображения

Gemini 3 Pro Image

$0.05/изобр.
-80%
AI Видео

Sora 2 · Veo 3.1

$0.15/видео
Async API
AI Чат

GPT · Claude · Gemini

200+ моделей
Офиц. цена
Обслужено 100K+ разработчиков
|@laozhang_cn|$0.1 бонус