Почему одна и та же внешность в разных workflow «разваливается»?
Это одна из самых неприятных ситуаций для новичка: вы вроде обучили LoRA на конкретного человека, в одном workflow лицо более-менее держится, а в другом уже начинается хаос.
Это одна из самых неприятных ситуаций для новичка: вы вроде обучили LoRA на конкретного человека, в одном workflow лицо более-менее держится, а в другом уже начинается хаос. Где-то меняются глаза, где-то уплывает форма лица, где-то ломается мимика, а в видео персонаж вообще становится “похожим, но не тем”.
И здесь важно понять главное: одна и та же внешность в разных workflow не обязана вести себя одинаково. Потому что workflow — это не просто другая кнопка запуска. Это другая логика генерации, другая модель, другой тип задачи, другие узлы, другие референсы, другие веса и иногда вообще другой “язык”, на котором модель воспринимает вашу LoRA.
Поэтому правильный вопрос звучит не так: “Почему моя LoRA плохая?” Правильнее спрашивать: “Совпадает ли текущий workflow с тем, под что моя LoRA реально обучалась и где она должна работать?”
Если вы только входите в тему, полезно сначала прочитать что такое LoRA и зачем она нужна. Тогда становится понятнее, почему сама по себе LoRA не даёт магическую гарантию одинакового лица в любых сценариях.
Короткий ответ
Внешность разваливается в разных workflow потому, что вы меняете не только сцену, но и саму среду, в которой LoRA должна удерживать идентичность.
Чаще всего проблема упирается в одно или сразу несколько из этого:
- другая базовая модель;
- другой тип workflow: фото, img2img, video, lipsync, animator;
- слишком слабая или слишком агрессивная сила LoRA;
- разные prompt-правила и trigger logic;
- неполный или перекошенный датасет;
- captioning, который плохо разделил внешность, позу и сцену;
- референсы, которые сильнее давят на результат, чем сама LoRA;
- ограничения конкретного video workflow, где лицо и фигура держатся хуже, чем в фото.
Самая частая причина: у workflow разная база под капотом
Это то, что новички часто недооценивают. Кажется, что LoRA — это уже “готовая внешность”, и значит она должна одинаково работать везде. Но на практике LoRA живёт не в вакууме, а поверх конкретной базовой модели.
Если вы обучали LoRA под один тип модели, а потом пытаетесь использовать её в другом семейства workflow, результат может начать плыть. Не потому что внешность “забылась”, а потому что другая база по-другому интерпретирует признаки лица, света, кожи, мимики и даже композиции.
Именно поэтому в практике нередко советуют делать не одну универсальную LoRA на всё подряд, а несколько LoRA под разные модели и задачи — отдельно под фото, отдельно под другую модельную семью, отдельно под видео. Это не перфекционизм, а попытка не заставлять одну LoRA тащить слишком разные режимы генерации. Если хотите углубиться в эту логику, посмотрите почему иногда советуют делать не одну LoRA, а сразу несколько.
Один workflow может усиливать лицо, а другой — сцену или движение
Разные workflow по-разному распределяют “власть” над результатом.
Например:
- в простом photo workflow LoRA может держать внешность достаточно уверенно;
- в img2img часть идентичности начинает перетягивать исходное изображение;
- в video workflow большое влияние получают движение, референс, motion-пайплайн и общая сцена;
- в lipsync или animator-сценариях приоритет может уходить в рот, мимику, позу и кадры движения, а не в точную стабильность лица.
Поэтому одна и та же LoRA может выглядеть отлично в статике и ощутимо хуже в видео. Это не редкость. Видео-пайплайн просто нагружает модель другой задачей: ей нужно не только сохранить человека, но ещё и выдержать движение, позу, иногда синхронизацию рта, иногда референсную сцену.
Video workflow почти всегда сложнее для идентичности
Вот здесь многие ломаются. Кажется логичным: если LoRA хорошо рисует человека на фото, то в видео она должна делать то же самое, только в движении. На практике это неверно.
Видео — это более тяжёлая задача для устойчивости личности. Там проще потерять форму глаз, пластику лица, мелкие признаки и даже общее ощущение “того же самого человека”. Особенно если workflow опирается на позы, референсы, motion control или image-to-video механику.
Часто кажется, что лицо “держится чуть-чуть, но не полностью”. Это как раз типичный симптом. В статике модель успевает удержать образ, а в видео часть идентичности съедается динамикой пайплайна.
Если вы работаете именно с видео, полезно заранее принимать это как ограничение среды, а не ждать от любой LoRA чудесной абсолютной стабильности.
Проблема может быть не в LoRA, а в силе её применения
Ещё одна частая причина — неправильный вес самой LoRA или связанных face-параметров внутри workflow.
Новичку кажется: если внешность плывёт, надо усилить LoRA. Иногда это помогает. Но очень часто получается наоборот — лицо начинает ломаться, мимика дубеет, кожа становится пластиковой, а признаки начинают “пережиматься”.
Слишком слабая сила даёт расплывание идентичности. Слишком сильная — часто даёт не стабильность, а жёсткое, неестественное прилипающее лицо. Поэтому важна не абстрактная “максимальная мощность”, а рабочий баланс.
То же самое касается face strength и похожих параметров. Если в одном workflow лицо держится, а в другом нет, проблема может быть вообще не в обучении, а в том, как именно вы прикручиваете LoRA на инференсе.
Captioning может объяснить, почему лицо держится в одном сценарии и плывёт в другом
Очень частая скрытая причина — это неидеальный captioning.
Если при обучении вы плохо разделили в подписях внешность, позу, свет, одежду и фон, модель могла запомнить всё слишком слепленным. Пока вы генерируете что-то близкое к обучающему распределению, это выглядит нормально. Но как только workflow меняет ракурс, позу, видео-логику или общий тип сцены — идентичность начинает рассыпаться.
Именно поэтому captioning нужен не ради красоты, а ради разделения признаков. Если вы ещё не читали, полезно отдельно посмотреть что такое captioning и зачем он нужен в LoRA и что такое Florence и зачем её используют в LoRA, если у вас такая статья уже опубликована. Если ещё нет, просто держите в голове главный принцип: модель должна понимать, где внешность, а где сцена.
Иногда вы сами просите workflow разрушить внешность
Это звучит грубо, но это правда. Бывает, что человек хочет сохранить одно и то же лицо, но одновременно:
- резко меняет фигуру через prompt;
- сильно меняет возрастной типаж;
- меняет волосы, свет, одежду и сцену сразу;
- подсовывает сильный референс другой внешности;
- использует video workflow, где важнее поза и движение, чем точная идентичность.
В таком режиме workflow начинает решать несколько конфликтующих задач. И если LoRA не очень сильная или датасет не покрывает такие условия, лицо начинает “дрейфовать”.
Проще говоря: не всякое изменение совместимо с требованием “оставь этого же человека один в один”.
Датасет мог быть хорошим для одного сценария и слабым для другого
Это ещё один важный момент. Датасет не бывает “хороший вообще”. Он бывает хорошим под конкретный тип задач.
Например:
- для портретов по пояс датасет может быть отличным;
- для профиля и сильных эмоций — уже слабым;
- для видео и движения — ещё слабее;
- для тёмных сцен или необычного света — вообще неподготовленным.
Если в базе мало эмоций, мало профилей, мало полного роста, мало сложного света или почти нет разнообразия сцен, LoRA будет хорошо держаться только там, где вы остались рядом с обучающим материалом. Как только workflow начинает требовать больше гибкости, лицо и поведение персонажа могут развалиться.
Это особенно заметно, когда в датасете все кадры примерно с одним выражением лица, а потом вы хотите яркую мимику или видео. Модель просто не получила достаточно опор, чтобы вести себя стабильно.
Референсы и control-механики могут быть сильнее LoRA
Во многих workflow, особенно image-to-image и video, поверх LoRA ещё работают:
- референсные изображения;
- pose control;
- motion control;
- face swap / face guidance;
- дополнительные адаптеры и узлы.
Из-за этого люди часто переоценивают роль одной только LoRA. Кажется, что именно она должна всё удержать. Но если workflow сильно привязан к референсу, то референс начинает задавать геометрию, позу, иногда даже ощущение лица сильнее, чем сама LoRA.
И вот тогда возникает знакомое ощущение: “это как будто мой персонаж, но не совсем”. Это не всегда провал обучения. Иногда это конфликт источников влияния внутри самого графа.
Одна и та же LoRA может по-разному вести себя даже из-за промпта
Это тоже недооценивают. Один prompt может поддерживать идентичность, а другой — размывать её.
Особенно опасны ситуации, когда вы:
- слишком активно описываете внешность в промпте;
- просите противоречащие признаки;
- используете prepend text, который подмешивает постоянные свойства ко всем генерациям;
- перегружаете сцену стилем сильнее, чем самим субъектом.
Иногда люди сами забивают в промпт то, что должно было жить внутри LoRA. В результате часть признаков начинает конкурировать: что должна удерживать LoRA, а что вы насильно переопределяете текстом.
Поэтому один и тот же персонаж может в одном workflow “держаться”, а в другом — распадаться просто потому, что там другой prompt-design.
Почему особенно сильно ломаются глаза, мимика и мелкие черты
Потому что это самые хрупкие элементы идентичности. Общий типаж модель удерживает проще, чем тонкие вещи:
- форма глаз;
- взгляд;
- улыбка;
- линия губ;
- асимметрия лица;
- небольшие черты, которые и делают человека “тем самым”.
Как только workflow начинает давить на движение, сильную эмоцию, другую позу или референсную геометрию, именно эти детали часто уезжают первыми.
Поэтому новичку кажется: “вроде человек тот же, но уже не тот”. Это не галлюцинация. Просто общая внешность удержалась, а идентичность на уровне микропризнаков уже поплыла.
Иногда дело не в лице, а в том, что вы пытаетесь одной LoRA закрыть слишком разные задачи
Это возвращает нас к важной мысли: не каждая LoRA должна быть универсальной.
Если вы хотите одной и той же LoRA закрыть:
- фотореалистичные портреты;
- полный рост;
- сложную мимику;
- несколько разных модельных семейств;
- image-to-video;
- lipsync;
- разные стили и световые сценарии;
то вероятность “развала” резко растёт. Не потому что LoRA плохая, а потому что на неё повесили слишком разные требования.
Иногда более разумный путь — не пытаться заставить одну LoRA быть всем сразу, а разделять задачи: одна под фото, другая под другую базу, третья под видео. Это скучнее, зато намного стабильнее в реальной работе.
Что проверить, если внешность разваливается
Вместо гадания лучше пройтись по короткому чек-листу:
- 1. На той ли базовой модели вы вообще используете LoRA?
- 2. Под этот ли тип задачи она обучалась: фото, видео, img2img?
- 3. Не слишком ли слабая или сильная сила LoRA?
- 4. Не конфликтуют ли prompt и trigger word с тем, что должна держать сама LoRA?
- 5. Хватает ли датасету эмоций, профилей, света, полного роста и сложных сцен?
- 6. Не перетягивают ли результат референсы или control-механики?
- 7. Не пытаетесь ли вы использовать одну LoRA там, где разумнее иметь отдельную?
Этот список обычно полезнее, чем вопрос “почему workflow плохой?”.
Когда проблема реально в workflow
Такое тоже бывает. Не каждый workflow одинаково хорош для удержания идентичности. У некоторых графов приоритет на сцену, у других — на движение, у третьих — на скорость, а не на лицо.
Насторожиться стоит, если:
- в одном и том же workflow у многих плавают глаза и мимика;
- там агрессивные настройки по силе или face guidance;
- workflow заточен под другую базу модели;
- внутри есть сильные референсные и control-узлы, которые забирают управление;
- автор графа ориентировался не на стабильность идентичности, а на другой результат — например, скорость или motion.
Но даже здесь не надо начинать с обвинения графа. Сначала всегда полезнее проверить совместимость задачи, базы и LoRA.
Вывод
Одна и та же внешность в разных workflow разваливается не потому, что LoRA “забыла лицо”, а потому, что вы меняете условия, под которыми эта идентичность должна удерживаться.
Главные причины обычно такие: другая базовая модель, другой тип задачи, другой вес LoRA, конфликт prompt-логики, слабый датасет под новые сцены, неудачный captioning и сильное влияние референсов или video-пайплайна.
Поэтому мыслить лучше так: не “почему мой персонаж вдруг стал другим?”, а “какая часть текущего workflow сильнее всего давит на идентичность и где именно моя LoRA перестаёт справляться?”
Когда вы начинаете смотреть на проблему именно так, внешний “развал” перестаёт быть мистикой и превращается в вполне понятную диагностику: база, задача, датасет, captions, сила LoRA и контрольные узлы. А это уже можно чинить по шагам.
Для внешнего ориентира по качеству character LoRA можно посмотреть рекомендации Replicate по character LoRA datasets и заметки Ostris по качеству датасета и гибкости LoRA. Там хорошо видно ту же самую логику: чем слабее и уже датасет, тем хуже LoRA переносится на новые условия и стили. ✅