Консистентная генерация изображений через API Nano Banana
Сгенерировать одно хорошее изображение — задача почти решённая. Проекты умирают на двадцатом, который всё ещё должен стоять рядом с первыми девятнадцатью.
Разрыв не в умении писать prompt. Дело в том, что «консистентность» — это три разные инженерные задачи под одним словом, и приём, чинящий одну, не делает ничего для двух других. Мы гоняем модели Nano Banana на своём API, и именно этот request люди чаще всего строят неверно — не потому, что модели не умеют, а потому, что референсы уходят без пометок и модели остаётся гадать, для чего был каждый.

Три задачи, а не одна
Разделите их до того, как напишете prompt. Они проваливаются по-разному и стоят по-разному.
Консистентность персонажа. Один и тот же человек во многих кадрах — то же лицо, телосложение и волосы, узнаваемо один индивид, сидит он в четвёртом кадре или идёт в девятнадцатом. Это задача идентичности: модель обязана пронести лицо через композиции, которых она не видела.
Точность товара. Не похожая бутылка. Та бутылка. Точная пропорция колпачка, положение этикетки, оттенок зелёного. Точность строже идентичности: у лица есть допуск, у клиентской упаковки нет.
Консистентность стиля. Серия читается как серия — тот же цветокор, тот же характер оптики, то же качество света, то же зерно. Повторяться не обязан ни один объект; обязана подача.
Большинству брифов нужны две из этих задач сразу, и просят их одной инструкцией. «Сделай консистентно» — не запрос, по которому API может отработать. «Изображение 1 — человек, изображение 2 — бутылка, изображение 3 — только цветокор» — запрос.
Разделение ролей и есть та самая функция
Nano Banana Pro принимает до 14 референсных изображений. Nano Banana 2 тоже, почти вдвое дешевле. Разница не в количестве. Pro делит этот бюджет по ролям:
| Роль | Бюджет | Что держит |
|---|---|---|
| Персонаж | до 5 | Референсы идентичности человека или фигуры |
| Объект | до 6 | Товары, реквизит, упаковка с высокой точностью |
| Стиль | до 3 | Только цветокор, настроение света, подача |
Итого четырнадцать, но распределённых. Именно распределение превращает референсное изображение из подсказки в инструкцию.
Подумайте, что происходит без него. Вы отдаёте модели четырнадцать картинок и предложение, и она выводит из текста, какая картинка — лицо, которое надо сохранить, какая — товар, который надо воспроизвести в точности, а какая тут только ради настроения. Выводит она нередко неверно. Примета — товар, вышедший «в стиле» вашей упаковки, а не как ваша упаковка, или лицо, надевшее цветокор мудборда.
С разделением вы не просите, а объявляете. Пять слотов под «кто», шесть под «что», три под «как это выглядит». Один рекламный композит одним request вместо трёх кругов монтажа.
Pro стоит $0.075 за request по нашей цене на 26 августа 2026 года против прайса $0.15. Ещё одна вещь, которую стоит знать: 1K и 2K на Pro стоят одинаково. Для главных ассетов берите 2K. Он бесплатный.

