Каждый, кто хоть раз генерировал изображения в Midjourney, сталкивался с одной и той же досадной проблемой — персонаж, созданный в первом запросе, во втором выглядит совершенно иначе. Меняется форма лица, причёска приобретает другой оттенок, пропорции тела «плывут», а характерная родинка над губой бесследно исчезает. Для единичных иллюстраций это не критично, но стоит только задуматься о серии картинок для комикса, детской книги или визуальной новеллы — и масштаб катастрофы становится очевиден. Ведь без стабильного облика героя вся история рассыпается на набор разрозненных кадров с незнакомцами. Но добиться консистентности всё-таки можно, и для этого не нужно быть программистом или художником с двадцатилетним стажем — а начать стоит с понимания того, как нейросеть вообще «видит» ваши текстовые инструкции.
Почему Midjourney «забывает» персонажа?
Корень проблемы кроется в самой архитектуре диффузионных моделей. Midjourney не запоминает предыдущие генерации — каждый новый запрос обрабатывается с чистого листа. Нет никакой внутренней базы, куда бы записывался «профиль» вашего героя с конкретным разрезом глаз, шириной подбородка или цветом куртки. Дело в том, что модель работает с латентным пространством шума, и даже идентичный промпт при разном сиде выдаст совершенно непохожие результаты. К тому же естественный язык — штука многозначная. Слово «young» для алгоритма может означать и восемнадцать, и тридцать два. Отсюда и разброс. Понимание этого нюанса — первый шаг к тому, чтобы взять ситуацию под контроль.
Референсное изображение и параметр —cref
Настоящий прорыв случился с появлением параметра —cref (character reference). До него пользователи годами изобретали обходные пути, а тут Midjourney фактически подарила инструмент, заточенный именно под сохранение облика. Суть довольно проста: к промпту добавляется ссылка на уже сгенерированное (или загруженное) изображение персонажа, и нейросеть старается воспроизвести черты лица, причёску, общую «энергетику» героя в новой сцене. Выглядит это примерно так: /imagine prompt: a warrior standing on a cliff at sunset —cref [URL изображения]. И всё же не стоит ждать стопроцентного попадания с первой попытки. Модель тяготеет к интерпретации, а не к копированию — и в этом её одновременно сила и слабость.
Отдельно стоит упомянуть параметр —cw (character weight), который регулирует «силу привязки» к референсу. Значение по умолчанию — 100, и при нём Midjourney старается сохранить максимум деталей: от черт лица до одежды и аксессуаров. А вот если снизить вес до 0, модель зацепится только за лицо, проигнорировав остальное. Это удобно, когда нужно переодеть персонажа или поместить его в совершенно другой антураж. Нужно переодеть рыцаря в современный костюм? Ставим —cw 0 и описываем новый наряд словами. Ведь именно эта гибкость позволяет строить визуальные истории, где герой меняет локации и эпохи, оставаясь при этом узнаваемым.
Все лучшие нейросети мира теперь в твоём кармане! ⚡
Тексты, топовое видео, картинки и аудио. Самые мощные версии GPT, Claude, Midjourney, Sora, Kling и еще 90+ ИИ-моделей собраны в одном месте. Работает невероятно быстро: через удобный сайт или прямо в Telegram. Больше никаких блокировок, VPN, иностранных карт и переплат.
Жми на ссылку ниже и забирай свои бесплатные генерации для тест-драйва платформы 👉 https://clck.ru/3RNCRL
Как составить «паспорт» персонажа?
Промпт-инжиниринг. Звучит пафосно, но по сути — это просто умение разговаривать с нейросетью на её языке. И здесь скрупулёзность решает всё. Перед тем как запускать первую генерацию, стоит составить так называемый «паспорт» героя — подробное текстовое описание, которое потом будет кочевать из промпта в промпт практически без изменений. В этот паспорт входят физические характеристики (возраст, телосложение, тон кожи, форма лица), детали внешности (цвет и длина волос, форма бровей, наличие шрамов или веснушек), а также стилистические маркеры вроде «в стиле Disney Pixar» или «гиперреализм, студийное освещение». Чем точнее формулировка — тем меньше простора для «фантазии» алгоритма.
Вот здесь всплывает важный подводный камень. Многие пишут что-то вроде «beautiful girl with blue eyes» и удивляются, почему каждый раз получается новое лицо. Но ведь таких девушек — миллионы вариантов. Нейросети нужна конкретика. Не просто «голубые глаза», а «wide-set pale blue eyes with dark limbal rings». Не «тёмные волосы», а «straight jet-black hair, blunt bangs, length just below the shoulders». Разница колоссальная. Да и стиль описания тоже имеет значение — Midjourney лучше реагирует на цепочки существительных и прилагательных, чем на развёрнутые грамматически правильные предложения.
Seed — маленькая цифра с большим влиянием
О параметре —seed часто забывают, а зря. Это число (от 0 до 4294967295), которое задаёт начальное состояние шума перед генерацией. При одинаковом промпте и одинаковом сиде результаты будут максимально похожи — хотя и не идентичны на сто процентов, особенно после обновлений модели. Фиксация сида — довольно простой способ уменьшить «разброс» между генерациями. Допустим, вы получили удачное изображение персонажа. Через команду /imagine с реакцией-конвертом можно узнать сид этого конкретного результата. А дальше — подставлять его в каждый новый запрос. Конечно, при смене композиции или ракурса различия всё равно проявятся, но общая «база» лица сохранится лучше, чем без сида вовсе.
Стоит ли использовать несколько референсов?
Безусловно. И вот почему. Один-единственный референс — это лотерея: модель может зацепиться за неважную деталь фона или за случайный блик на щеке, проигнорировав ту самую изюминку, ради которой всё затевалось. А вот когда в —cref передаётся два-три изображения одного и того же персонажа (желательно в разных ракурсах), нейросеть получает возможность «триангулировать» черты, выделив устойчивые признаки. Кстати, для этого удобно сначала создать так называемый character sheet — одно изображение с несколькими видами героя: анфас, профиль, вид в три четверти. Промпт для такого листа выглядит примерно так: character reference sheet, multiple poses, front view, side view, 3/4 view, white background, consistent lighting. Результат не всегда идеален, но даже несовершенный лист персонажа творит чудеса при дальнейших генерациях.
Роль стиля и параметр —sref
Консистентность — это не только лицо. Стилистика тоже должна оставаться единой, иначе герой с одинаковыми чертами на одной картинке будет выглядеть как персонаж аниме, а на другой — как фотография из журнала. Для контроля стиля в Midjourney предусмотрен параметр —sref (style reference). Работает он аналогично —cref, только «привязывает» не черты персонажа, а визуальную манеру: палитру, штриховку, степень детализации, характер освещения. Совместное использование обоих параметров — —cref для лица и —sref для стиля — пожалуй, самый мощный инструментальный тандем для создания серий. Нужно отметить, что и у —sref есть свой «вес» — —sw, который по умолчанию равен 100 и может варьироваться от 0 до 1000.
Что насчёт текстового якоря?
Текстовый якорь — приём, о котором почему-то мало пишут. Суть в следующем: вы придумываете для персонажа условное имя (например, «Kira Voss» или «Captain Thresh») и используете его в каждом промпте. Нет, Midjourney не знает, кто такой «Captain Thresh». Но устойчивое словосочетание в начале промпта задаёт своего рода «контекстный каркас», вокруг которого группируются остальные дескрипторы. Это не волшебная палочка. Однако в сочетании с —cref и фиксированным сидом текстовый якорь вносит свою лепту в общую стабильность. Впрочем, если имя слишком «говорящее» (скажем, «Thor» или «Elsa»), модель потянет образ в сторону известного персонажа — так что лучше выбирать нейтральные, вымышленные имена.
Пошаговая стратегия: от идеи до серии
Первый этап — это генерация «эталона». На этом шаге стоит вложить максимум усилий в промпт-паспорт и прогнать через нейросеть десяток вариаций, чтобы выбрать то самое лицо, тот самый ракурс, ту самую эмоцию. Не стоит торопиться. Иногда на поиск идеального эталона уходит тридцать-сорок генераций — и это нормально. Ведь именно этот первый кадр станет фундаментом для всего остального.
Второй этап — создание листа персонажа. Берём лучший результат, загружаем его как референс и просим Midjourney нарисовать героя в нескольких ракурсах на чистом фоне. Тут же фиксируем сид удачного варианта. Если лист получился с артефактами или ракурсы «слиплись» — ничего страшного, можно повторить. К слову, белый или нейтрально-серый фон критически важен: пёстрый задний план «загрязняет» референс, и модель начинает путать элементы окружения с чертами персонажа.
Ну и, наконец, третий этап — серийная генерация. Здесь в ход идёт комбинация всех инструментов разом. Каждый новый промпт строится по шаблону: текстовый якорь + описание сцены + —cref [URL эталона и листа] —cw [нужный вес] —sref [URL стилевого референса] —seed [фиксированный сид]. Разумеется, сид стоит менять, если композиция кардинально отличается — иначе модель будет «тянуть» старую позу в новую сцену. А вот —cref лучше оставлять неизменным на протяжении всей серии.
Подводные камни и типичные ошибки
Одна из самых распространённых ошибок — избыточная детализация промпта при использовании —cref. Казалось бы, чем подробнее — тем лучше. Но на практике, если текстовое описание внешности противоречит референсу (например, в тексте написано «рыжие волосы», а на картинке персонаж — брюнет), модель начинает «метаться» между двумя источниками информации. Результат — нечто среднее и невнятное. Правило простое: если используется —cref, текстовое описание внешности лучше сократить до минимума, сосредоточившись на описании действия и окружения.
Ещё одна ложка дёгтя — смена версии модели. Midjourney регулярно обновляется, и поведение одного и того же промпта в версии 5.2 и в версии 6 может отличаться довольно сильно. Сид, который давал стабильный результат на прошлой неделе, после обновления может выдать совершенно другую картинку. Тем более что разработчики не всегда предупреждают о тонких изменениях в интерпретации параметров. Спасательный круг здесь — сохранять не только сиды, но и сами изображения-эталоны, чтобы всегда иметь возможность перегенерировать серию через —cref.
Сторонние инструменты: когда Midjourney недостаточно
Иногда одной нейросети мало. И это не слабость, а реальность. Для по-настоящему скрупулёзной работы над консистентностью многие авторы комбинируют Midjourney с другими инструментами. Первым в очереди стоит Photoshop (или его бесплатный аналог Photopea), где можно вручную подкорректировать мелкие расхождения — подтянуть цвет глаз, поправить линию подбородка, убрать лишний аксессуар. Далее на сцену выходят специализированные нейросети вроде InsightFace или IP-Adapter, которые позволяют «пересадить» лицо с эталонной фотографии на сгенерированное тело с хирургической точностью. Да, это требует времени и определённых технических навыков — но для коммерческих проектов такой подход себя окупает. Кроме того, нельзя не упомянуть LoRA-модели в Stable Diffusion: если вы готовы выйти за пределы Midjourney, обученная на пяти-десяти фотографиях персонажа LoRA даст куда более стабильный результат — хотя и потребует серьёзного вложения времени в настройку.
Сколько стоит консистентность?
Вопрос не праздный, ведь каждая генерация в Midjourney расходует «быстрые часы» подписки. Базовый тариф (около десяти долларов в месяц) позволяет сгенерировать примерно двести картинок — и на создание одного добротного консистентного персонажа может уйти от тридцати до шестидесяти попыток. Львиная доля уходит на этап поиска эталона и отладку листа персонажа. Но дальнейшие серийные генерации идут быстрее и экономнее, особенно если шаблон промпта уже отточен. Не сильно ударит по кошельку и тариф Standard за тридцать долларов — при нём доступны пятнадцать часов быстрых генераций, чего хватает на средний проект из двадцати-тридцати иллюстраций. А вот экономить, используя бесплатные пробные генерации — затея довольно бессмысленная, потому что их количество слишком мало для итерационного процесса.
Как проверить консистентность?
Результаты стоит сравнивать не на глаз, а методично. Самый простой способ — собрать все изображения персонажа на одном холсте в графическом редакторе, расположив их рядом при одинаковом масштабе. Бросается ли в глаза разница? Если да — проанализировать, что именно «поплыло». Чаще всего проблемы возникают с формой носа и линией челюсти — это самые нестабильные зоны при смене ракурса. На самом деле абсолютной идентичности добиться невозможно даже в традиционной анимации: у живых художников персонаж тоже немного «гуляет» от кадра к кадру. Зритель это прощает, если общий силуэт и «характер» лица сохраняются. Так что не стоит гнаться за попиксельным совпадением — это путь к разочарованию.
Практические хитрости от сообщества
Опытные пользователи Midjourney за годы работы выработали целый арсенал неочевидных приёмов. Один из самых эффективных — «замораживание» одежды. Дело в том, что узнаваемый костюм компенсирует мелкие расхождения в чертах лица. Вспомните культовых персонажей: Марио с его красной кепкой, Шерлока с трубкой и пальто, Сейлор Мун с тиарой. Даже если лицо чуть «уедет», зритель всё равно опознает героя по характерной цветовой палитре наряда. Отсюда совет: при разработке персонажа стоит сразу заложить несколько визуальных «якорей» — приметную деталь гардероба, необычный цвет волос, заметный шрам или татуировку.
Ещё один добротный приём — работа с негативными промптами. Параметр —no позволяет указать, чего не должно быть на картинке. Если модель упорно добавляет герою бороду, которой у него нет, — —no beard решит проблему. Если фон «лезет» в композицию — —no busy background, clutter. Мелочь, казалось бы, но именно такие точечные ограничения помогают удерживать образ в заданных рамках.
Версия 6 и новые возможности
С выходом шестой версии Midjourney ситуация с консистентностью заметно улучшилась. Модель стала точнее следовать текстовым описаниям и аккуратнее работать с референсами. Особый интерес вызывает улучшенная обработка мимики — теперь персонаж может улыбаться на одной картинке и хмуриться на другой, сохраняя при этом узнаваемые пропорции лица. Буквально год назад это было практически невозможно: любая смена эмоции превращала героя в другого человека. И всё же идеала пока не достигнуто. Сложные ракурсы (вид снизу, резкий поворот головы) по-прежнему остаются испытанием для модели. Но динамика внушает оптимизм: каждое обновление делает инструмент чуточку стабильнее.
Со временем персонажная консистентность в нейросетях станет нормой, а не квестом для энтузиастов — это лишь вопрос нескольких итераций модели. А пока — вооружённый референсами, сидами, текстовыми якорями и здоровой долей терпения, любой автор способен создать убедительную серию иллюстраций с узнаваемым героем. Удачи в экспериментах — и пусть ваш персонаж всегда остаётся самим собой, в какую бы сцену вы его ни поместили.

