Примечание автора: Не удается сгенерировать изображение в Nano Banana Pro/2? В этой статье мы разберем 8 категорий блокировок в двухуровневой системе безопасности Google: от NSFW и удаления водяных знаков до известных IP и защиты несовершеннолетних. Также вы найдете методы диагностики ошибок и рекомендации по их обработке в клиентских продуктах.
При использовании API для генерации изображений через Nano Banana Pro или Nano Banana 2 вы можете столкнуться с ситуацией, когда код состояния возвращает 200, но данные изображения отсутствуют, либо приходит текстовый ответ: «I'm unable to assist with that». Это не проблема сервиса-прокси API, а результат работы политики безопасности Google.
Начиная с 23 января 2026 года, Google значительно ужесточила правила безопасности для генерации изображений. После запуска Nano Banana 2 (27 февраля) механизмы защиты были дополнительно усилены: добавлена фильтрация контента, связанного с известными личностями, подделкой финансовой информации, сменой одежды/лица, а также скрытыми сексуальными намеками. В этой статье мы подробно разберем все причины сбоев и способы их решения.
Ключевая ценность: Прочитав этот материал, вы поймете внутренние механизмы сбоев в Nano Banana Pro/2, освоите методы определения 8 категорий блокировок и научитесь корректно обрабатывать такие ошибки в своих приложениях.

Основные методы диагностики сбоев генерации в Nano Banana Pro/2
Когда вы получаете ошибку Error: Gemini did not return edited image data или аналогичное сообщение, как определить причину сбоя? Google выделяет 3 ключевых индикатора, отсортированных по приоритету:
| Приоритет | Индикатор диагностики | Признак сбоя | Пояснение |
|---|---|---|---|
| Высший | candidatesTokenCount |
Равно 0 | Прямой отказ, контент не сгенерирован |
| Средний | finishReason |
IMAGE_SAFETY / PROHIBITED_CONTENT / OTHER | Блокировка в процессе генерации |
| Важный | Текстовый ответ API | Возвращен текст вместо изображения, токенов < 1000 | Модель «объясняет» причину отказа |
Два типичных сценария сбоя генерации в Nano Banana Pro/2
Сценарий 1: candidatesTokenCount = 0
В ответе API параметр usageMetadata.candidatesTokenCount равен 0, модель напрямую отказывается генерировать изображение. В этом случае finishReason обычно принимает значение IMAGE_SAFETY или PROHIBITED_CONTENT, а поле content.parts в теле ответа будет равно null.
Сценарий 2: Возврат текста вместо изображения
В ответе API параметр candidatesTokenCount не равен 0, но меньше 1000 — модель вернула текстовое сообщение вместо данных изображения. Частые ответы:
- «I'm unable to assist with that request»
- «Я не могу помочь с этим запросом»
- «I cannot modify images of real people»
Общая черта этих ситуаций: код состояния — 200. Это означает, что сам запрос корректен, а APIYI, работая как прозрачный сервис-прокси API, просто пересылает ответ от Google. Проблема кроется в политике безопасности контента Google.
🎯 Совет разработчикам: Если вы создаете клиентское приложение, обязательно предусмотрите в коде проверку этих признаков сбоя, чтобы переводить технические ошибки в понятные для пользователя подсказки. APIYI предоставляет полное руководство по обработке ошибок:
xinqikeji.feishu.cn/wiki/Rslqw724YiBwlokHmRLcMVKHnRf
8 категорий безопасности, вызывающих сбои в Nano Banana Pro/2

