Многие разработчики, переходящие с Stable Diffusion или Midjourney на Nano Banana Pro, при первом же вызове API сталкиваются с обескураживающей ошибкой 400: Invalid JSON payload received. Unknown name "negativePrompt" at 'generation_config.image_config': Cannot find field. Сообщение об ошибке прямолинейно, но не дает ответа: то ли вы ошиблись в названии поля, то ли его нужно перенести в другое место, то ли модель в принципе не поддерживает негативные промпты?

Ответ кроется в третьем варианте: в Nano Banana Pro (он же Gemini 3 Pro Image Preview) полностью отсутствует отдельное поле negativePrompt. Все ваши пожелания в духе «чего я не хочу видеть» должны быть интегрированы непосредственно в основной текст промпта. В этой статье, опираясь на официальную документацию Google и руководство по промптам Nano Banana, мы разберем причины ошибки, предложим 3 официальных способа написания негативных условий, приведем примеры кода для API и, используя кейсы платформы APIYI, поможем вам за 5 минут освоить правильный подход к работе с Nano Banana Pro.
1. Почему в Nano Banana Pro нельзя использовать поле negativePrompt
1.1 Разбор сообщения об ошибке
Полный текст ошибки обычно выглядит так:
upstream_error 400
Invalid JSON payload received.
Unknown name "negativePrompt" at 'generation_config.image_config':
Cannot find field.
Разберем его по частям:
Invalid JSON payload: сервер отклонил запрос еще на этапе парсинга JSON, он даже не дошел до стадии генерации.Unknown name "negativePrompt": такого поля просто не существует в схеме. Дело не в регистре и не во вложенности — его там нет.at 'generation_config.image_config': вы попытались поместить его внутрьgeneration_config.image_config, но этот объект принимает только строго определенные поля из «белого списка».
Иными словами, это не «ошибка параметра», а «отсутствие параметра». В схеме API Nano Banana Pro не зарезервировано места для негативных промптов.
1.2 Белый список полей для image_config
Согласно официальной документации Google AI, объект image_config для Gemini 3 Pro Image Preview принимает только два поля. Любое другое поле вызовет ошибку 400:
| Поле | Тип | Значение | Описание |
|---|---|---|---|
aspectRatio |
string | "1:1" / "16:9" / "4:3" / "21:9" и др. |
Соотношение сторон |
imageSize |
string | "512" / "1K" / "2K" / "4K" |
Разрешение |
Этот список крайне лаконичен: здесь нет ни negativePrompt, ни seed, ни cfg_scale, ни sampler. Google намеренно сделала Nano Banana максимально простой — они считают, что модель должна понимать естественный язык, а не требовать от пользователя настройки кучи гиперпараметров.
1.3 Философия дизайна: почему Google отказалась от negativePrompt
Механизм негативных промптов в Stable Diffusion основан на CFG (Classifier-Free Guidance), где используется отдельный вектор для «обратного направления» процесса диффузии. Мультимодальные модели семейства Gemini работают иначе: они воспринимают весь текст как единый входной сигнал для семантического анализа, после чего генерируют токены изображения. Здесь нет этапа «двух векторов», которые нужно направлять по отдельности.
В официальном руководстве по промптам Nano Banana в блоге Google Cloud есть ключевая фраза:
"Use positive framing: Describe what you want, not what you don't want (e.g. 'empty street' instead of 'no cars')."
То есть: в мире Nano Banana Pro позитивное описание гораздо эффективнее негативного. Это не техническое ограничение, а философия продукта.
С инженерной точки зрения, диффузионные модели при использовании негативных промптов выполняют «двойную генерацию с вычитанием векторов», а мультимодальная архитектура Gemini — это сквозной (end-to-end) семантический анализ. Попытка «впихнуть» поле negativePrompt не только нарушит целостность схемы, но и введет пользователей в заблуждение, заставляя их идти по ложному пути промпт-инжиниринга. Google решила «закрыть» этот путь ошибкой, чтобы заставить разработчиков выражать свои намерения через естественный язык.
🎯 Совет: Если вы привыкли к рабочему процессу SD, при переходе на Nano Banana Pro попробуйте протестировать несколько вариантов на платформе APIYI (apiyi.com). Сравните результаты «позитивного» и «негативного» описаний, чтобы понять разницу в работе модели, прежде чем переписывать все свои промпты.
2. Три правильных способа написания негативных промптов для Nano Banana Pro
Хотя отдельного поля для негативных промптов не предусмотрено, их можно легко интегрировать в основной текст запроса. Ниже представлены три проверенных метода, которые мы выделили на основе официальной документации Google и опыта сообщества.