Как помечать референсы в prompt
Разделение ролей делает структурную работу. Prompt делает смысловую, и он обязан быть явным до почти неприличия. Референсы приходят по порядку, поэтому называйте их по позиции и говорите, для чего каждый, включая то, для чего он не. Именно на последней части большинство prompt и течёт.
Изображение 1 и изображение 2 — одна и та же женщина: сохрани её лицо,
длину волос и телосложение в точности. Изображение 3 — товар: воспроизведи
форму бутылки, пропорцию колпачка и графику этикетки точно, не
перестилизовывай. Изображение 4 — только цветокор и настроение света: не
копируй из него ни объекты, ни позу, ни композицию.
Помести женщину с изображений 1-2 держащей бутылку с изображения 3, сидящей
за столиком кафе у окна, в три четверти, тёплый послеполуденный свет,
соответствующий цветокору с изображения 4.
Этот prompt работает благодаря четырём вещам, и ни одна из них не пятое прилагательное:
- Учтён каждый референс. Ни одно изображение не заходит без объявленной задачи.
- У стилевого референса есть явное исключение. Без него мудборд протечёт в вашу сцену своей мебелью.
- Слова об идентичности конкретны — лицо, длина волос, телосложение, — а не «похожа на неё».
- В инструкции по товару сказано «не перестилизовывай», и именно эта фраза отделяет точность от вдохновения.
Общее устройство prompt мы здесь разбирать не будем, это руководство по prompt. Здесь речь именно о том, как сказать модели, для чего ваши референсы.
Сам request
Работа с консистентностью — это редактирование, а не генерация, так что она идёт на slug edit-image с image_urls.
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer $E2X_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/nano-banana-pro/edit-image",
"input": {
"prompt": "Изображение 1 и изображение 2 - одна и та же женщина: сохрани её лицо, длину волос и телосложение в точности. Изображение 3 - товар: воспроизведи форму бутылки, пропорцию колпачка и графику этикетки точно, не перестилизовывай. Изображение 4 - только цветокор и настроение света, не копируй из него ни объекты, ни композицию. Помести женщину держащей бутылку, сидящей за столиком кафе у окна, в три четверти, тёплый послеполуденный свет.",
"image_urls": [
"https://cdn.example.com/refs/model-face-front.jpg",
"https://cdn.example.com/refs/model-face-three-quarter.jpg",
"https://cdn.example.com/refs/bottle-front.jpg",
"https://cdn.example.com/refs/grade-warm-afternoon.jpg"
],
"aspect_ratio": "4:5",
"resolution": "2K"
}
}'
Submit возвращает job ID; опрашивайте его или передайте webhookUrl. Pro занимает около 30 секунд, потому что во время сборки генерирует промежуточные «мыслительные изображения» — Google их не возвращает, а мы за них не берём денег. Задавайте aspect_ratio явно, поскольку у Pro по умолчанию 9:16. Полный разбор параметров — в руководстве по API Nano Banana Pro.
Где садятся уровни подешевле
Мы лучше отговорим вас на уровень ниже, чем продадим Pro под задачу, которой она не нужна.
Nano Banana 2 берёт те же 14 референсов за $0.04, без разделения ролей. Для консистентности стиля этого честно достаточно: там все референсы делают одну и ту же работу и разбирать нечего. Шесть шапок для блога с общей палитрой и общим настроением света в Pro не нуждаются. Им нужны один хороший стилевой референс и замороженный шаблон prompt. Nano Banana 2 к тому же достаёт до 4K, чего Lite не умеет вовсе.
Nano Banana 2 Lite стоит $0.0238 и построена под объём, а не под точность. Берите её, когда нужны четыреста изображений с общим видом и ни на одном нет клиентского лица или упаковки. Она только 1K, без параметра resolution — отправка его ошибка, а не no-op.
Legacy Nano Banana упирается в 3 референсных изображения, чего не хватит, чтобы держать в одном кадре и персонажа, и товар, а Google выводит её 2 октября 2026 года — полная история этой модели в отдельной статье. Не начинайте на ней проект про консистентность.
Грубое правило: работа только со стилем идёт на Nano Banana 2 или Lite. Всё, где конкретное человеческое лицо или конкретный физический товар обязаны выжить нетронутыми, идёт на Pro. Разрыв между $0.04 и $0.075 перестаёт что-либо значить в тот момент, когда клиент завернул батч из-за неверной этикетки.
Цены и условия продуктов со временем меняются; проверьте актуальные цены каждого провайдера, прежде чем принимать решение о покупке. Цены Google Batch или Flex не эквивалентны напрямую стандартному on-demand API request, поскольку планирование, доступность и условия обработки отличаются; поэтому они исключены из этого сравнения. Это ограниченное по охвату сравнение, а не утверждение, что E2X — самый дешёвый вариант в мире при любой конфигурации.
Соберите канонический набор референсов один раз
Привычка, которая окупается здесь быстрее всего, к API отношения не имеет.
Соберите набор референсов один раз, осознанно, и переиспользуйте его всегда. Не «какие фотографии валялись под рукой», а фиксированный, версионированный, сохранённый набор, из которого черпает каждый request. Для персонажа: несколько ракурсов одного лица при нейтральном свете — анфас, три четверти, профиль — плюс один ростовой кадр под телосложение. Для товара: перёд, зад, один детальный кроп этикетки. Для стиля: одно-два изображения, несущие цветокор и ничего отвлекающего.
Затем заморозьте его. Храните URL в постоянном месте — в собственном бакете, а не по временной ссылке — и передавайте один и тот же массив в каждом request на всю жизнь проекта.
Это важнее подкрутки prompt, потому что дрейф накапливается. Сгенерируйте кадр 5 из кадра 4, а кадр 6 из кадра 5 — и мелкие ошибки сложатся так, что к двадцатому кадру перед вами другой человек. Привязка каждого кадра к одному каноническому набору означает, что любая генерация отходит от оригинала на один шаг, а не на двадцать. Веер, а не цепочка.
Смежная привычка: если в наборе есть сгенерированные вами изображения, сохраняйте исходные файлы. URL доставки протухают у любого API изображений, так что скачивайте и храните собственные ассеты — полный цикл в статье как гонять генерацию автоматически.
Сделайте главный кадр, потом выводите из него варианты
Больше всего пригодного вывода на доллар даёт не «сгенерировать двадцать изображений». Даёт «сгенерировать одно изображение двадцать раз подряд».
Сделайте один главный кадр на Pro и доведите его — композиция, свет, лицо, товар. Спалите несколько попыток; по $0.075 исследование дёшево.
Затем перестаньте генерировать и начните редактировать. Подавайте утверждённый главный кадр обратно референсом рядом с вашим каноническим набором и просите нужное изменение: другой ракурс, другой фон, другая крупность, модель смотрит в сторону, а не в камеру. Каждый вариант закреплён за тем, что уже прошло приёмку, а не за свежим броском костей.
Редактирование бьёт перегенерацию по причине, которую легко упустить. Перегенерация перерешает всё; каждый параметр, которым вы были довольны, снова в игре. Правка удерживает то, чего вы не упомянули. Потратив вечер на то, чтобы лицо получилось, вы меньше всего хотите перерешать его двадцать раз.
Две практические заметки. Следите за счётом референсов, добавляя главный кадр обратно: главный кадр плюс набор из пяти изображений персонажа плюс товар — это уже семь из четырнадцати. И сохраняйте prompt утверждённого главного кадра рядом с изображением; вариант обычно и есть этот prompt с двумя заменёнными фразами, а переписывание его по памяти возвращает тот самый дрейф, за устранение которого вы только что заплатили.