В таблице ниже подробно перечислены 8 категорий сбоев при генерации и их признаки:
| Категория | Триггер контента | Код ошибки | Дата добавления | Возможность обхода |
|---|---|---|---|---|
| 1. NSFW | Порнография, насилие, жестокость | IMAGE_SAFETY | Изначально | Нет |
| 2. Удаление водяных знаков | Удаление знаков авторского права | MALFORMED_FUNCTION_CALL | Изначально | Нет |
| 3. Известные IP | Disney, Marvel и др. | IMAGE_SAFETY | Усилено в янв. | Нет |
| 4. Несовершеннолетние | Контент с участием детей | Защита CSAM | Изначально | Нет (нулевая терпимость) |
| 5. Известные личности | Фото знаменитостей, политиков | Текстовый отказ | 27 февраля | Нет |
| 6. Смена одежды/лица | Изменение внешности/одежды | blockReason OTHER | 27 февраля | Нет |
| 7. Финансовые махинации | Изменение данных счетов/чеков | blockReason OTHER | 27 февраля | Нет |
| 8. Скрытые намеки | Неявный, но двусмысленный контент | IMAGE_SAFETY | 27 февраля | Частично (через промпт) |
Особые примечания по политике безопасности Nano Banana Pro/2
Блокировка удаления водяных знаков: Это особая категория. Когда пользователь запрашивает удаление водяного знака с изображения, Google возвращает не стандартную ошибку IMAGE_SAFETY, а MALFORMED_FUNCTION_CALL. По сути, это активное вмешательство политики безопасности Google, а не технический баг. Это сделано для защиты прав владельцев авторского контента.
Аниме-стиль более уязвим: Один и тот же промпт может пройти в реалистичном стиле, но быть заблокирован в аниме-стиле, так как последний чаще провоцирует механизмы обнаружения авторских прав (IP).
Google признает чрезмерную модерацию: Официальные представители Google заявили, что фильтры безопасности для генерации изображений «стали гораздо осторожнее, чем мы планировали» (became way more cautious than we intended). В результате даже совершенно безобидные запросы, такие как «собака» или «миска хлопьев», могут вызвать блокировку.
🎯 Прозрачность: APIYI выступает как прозрачный прокси-сервис и напрямую пересылает ответы Google. Если код состояния 200, а изображение не создано — это действительно реакция со стороны Google. APIYI, безусловно, заинтересован в успехе ваших генераций, но политика безопасности контролируется Google, и платформа не может на нее повлиять.
Обработка ошибок при генерации изображений в Nano Banana Pro/2
Для разработчиков, создающих B2C-продукты, крайне важно грамотно обрабатывать ситуации, когда генерация изображений завершается неудачей. Вот рекомендуемый алгоритм действий:
Приоритеты проверки ошибок в Nano Banana Pro/2
def check_generation_result(response):
"""
Проверка успешности генерации изображения в Nano Banana Pro/2
Приоритет: candidatesTokenCount > finishReason > текстовый ответ
"""
usage = response.get("usageMetadata", {})
candidates = response.get("candidates", [{}])
candidate = candidates[0] if candidates else {}
# Высший приоритет: candidatesTokenCount = 0
if usage.get("candidatesTokenCount", 0) == 0:
return {"success": False, "reason": "content_rejected"}
# Второй приоритет: проверка finishReason
finish_reason = candidate.get("finishReason", "")
if finish_reason in ["IMAGE_SAFETY", "PROHIBITED_CONTENT"]:
return {"success": False, "reason": "safety_filter"}
# Важно: проверка, вернула ли модель текст вместо изображения
parts = candidate.get("content", {}).get("parts", [])
has_image = any("inlineData" in p for p in (parts or []))
if not has_image and usage.get("candidatesTokenCount", 0) < 1000:
return {"success": False, "reason": "text_response"}
return {"success": True}
Шаблоны сообщений для пользователей B2C в Nano Banana Pro/2
| Тип ошибки | Рекомендуемый текст сообщения | Рекомендуемое действие |
|---|---|---|
| Нарушение правил | «Контент не соответствует требованиям безопасности, измените описание и попробуйте снова» | Изменить промпт |
| Функция не поддерживается | «Данный тип операций с изображениями временно не поддерживается» | Выбрать другое действие |
| Выход за рамки | «Описание содержит защищенный контент, используйте оригинальное описание» | Избегать авторского контента |
| Техническая ошибка | «При генерации возникла временная ошибка, попробуйте позже» | Повторить попытку |
Посмотреть полный пример кода для обработки ошибок
# Маппинг сообщений об ошибках
ERROR_MESSAGES = {
"content_rejected": {
"title": "Контент не прошел проверку безопасности",
"message": "Контент не соответствует требованиям безопасности, измените описание и попробуйте снова",
"suggestion": "Совет: избегайте упоминания известных личностей, персонажей с авторскими правами и чувствительного контента"
},
"safety_filter": {
"title": "Сработал фильтр безопасности",
"message": "Генерация изображения заблокирована политикой безопасности",
"suggestion": "Совет: попробуйте изменить промпт, используя более общие описания"
},
"text_response": {
"title": "Ошибка генерации",
"message": "ИИ не смог сгенерировать изображение по вашему запросу",
"suggestion": "Совет: упростите описание или смените тему и попробуйте снова"
},
"watermark": {
"title": "Функция не поддерживается",
"message": "Удаление водяных знаков временно не поддерживается",
"suggestion": "Совет: воспользуйтесь другими функциями редактирования"
}
}
🎯 Лучшая практика: Никогда не показывайте пользователю сообщение «Неизвестная ошибка». Даже если возникла непредвиденная проблема, всегда предоставляйте дружелюбную подсказку. Полное руководство по обработке ошибок доступно в документации APIYI:
xinqikeji.feishu.cn/wiki/Rslqw724YiBwlokHmRLcMVKHnRf
Хронология политики безопасности Nano Banana Pro/2 и рекомендации

