Как получать стабильные ИИ-фото себя при каждой генерации
Сгенерируй десять ИИ-фото себя — и получишь десять слегка разных лиц. Вот та дисциплина промптов и работы, которая удерживает лицо, телосложение и стиль неизменными на протяжении всей съёмки.
Когда человек впервые запускает больше одной ИИ-генерации с одного и того же фото лица, он замечает это сразу: фото один похоже на него, фото два похоже на двоюродного брата, а к пятому сходство уплывает настолько, что все они вместе выглядят как очная ставка разных людей. По отдельности каждое изображение может быть отличным. Рядом друг с другом первое, что видит любой, — несогласованность.
Это не изъян, с которым нужно мириться. Это конкретный, устранимый пробел в том, как большинство пишет промпты, — и его устранение отличает разовое ИИ-фото от настоящей серии контента.
Почему согласованность вообще ломается
С точки зрения модели каждая генерация — самостоятельное событие. Пока ты не закрепляешь одни и те же детали заново при каждом запуске, у модели нет памяти о том, что она отрисовала в прошлый раз: она заново интерпретирует твоё референсное фото со всей случайностью, которую вносит процесс сэмплирования именно в этом запуске. Мелкие неоднозначности твоего промпта каждый раз разрешаются по-разному: ширина челюсти, расстояние между глазами, точный оттенок кожи, воспринимаемая длина волос. По отдельности ни одна из них не ошибочна. Они просто не совпадают друг с другом.
Решение — не особая настройка, а промпты, достаточно точные, чтобы у модели оставалось меньше места импровизировать по-разному от запуска к запуску.
Закрепляй описание лица, а не только фото лица
Большинство загружает референсное фото и считает, что этого достаточно для согласованности. Оно помогает, но делает меньше, чем кажется: модель по-прежнему достраивает неоднозначные детали на своё усмотрение каждый раз. Решение — описывать лицо в самом промпте, каждый раз, одними и теми же словами:
*"тот же человек: короткая тёмная борода, выраженная линия челюсти, средне-коричневый тон кожи, короткая стрижка с плавным переходом"*
Используй ровно эту формулировку в каждом промпте серии. Не переписывай её и не "улучшай" между генерациями — согласованность рождается именно из повторения, а не из более удачной формулировки. Относись к ней как к закреплённой переменной, а не как к фразе, которую тебе позволено редактировать.
Закрепляй телосложение и пропорции точно так же
Лицу достаётся почти всё внимание, но несогласованность телосложения не менее заметна на общих планах — ширина плеч, рост относительно автомобиля или дверного проёма, общая фигура. Если в твоей серии есть и крупные планы, и кадры в полный рост, добавь в закреплённую формулировку описание телосложения:
*"атлетическое телосложение, рост 183 см, широкие плечи"*
Без этого кадрированный крупный план и снимок в полный рост одного и того же "человека" могут читаться как два разных типа фигуры, а это разрушает иллюзию быстрее, чем слегка изменившаяся линия челюсти.
Одно референсное фото, а не меняющийся набор
Если ты собираешь серию, не поддавайся желанию загружать новое референсное фото для каждой сцены. Разные ракурсы, разный свет, разные выражения лица на исходниках дают модели разную информацию, и этот разброс проявляется в результате. Выбери одно чистое, хорошо освещённое референсное фото с нейтральным выражением и используй его для всей серии: чем больше входных данных остаётся неизменными, тем стабильнее выходные.
Если у тебя есть только удачные фото с разных поводов, выход тот же — закреплённая формулировка выше: она компенсирует разброс референсов, давая модели явный текст, на который можно опереться, вместо того чтобы каждый раз догадываться по чуть другому ракурсу.
Закрепляй и переменные за пределами лица
Согласованность касается не только лица. Если серия должна ощущаться как одна непрерывная съёмка — скажем, пять фото одного и того же "дня", — закрепи и гардероб, и цветокоррекцию:
*"в том же пальто из антрацитовой шерсти, белая футболка, то же тёплое плёночное зерно, та же цветокоррекция золотого часа"*
Меняй только то, что должно меняться между кадрами: окружение, позу, ракурс камеры. Всё остальное остаётся закреплённым. По тому же принципу промпты о люксовом лайфстайле читаются как цельный набор, а не как случайная подборка не связанных между собой изображений: разнообразие несёт окружение, а герой остаётся закреплённым.
Генерируй одним плотным блоком, а не растягивая на дни
Это про рабочий процесс, а не про промпты, но это важно: если ты собираешь согласованный набор, выполняй все генерации в одной сессии, подряд, с одной и той же загрузкой референса и одним и тем же закреплённым текстом описания, заново вставленным в каждый промпт. Вернуться через три дня и набрать описание по памяти — ровно тот мелкий разброс, который возвращает уплывание, которое ты и пытаешься убрать. Скопируй работающую формулировку, сохрани там, откуда её удобно вставлять, и используй дословно на протяжении всей жизни этой серии.
Что делать, если одна генерация всё равно уплывает
Даже когда всё закреплено, иногда в блоке попадается результат, который не совпадает: лицо близкое, но сбитое так, что трудно даже назвать чем. Не пытайся выбраться из одной неудачной генерации через prompt engineering. Перегенерируй её тем же самым промптом, который сработал для удачных. Поскольку модель заново вносит случайность в каждом запуске, каким бы точным ни был промпт, вторая попытка с тем же закреплённым текстом обычно решает вопрос, не затрагивая остальную серию.
При чём здесь PROMPTMVSTR
Промпты в архиве написаны с этой же дисциплиной закреплённого описания — отчасти поэтому категория вроде экзотических авто или люксовых путешествий держится как набор, а не выглядит набором разрозненных одиночных кадров. Если ты собираешь свою серию с нуля, Как создавать люксовые ИИ-фото, которые выглядят по-настоящему реально разбирает механику промптов, на которой стоит эта техника, а Virtual Photoshoot автоматически берёт на себя загрузку и повторное использование референсного фото на весь блок, так что одно и то же описание лица и телосложения проходит через каждую генерацию без перенабора.