Устранение ошибок Nano Banana
Допустимые значения параметров см. в разделе Nano Banana: текст в изображение и размеры.
Поиск по симптомам
400 Request contains an invalid argument
{
"error": {
"code": 400,
"message": "Request contains an invalid argument.",
"status": "INVALID_ARGUMENT"
}
}Эта ошибка не указывает конкретный параметр. По замерам, её возвращают все следующие случаи:
Как искать причину: сначала повторите запрос без imageConfig; если генерация проходит, проблема в соотношении сторон или разрешении — добавляйте их обратно по одному, чтобы найти причину.
Неверное соотношение сторон или разрешение
Сначала проверьте фактические ширину и высоту полученного изображения, затем сверьтесь с таблицей:
Правильный вариант:
{
"contents": [{ "parts": [{ "text": "..." }] }],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": { "aspectRatio": "9:16", "imageSize": "2K" }
}
}Распознаются оба варианта написания — imageConfig / image_config и aspectRatio / aspect_ratio; по замерам, image_config: { aspect_ratio: "9:16" } корректно даёт 768×1376.
В ответе нет изображения
В клиентах вроде Cherry Studio и LobeHub добавляйте модель как модель генерации изображений, а не как чат-модель.
410 model_deprecated
{
"error": {
"message": "Model 'google/gemini-3-pro-image-preview' is deprecated and no longer accepts requests; please switch to an active model",
"type": "model_deprecated",
"code": 410
}
}Старые ID с окончанием -preview отключены; используйте ID стабильных версий:
ID модели в пути нативного эндпоинта можно указывать как с префиксом google/, так и без него — по замерам, оба варианта работают.
Результат редактирования не связан с исходным изображением
Как убедиться, что референсное изображение прочитано: в нативном эндпоинте проверьте, есть ли элемент IMAGE в usageMetadata.promptTokensDetails; в OpenAI-совместимом — проверьте usage.input_tokens_details.image_tokens. По замерам, одно референсное изображение 1024×1024 даёт 1 120 токенов.
Блокировка политикой безопасности
Если запрос заблокирован политикой безопасности, изображения в ответе нет, а причина указана в finishReason или promptFeedback.blockReason. Значения (по официальным определениям Google):
Код не должен предполагать, что изображение в ответе есть всегда: сначала проверьте наличие candidates и что finishReason равен STOP, и только затем читайте inlineData. Определения полей см. в Gemini API · FinishReason .
Таймауты, 504, 524
API синхронный; по замерам, 1K занимает около 5–20 секунд, 4K — около 30 секунд, в часы пик дольше. Типичного таймаута по умолчанию в 60 секунд недостаточно.
- Установите таймаут клиента 300 секунд или больше.
- Проверьте таймауты промежуточных прокси, таких как Nginx, Vercel и Cloudflare: по умолчанию они обычно составляют всего 60–100 секунд.
- PNG в 4K занимает около 16 МБ, а тело ответа превышает 20 МБ — убедитесь, что прокси не обрезает большие ответы.
Если клиент разорвёт соединение раньше времени, запрос всё равно будет оплачен.
Другие ошибки
Обращаясь в техническую поддержку, приложите request_id из ответа и полный текст ошибки.
Часто задаваемые вопросы
Что делать с ошибкой Nano Banana Request contains an invalid argument?
Эта ошибка не указывает конкретный параметр; обычно соотношение сторон или разрешение выходит за пределы того, что поддерживает модель. Например, 5:3 не входит в список поддерживаемых соотношений; Nano Banana 2 Lite поддерживает только 1K; у Pro нет 512; максимум для всех моделей — 4K. Сначала повторите запрос без imageConfig, затем добавляйте параметры обратно по одному.
Что делать, если в Nano Banana задан aspectRatio, но соотношение сторон неверное?
Сначала убедитесь, что imageConfig находится в generationConfig, а не на верхнем уровне тела запроса. Затем проверьте, что модель поддерживает это значение: Pro не поддерживает 1:4, 4:1, 1:8, 8:1; предыдущее поколение Nano Banana не поддерживает imageSize.
Почему в ответе Nano Banana нет изображения?
Частая причина в том, что код читает только первый элемент parts, а изображение находится дальше; перебирайте parts в поисках inlineData. Другая причина — запрос заблокирован политикой безопасности; в этом случае finishReason не равен STOP.
Что делать, если gemini-3-pro-image-preview возвращает 410 model_deprecated?
ID предварительных версий отключены. Замените google/gemini-3-pro-image-preview на google/gemini-3-pro-image, а google/gemini-3.1-flash-image-preview на google/gemini-3.1-flash-image.
Что делать, если Nano Banana возвращает IMAGE_SAFETY?
IMAGE_SAFETY означает, что сгенерированное изображение признано политикой безопасности нарушающим правила; повтор без изменений даст тот же результат. Измените промпт, избегая реальных людей, персонажей, защищённых авторским правом, и чувствительного контента, и повторите попытку.
Почему при редактировании в Nano Banana референсное изображение не учитывается?
input_images — поле Qwen-Image, Gemini его не поддерживает. Загружайте файл через /v1/images/edits или в нативном эндпоинте Gemini передавайте изображение как inlineData в том же parts, что и текст.