То, чего не чинит никакой набор референсов
Google впечатывает SynthID в каждое изображение, которое производят его модели. Он невидим, он едет внутри файла, и это не настройка, которую кто-то отдаёт, потому что это вообще не настройка. Здесь это важнее, чем в большинстве статей: проекты про консистентность — это клиентские проекты, а в договоре клиента может быть пункт про ИИ-ассеты. Закройте этот пункт до того, как снимете набор референсов, а не после того, как двадцать утверждённых кадров лягут в презентацию.
Работа с консистентностью почти всегда редактирование, так что модели image-to-image — та полка, с которой стоит начать, а в каталоге есть и видеосторона, если бриф сдвинется.
Частые вопросы
Как удержать одного и того же персонажа в нескольких сгенерированных ИИ изображениях?
Соберите канонический набор референсов — несколько ракурсов одного лица при нейтральном свете плюс один ростовой кадр под телосложение, — храните его постоянно и передавайте одни и те же изображения в каждый request. Используйте слоты персонажа у Nano Banana Pro, которые держат до 5 изображений идентичности, и укажите в prompt, какие изображения — человек. Привязывайте каждый кадр к исходному набору, а не к предыдущему кадру, иначе ошибки сложатся в другое лицо к двадцатому кадру.
Сколько референсных изображений принимает API Nano Banana?
Nano Banana Pro принимает 14 с разделением по ролям: до 5 изображений персонажа, до 6 объектных и до 3 стилевых референсов. Nano Banana 2 тоже принимает 14, но без разделения ролей. Nano Banana 2 Lite построена под объём, а не под работу с множеством референсов, а legacy Nano Banana упирается в 3.
В чём разница между консистентностью персонажа и точностью товара?
Консистентность персонажа означает, что один человек остаётся узнаваемым во многих изображениях — то же лицо, волосы и телосложение, с допуском на мелкие отклонения. Точность товара означает, что объект воспроизводится в точности: точная графика этикетки, пропорция колпачка и цвет, без перестилизации. Pro держит их в разных слотах референсов, потому что им нужна разная строгость, и prompt должен говорить, какие изображения к чему.
Что брать для консистентных изображений — Nano Banana Pro или Nano Banana 2?
Берите Nano Banana 2 за $0.04, когда потребность стилистическая: изображения с общей палитрой, светом и подачей, без конкретного лица или товара, которые надо сохранить. Берите Nano Banana Pro за $0.075, когда конкретное лицо или физический товар обязаны выжить нетронутыми, потому что именно бюджет референсов с разделением ролей говорит модели, что есть что. Разрыв в цене мал рядом с завёрнутым батчем.
Как помечать референсные изображения в prompt для Nano Banana?
Ссылайтесь на них по позиции в том порядке, в каком вы передаёте их в image_urls, и говорите, для чего каждое. «Изображения 1 и 2 — одна и та же женщина, сохрани её лицо и телосложение; изображение 3 — товар, воспроизведи его точно; изображение 4 — только цветокор, не копируй из него ни объекты, ни композицию». Исключения важны не меньше инструкций, потому что стилевой референс без оговорок протечёт своими объектами и композицией в вашу сцену.
Что лучше — отредактировать существующее изображение или сгенерировать новое?
Редактировать, как только у вас есть изображение, которое вы утвердили. Перегенерация перерешает каждый элемент, включая те, которыми вы были довольны; правка удерживает всё, чего вы не упомянули. Эффективный процесс — один тщательно сделанный главный кадр, а затем варианты, выведенные из него через endpoint edit-image с прикреплёнными каноническими референсами.
Почему мои сгенерированные изображения уходят от исходного персонажа?
Почти всегда потому, что каждое новое изображение генерировалось из предыдущего, а не из фиксированного набора референсов. Так ошибки становятся накопительными: чуть более круглая челюсть в кадре 3 становится основой для кадра 4, и к кадру 20 это другой человек. Привязывайте каждый request к одним и тем же сохранённым каноническим изображениям, чтобы каждый вывод был в одном шаге от оригинала, а не в двадцати.