2.1 Способ 1: Переформулировка через позитивные утверждения (рекомендация Google)
Вместо того чтобы писать «я не хочу X», напишите «я хочу Y». Это лучший подход, официально рекомендуемый Google. Вот несколько примеров:
| Исходный негативный запрос | Позитивная переформулировка |
|---|---|
| no cars on the street | empty deserted street with no traffic |
| no people in background | quiet solitary scene with empty surroundings |
| no text or watermark | clean image with smooth empty borders |
| not blurry, not low quality | sharp focus, crisp details, high resolution |
| no extra fingers | accurate human anatomy with precisely five fingers per hand |
Преимущество позитивного фрейминга в том, что модели не нужно выполнять «обратный вывод» — она сразу понимает целевое состояние, что значительно повышает точность.
При переписывании следуйте логике: «Почему я не хочу X? → Что именно я хочу увидеть?». Например, если вы не хотите видеть текст, ваша истинная цель — «чистое изображение без отвлекающих элементов». Поэтому лучше написать «clean uncluttered composition with smooth empty borders», чем просто «no text».
2.2 Способ 2: Метод естественного языка (гибкость семантики)
Если некоторые исключения сложно перевести в позитивные утверждения, можно использовать естественный язык с такими словами, как without, avoid, exclude или free of:
A serene mountain landscape at sunrise,
photorealistic style, golden hour lighting,
without any people, vehicles, or man-made structures,
free of text overlays, logos, or watermarks.
Ключ к успеху здесь — органично вписать условия исключения в описание, а не перечислять их через запятую, как в Stable Diffusion. Модели гораздо лучше реагируют на инструкции на естественном языке, чем на списки ключевых слов.
Более того, можно превратить исключения в условные обстоятельства. Например, фраза during golden hour with the streets completely cleared of vehicles работает гораздо точнее, чем просто without cars, так как она одновременно задает время, состояние и ограничения.
2.3 Способ 3: Внедрение структурированного списка (для системных шаблонов)
Если вам нужно поддерживать единый стандарт качества для всей команды или проекта, можно создать структурированный шаблон:
[Описание основного объекта]
[Детали стиля и композиции]
Quality requirements:
The image must be sharp, well-exposed, and free of blur,
JPEG artifacts, watermarks, or visible text.
Anatomy requirements:
All people in the image must have accurate anatomy
with five fingers per hand, symmetrical features,
and natural proportions.
Такие шаблоны удобно использовать повторно, особенно в e-commerce или брендинге, где важна стабильность результата.
| Способ | Сценарий использования | Точность | Сложность |
|---|---|---|---|
| Позитивный фрейминг | Разовые задачи, арт-постеры | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Естественный язык | Сложные сцены, гибкие исключения | ⭐⭐⭐⭐ | ⭐⭐ |
| Структурированный список | Массовая генерация, командная работа | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
🎯 Совет по выбору: Для разовых задач лучше использовать первый способ — старайтесь вообще избегать негативных слов. Для массовой генерации используйте третий способ для создания шаблонов. Рекомендуем протестировать все три варианта на платформе APIYI (apiyi.com) — это поможет за 10 минут найти подход, который лучше всего подходит для ваших задач.
III. Правильный формат JSON-полезной нагрузки для API Nano Banana Pro
Разобравшись с тем, почему поле negativePrompt не работает и как правильно формулировать запросы, давайте перейдем к коду, который можно сразу копировать и использовать.
3.1 Сравнение ошибочного и правильного JSON-запроса
Ниже приведен пример JSON, который вызывает ошибку, упомянутую в начале статьи. Это типичная ошибка тех, кто «мигрирует» с SD:
// ❌ Ошибка: вызовет 400 Bad Request
{
"contents": [{
"parts": [{"text": "A cat sitting on a chair"}]
}],
"generationConfig": {
"imageConfig": {
"aspectRatio": "16:9",
"negativePrompt": "blurry, low quality, extra fingers"
}
}
}
Исправленный и корректный вариант выглядит так:
// ✅ Правильно: объединяем негативное описание с основным текстом
{
"contents": [{
"parts": [{
"text": "A cat sitting on a chair, sharp focus, crisp details, high resolution, accurate anatomy with natural proportions"
}]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {
"aspectRatio": "16:9",
"imageSize": "2K"
}
}
}
Обратите внимание на три ключевых изменения: удаление поля negativePrompt, перенос негативных ограничений в основной text в виде позитивных описаний и настройка imageSize для управления разрешением.
3.2 Пример вызова через Python SDK
Ниже представлен минимальный код для вызова Nano Banana Pro через сервис-прокси API APIYI с использованием OpenAI-совместимого SDK:
from openai import OpenAI
client = OpenAI(
api_key="your_api_key",
base_url="https://vip.apiyi.com/v1" # Адрес сервиса-прокси APIYI
)
response = client.images.generate(
model="gemini-3-pro-image-preview",
prompt=(
"A cat sitting on a wooden chair in a bright sunlit room, "
"photorealistic style, sharp focus, crisp details, "
"accurate feline anatomy with natural fur texture, "
"clean background free of text or watermarks"
),
size="1792x1024", # Соответствует 16:9
)
В этом вызове полностью отсутствует параметр negative_prompt — все пожелания в духе «я не хочу» выражены через естественный язык прямо в промпте.
3.3 Быстрая справка по ошибкам и их устранению
Чтобы вам было проще отлаживать подобные проблемы, мы собрали самые частые ошибки в таблицу:
| Фрагмент ошибки | Причина | Решение |
|---|---|---|
Unknown name "negativePrompt" |
Поле не существует | Удалите поле, перенесите описание в промпт |
Unknown name "seed" |
Nano Banana Pro не поддерживает seed | Примите случайность, генерируйте несколько раз |
Unknown name "cfg_scale" |
Параметр CFG не поддерживается | Используйте уточняющие слова (например, "strictly photorealistic") |
Invalid value at 'aspectRatio' |
Ошибка в формате пропорций | Используйте "16:9", а не "16×9" |
Поле image_config недействительно |
Ошибка вложенности | Убедитесь, что imageConfig находится внутри generationConfig |
🎯 Совет по отладке: При поиске причин ошибки 400 сначала протестируйте соединение с минимальным полезным телом (только
text), а затем постепенно добавляйте конфигурации. APIYI (apiyi.com) предоставляет полноценный интерфейс Gemini 3 Pro Image, что делает отладку стабильнее, чем при прямом подключении к официальному API.
IV. Продвинутые техники оптимизации негативных промптов для Nano Banana Pro
Освоив базу, используйте эти 4 продвинутых приема, чтобы вывести свои промпты на профессиональный уровень.

4.1 Заменяйте абстрактные отрицания конкретными описаниями
Модель гораздо лучше понимает конкретные существительные, чем абстрактные прилагательные. Сравните:
- ❌ Размыто:
high quality, not bad - ✅ Конкретно:
shot on a Sony A7R IV, 35mm f/1.4 lens, ISO 100, sharp focus on subject, soft bokeh background
Конкретные параметры оборудования, диафрагма, ISO и фокусное расстояние активируют в модели «предустановленные знания» о профессиональной фотографии, что работает гораздо эффективнее, чем тысячекратное повторение "high quality".
4.2 Заменяйте «избегание стилей» на «указание стиля»
Многие пользователи SD привыкли писать not anime, not cartoon, not 3D, но в Nano Banana Pro такой подход работает плохо. Правильный метод — прямо указать, какой стиль вам нужен:
- Хотите реализм →
unstaged documentary photography style - Хотите эффект масляной живописи →
oil painting on textured canvas, visible brushstrokes - Хотите репортажную съемку →
photojournalism style, candid moment, natural lighting
Сила описания желаемого стиля автоматически подавляет другие стилистические наклонности, поэтому писать "not X" не требуется.
4.3 Используйте шаблоны структурированных промптов
Разбивайте сложные сцены на структурированные шаблоны, чтобы модель могла послойно обрабатывать каждое намерение:
SUBJECT: A young woman reading a book
SETTING: Cozy library with warm afternoon light
STYLE: Editorial photography, shot on Leica Q2
QUALITY: Sharp focus on subject, soft natural bokeh
EXCLUDE: No text, no watermarks, no other people in frame
Такие шаблоны обеспечивают гораздо более высокую стабильность в Nano Banana Pro, чем длинный связный текст, особенно если блок EXCLUDE используется как финальное «жесткое ограничение».
4.4 Сохраняйте инструкции по исключению при итерациях
Nano Banana Pro поддерживает многошаговое редактирование, но на каждом этапе необходимо повторять полные инструкции по исключению, иначе модель легко может вернуть элементы, которые вы ранее запретили. Рекомендуем сохранять инструкции по исключению как константную строку и добавлять её при каждой итерации.
| Продвинутый прием | Решаемая проблема | Улучшение результата |
|---|---|---|
| Конкретика вместо абстракции | Модель не понимает абстрактные слова | Высокое |
| Указание стиля вместо отрицания | Низкая точность негативных стилей | Очень высокое |
| Структурированные шаблоны | Нестабильность длинных промптов | Высокое |
| Повторение исключений при итерациях | Возврат нежелательных элементов | Среднее |

Пять. FAQ: Частые вопросы по негативным промптам в Nano Banana Pro
5.1 Действительно ли поля negativePrompt нет совсем? Добавят ли его в будущем?
На данный момент в официальной документации Google AI и Vertex AI четко указаны только два поля в image_config: aspectRatio и imageSize. Google неоднократно заявляла в блогах и на конференциях, что выступает против использования отдельных полей для негативных промптов. Вероятность появления такого поля в ближайшем будущем крайне мала. Рекомендуем сразу переходить на использование позитивных формулировок, а не ждать обновлений.
5.2 Можно ли использовать списки негативных слов, накопленные во времена SD?
Их можно использовать как справочный материал, но нельзя просто копировать в промпт Nano Banana Pro. Рекомендуем классифицировать негативные слова из SD по категориям: «качество, анатомия, стиль, элементы», а затем, используя методы из второй части этой статьи, переписать их в виде позитивных описаний или естественных фраз для исключения лишнего.
5.3 Действительно ли простые отрицания вроде "no X" совсем не работают?
Они работают, но их эффективность значительно ниже, чем у позитивных описаний. Фразы типа no cars в Nano Banana Pro срабатывают примерно в 60-70% случаев, тогда как empty deserted street with no traffic дает результат более чем в 95% случаев. Если вам нужна высокая стабильность результата, отдавайте предпочтение позитивным конструкциям.
5.4 Где можно стабильно тестировать эти подходы с Nano Banana Pro?
Разработчики из РФ могут использовать Nano Banana Pro через сервис-прокси API APIYI (apiyi.com). ID модели — gemini-3-pro-image-preview, base_url нужно заменить на https://vip.apiyi.com/v1, настройка прокси не требуется. Платформа поддерживает как Nano Banana Pro, так и другие популярные модели генерации изображений, что удобно для сравнительного анализа того, как разные модели обрабатывают негативные запросы.
5.5 Сработает ли, если поместить negativePrompt в generation_config, а не в image_config?
Нет. Независимо от того, поместите ли вы его в верхний уровень generation_config, внутрь image_config или в contents.parts как отдельную часть, вы получите ошибку о несуществующем поле. Схема Nano Banana Pro работает по принципу строгого «белого списка»: любые неуказанные поля отклоняются.
5.6 Если нет negativePrompt, то параметров seed и cfg_scale тоже нет?
Их действительно нет. Параметры Nano Banana Pro предельно минималистичны: только aspectRatio и imageSize. Это осознанный выбор продукта — Google хочет, чтобы разработчики тратили силы на написание качественных промптов на естественном языке, а не на подбор гиперпараметров. К этому нужно привыкнуть, но как только вы адаптируетесь, читаемость и возможность повторного использования промптов значительно вырастут.
5.7 Понимает ли модель инструкции по исключению на русском языке?
Да, понимает, но стабильность ниже, чем у английского. В обучающих данных Nano Banana Pro английский язык имеет значительно больший вес. Фраза «не добавляй водяные знаки» в большинстве случаев сработает, но иногда может быть проигнорирована. Если важна стабильность, рекомендуем смешивать русский текст с английскими негативными фразами, например: «чистый фон, free of text and watermarks». Такая «смешанная» техника повышает точность срабатывания примерно на 15% по сравнению с чисто русским текстом.
5.8 Как при редактировании изображений предотвратить добавление нежелательных элементов?
В режиме редактирования рекомендуем использовать двойное ограничение: «явное сохранение + явное исключение». Сначала зафиксируйте то, что нужно оставить, фразой keep everything else identical, including [список ключевых элементов], а затем явно исключите лишнее через make sure not to introduce [список исключаемых элементов]. При одновременном использовании этих двух ограничений управляемость результатом значительно возрастает. Этот подход особенно полезен при обновлении визуального стиля бренда или поддержании согласованности лиц персонажей.
Шесть. Итог: ключевая модель мышления для негативных промптов в Nano Banana Pro
Возвращаясь к ошибке в начале: Unknown name "negativePrompt" — это не баг, а особенность дизайна Nano Banana Pro. Модель не принимает никаких отдельных полей для негативных промптов, все намерения в духе «чего я не хочу» должны быть вписаны в основной промпт на естественном языке.
Достаточно запомнить три главных принципа:
- Приоритет позитивных формулировок: «empty street» гораздо лучше, чем «no cars». Переписывайте запрос, если это возможно.
- Используйте естественный язык для отрицания: Внутри промпта используйте связки
without,free of,avoid. Избегайте списков ключевых слов через запятую в стиле SD. - Структурированные шаблоны: Создайте шаблоны для исключений по категориям «качество, анатомия, элементы» и используйте их повторно, комбинируя с основным запросом.
🎯 Следующий шаг: Перепишите ваш текущий список негативных слов для SD, используя три подхода из этой статьи, и проведите сравнительное тестирование на APIYI (apiyi.com). Создайте собственную библиотеку негативных промптов для Nano Banana Pro под ваши бизнес-задачи.
Отсутствие поля для негативных промптов в Nano Banana Pro поначалу может сбивать с толку, но при глубоком погружении становится ясно: именно такой подход — «выражение всех намерений через точный естественный язык» — является будущим мультимодальных генеративных моделей. Чем быстрее вы перестроите свое мышление, тем быстрее начнете использовать всю мощь этой модели.
И напоследок: ошибка 400 — это «дружеское напоминание» от Google. Она самым прямым образом говорит вам: «Пожалуйста, не пытайтесь переносить рабочие процессы предыдущего поколения моделей, попробуйте понять мой интерфейс ввода». Воспринимайте эту ошибку как начало обучения, а не как препятствие. Вы увидите, что промпт-инжиниринг для Nano Banana Pro на самом деле проще, понятнее и ближе к языку реального общения, чем в SD.
Автор: Техническая команда APIYI
Платформа: APIYI (apiyi.com), Nano Banana Pro (gemini-3-pro-image-preview)
