Разбор случая: правка, в которой цвет получился неверным
Задача: карточка товара игрушечного чайного набора с двумя чашками в левом нижнем углу, выделенными красной рамкой. prompt:
Input image: a red box marks the two cups (one gray, one green) in the lower left; the request is to make them black and remove the box
gemini-3.1-flash-image (Nano Banana 2) через API и получил следующее:

Failed result from a single API call: both cups turned green, and the red box was not removed
gemini.google.com), и там всё сработало хорошо. Их отзыв:
Результат API совершенно отличается от официального (web) результата — кажется, что API просто понимает хуже.Фрустрация понятна, но с выводом нужно быть аккуратнее. Разберем это по шагам.
Сначала поймите: веб-приложение — это агент; API — это один атомарный вызов
Сравнивать результатыgemini.google.com напрямую с сырым API-вызовом — это не сопоставление яблок с яблоками:
Вариативность одного вызова присуща генеративным моделям
Мы повторили задачу с тем же самым prompt + image в тестовом инструменте imagen.apiyi.com: с первого раза сработало — чашки стали чёрными, красная коробка была удалена, всё остальное осталось без изменений.Стратегия 1: Улучшите prompt
Чем менее неоднозначен и чем более исполним prompt, тем выше вероятность успеха за один вызов. Рассмотрим этот случай в качестве примера: Исходный prompt (разговорный, полагается на то, что модель сделает выводы):Измените объекты в красной рамке на черный цвет, удалите красную рамку, все остальное оставьте без измененийУлучшения:
Отредактируйте это изображение и выполните две вещи: ① перекрасьте две чашки внутри красной рамки в матовый чисто черный цвет, сохранив их исходную текстуру материала и форму; ② удалите саму красную рамку. Оставьте цвета, расположение, размерные подписи и текст всех остальных объектов на изображении полностью без изменений.
Не знаете, как это улучшить? Попросите ИИ переписать это за вас
Улучшение prompt — это тоже задача, которую можно поручить ИИ: просто отправьте вместе три вещи в известный, надежный чат-сервис с ИИ (например,chatgpt.com или gemini.google.com):
- Исходный prompt (вставленный дословно);
- Описание проблемы (например: “попросили черный, а получили зеленый, и красная рамка не была удалена”);
- Сравнение до/после (загрузите оригинальное изображение и фактический результат вместе).
Стратегия 2: Повторная попытка при сбое
Поскольку сбои возникают из-за дисперсии единичной выборки, повторная попытка сама по себе является эффективным способом устранения проблемы — повторная отправка того же самого запроса часто просто срабатывает (именно это и произошло в данном случае).- Закладывайте 1–2 автоматические повторные попытки в ваш бизнес-код для случая «результат не соответствует ожиданиям»;
- Различайте два типа сбоев: «изображение вернулось, но правка неверна» и «изображение вообще не вернулось». Второй случай (HTTP 200, но без изображения) обычно означает блокировку из-за модерации контента — см. Руководство по обработке ошибок Gemini Image API.
Стратегия 3: Переключение моделей
Для этого случая мы протестировали другие модели с тем же самым prompt + image — все сработали с первой попытки:model (тот же ключ, тот же эндпоинт) — почти без дополнительных затрат. Сделайте «переключение моделей» полноценным шагом в вашем image workflow — это легитимная стратегия для достижения цели, а не компромисс.
На практике выстройте «сначала быстро, потом мощно» лестницу:
- По умолчанию используйте быструю и недорогую модель (например,
gemini-3.1-flash-image) для рутинных задач; - Когда задача точного редактирования не удается 1–2 раза, автоматически переходите к
gemini-3-pro-imageили серииgpt-image-2и повторяйте попытку; - Если ничего не помогает, вернитесь назад и доработайте prompt.
Стратегия 4: Сначала изолируйте проблему с помощью тестового инструмента
Когда вы отлаживаете «почему вывод неверный», сначала изолируйте переменные. imagen.apiyi.com позволяет быстро проверить комбинацию «prompt + image» без написания кода:- Не работает и в инструменте → скорее всего, проблема в prompt/задаче; вернитесь к Стратегии 1 или переключите модели по Стратегии 3;
- Работает в инструменте, но не в вашем коде → проверьте код: полностью ли загружено изображение, корректны ли параметры, не обрезан ли prompt и не искажён ли он экранированием;
- То работает, то нет → это вариативность sampling; добавьте повторные попытки по Стратегии 2.
Краткая справка
- Web app ≠ API: веб-приложение — это полноценный агент с переписыванием prompt и многошаговой оркестрацией; API — это один атомарный вызов с вашим prompt без изменений — кажущийся разрыв в основном связан с конвейером, а не с тем, что «API понимает хуже».
- Случайная вариативность одного вызова неотъемлема для генеративных моделей — один сбой ничего не говорит ни о модели, ни о шлюзе.
- Стратегия 1, улучшите prompt: конкретные существительные, точные цвета, перечисляйте, что нужно сохранить, нумеруйте действия — меняйте за раз только одну категорию вещей.
- Стратегия 2, повторите попытку: закладывайте 1–2 повторных попытки для «неправильного редактирования»; «нет изображения» — это другая проблема (см. руководство по обработке ошибок).
- Стратегия 3, переключите модели: в этом случае
gemini-3-pro-image,gemini-3.1-flash-lite-imageи серияgpt-image-2все сработали с первого раза; на унифицированном шлюзе это изменение одного параметра. - Стратегия 4, используйте тестовый инструмент, чтобы изолировать проблему: сначала проверьте «prompt + image» на imagen.apiyi.com, чтобы отделить проблемы prompt, проблемы кода и вариативность сэмплирования друг от друга.