Стратегии разработчика при сбоях генерации в Nano Banana Pro/2
Стратегия 1: Оптимизация промптов
- Избегайте использования имен знаменитостей и персонажей, защищенных авторским правом.
- Используйте общие описания вместо конкретных IP (например, «воин в доспехах» вместо «Железный человек»).
- Реалистичный стиль реже вызывает срабатывание фильтров, чем аниме-стиль.
- Избегайте запросов на редактирование, связанных с заменой лиц или одежды.
Стратегия 2: Совершенствование обработки ошибок
- Выполняйте проверку по приоритету:
candidatesTokenCount→finishReason→ текстовый ответ. - Подготовьте дружелюбные сообщения для каждого типа ошибки.
- Сохраняйте исходные данные ответа для отладки.
- Никогда не показывайте пользователю «Неизвестную ошибку».
Стратегия 3: Гарантия затрат
- Используйте план компенсации за неудачные генерации от APIYI (apiyi.com).
- За неудачные запросы баланс пополняется автоматически (доступно при ежемесячном потреблении от $1000+).
- Это гарантирует возврат затрат на неудачные вызовы модели.
🎯 Разработчикам B2C-продуктов: Настоятельно рекомендуем ознакомиться с полным руководством по обработке ошибок APIYI —
xinqikeji.feishu.cn/wiki/Rslqw724YiBwlokHmRLcMVKHnRf. Там вы найдете примеры реализации кода, логику интеллектуального распознавания ключевых слов, варианты отображения на фронтенде и тестовые сценарии.
Часто задаваемые вопросы
Q1: Почему один и тот же промпт иногда срабатывает, а иногда нет?
Система фильтрации безопасности Google имеет вероятностный характер. Один и тот же промпт может давать разные результаты в разное время и при использовании разных API-ключей. Это связано с тем, что сама модель безопасности обладает определенной долей случайности, особенно при работе с «пограничным контентом». Если промпт постоянно выдает ошибку, рекомендуем изменить формулировку описания.
Q2: Статус-код 200 есть, а изображения нет — это проблема APIYI?
Нет. APIYI выступает в роли прозрачного прокси-сервиса, напрямую пересылая ответы от Google. Статус-код 200 означает, что сам запрос был корректным, но политика безопасности контента Google заблокировала генерацию изображения. Вы можете проверить поля finishReason и candidatesTokenCount в ответе, чтобы уточнить причину. APIYI, безусловно, заинтересован в том, чтобы у клиентов всё получалось.
Q3: Списываются ли средства, если генерация не удалась?
Да, Google списывает квоту. Однако APIYI (apiyi.com) запустил программу SLA по компенсации неудачных генераций: пользователи с ежемесячным потреблением от $1000 могут подать заявку на возврат средств за неудачные запросы (количество неудачных запросов × $0,05 / коэффициент скидки). На текущий момент это единственная платформа на рынке, предоставляющая такие гарантии.
Итоги
Ключевые моменты при сбоях генерации в Nano Banana Pro/2:
- Двухуровневая архитектура безопасности: Уровень 1 регулируется параметрами API, а Уровень 2 (IMAGE_SAFETY, blockReason OTHER и т.д.) принудительно исполняется на стороне сервера Google и не подлежит обходу.
- 8 категорий отказа: NSFW, удаление водяных знаков, защищенные авторским правом IP, несовершеннолетние (исходные 4 категории) + известные личности, смена одежды/лиц, финансовые махинации, скрытые намеки (4 новые категории в Nano Banana 2).
- Механизм прозрачного прокси: APIYI напрямую пересылает ответы Google. Статус 200 при отсутствии изображения означает блокировку политикой безопасности Google, а не проблему платформы.
Политика безопасности Google продолжает ужесточаться в 2026 году: с 23 января по март она обновлялась трижды. Для разработчиков B2C-продуктов первоочередной задачей становится совершенствование обработки ошибок и уведомлений для пользователей.
Рекомендуем подключаться к Nano Banana Pro/2 через APIYI (apiyi.com). Цена $0,05 за запрос плюс SLA-компенсация за неудачные генерации позволят вам использовать мощнейшую модель для генерации изображений с минимальными эффективными затратами.
📚 Справочные материалы
-
Руководство по обработке ошибок APIYI: Рекомендации по обработке ошибок API предварительного просмотра изображений Gemini 3 Pro
- Ссылка:
xinqikeji.feishu.cn/wiki/Rslqw724YiBwlokHmRLcMVKHnRf - Описание: Полный алгоритм определения ошибок, примеры кода и шаблоны сообщений для пользователей.
- Ссылка:
-
Документация по безопасности Google AI: Инструкции по настройке официальных фильтров безопасности
- Ссылка:
ai.google.dev/gemini-api/docs/safety-settings - Описание: Параметры и опции для настройки фильтров безопасности уровня 1 (Layer 1).
- Ссылка:
-
Документация API генеративного контента Google: Официальное описание кодов ошибок
- Ссылка:
ai.google.dev/api/generate-content - Описание: Полные определения полей
finishReason,blockReasonи других.
- Ссылка:
-
Документация по фильтрам безопасности Google Cloud: Настройка безопасности в Vertex AI
- Ссылка:
docs.google.com/vertex-ai/generative-ai/docs/multimodal/configure-safety-filters - Описание: Описание многоуровневой архитектуры фильтров безопасности корпоративного уровня.
- Ссылка:
Автор: Техническая команда APIYI
Техническое сообщество: Приглашаем вас поделиться в комментариях примерами неудачной генерации изображений в Nano Banana Pro/2. Больше материалов можно найти в центре документации APIYI по адресу docs.apiyi.com.
