IPAdapter переносит внешность с опорной картинки на новую генерацию. Это
самый быстрый способ получить одного и того же персонажа в разных позах и
сценах, не обучая лору. Ниже как он устроен, какие веса ставить и где он честно
не справляется.
Задача, которую он решает
Любой, кто пробовал собрать серию кадров с одним персонажем, знает эту
проблему. Промпт один и тот же, модель одна и та же, а человек на каждом кадре
немного другой. Чуть иное лицо, другой оттенок волос, изменившиеся пропорции.
Для одиночной картинки это неважно, для серии это убивает всю затею.
Причина в том, что у модели нет памяти. Каждая генерация начинается с чистого
листа, и словесное описание внешности слишком грубый инструмент: под фразу о
светловолосой девушке с зелёными глазами подходят миллионы разных лиц.
IPAdapter заходит с другой стороны. Вместо того чтобы описывать внешность
словами, вы даёте модели картинку и говорите: сделай похоже на это. Модель
извлекает из опорного изображения визуальные признаки и учитывает их при
генерации наравне с текстом.
Практически это означает, что вы можете взять один удачный кадр и
использовать его как якорь для всей последующей серии. Именно так собирают
связные наборы изображений, и никакой длины текстового описания это не
заменяет.

Чем это отличается от лоры
Вопрос возникает сразу, потому что лора решает похожую задачу. Разница
существенная и в основном про стоимость.
Лора это результат обучения. Вы собираете набор изображений персонажа, тратите
время и вычислительные ресурсы, получаете файл. Дальше он работает очень хорошо и
стабильно, потому что модель действительно выучила этого персонажа. Но путь до
готовой лоры измеряется часами, а иногда днями, и требует достаточного количества
исходного материала. Как это устроено, разобрано в материале про
обучение
NSFW лоры.
IPAdapter не обучается ничему. Он работает в момент генерации, и ему достаточно
одной опорной картинки. Настройка занимает минуты, а не часы. Взамен качество
переноса ниже, чем у хорошо обученной лоры, и контроль грубее.
Разумное правило выбора такое. Если персонаж нужен вам один раз или для
небольшой серии, берите IPAdapter: соотношение усилий и результата несравнимо
лучше. Если персонаж будет использоваться постоянно и качество критично, лора
окупится.
Эти подходы не исключают друг друга. Довольно распространённая практика это
собрать первые кадры через IPAdapter, отобрать удачные и уже на них обучить лору.
Так вы получаете обучающий материал, которого изначально не было.
Как это работает внутри
Без излишних деталей механика такая. Опорное изображение проходит через
отдельную модель, которая превращает картинку в набор числовых признаков. Эти
признаки подаются в генерацию примерно там же, где обычно подаётся текстовое
описание.
Отсюда важное следствие, которое объясняет большинство неожиданностей.
IPAdapter не копирует лицо пиксель в пиксель. Он передаёт общее визуальное
впечатление: черты, цвета, стиль, иногда композицию. Поэтому результат похож, но
не идентичен, и поэтому же опорная картинка влияет не только на лицо.
Существуют варианты, специализированные именно на лицах. Они устроены так,
чтобы вытаскивать признаки лица отдельно от всего остального, и для задачи
удержания персонажа работают заметно точнее обычных. Если вам нужно именно лицо,
а не общий стиль, стоит искать вариант с такой специализацией.
Ещё один практический момент: к каждому варианту прилагается своя модель
признаков, и они не взаимозаменяемы. Несовпадение версий это одна из самых частых
причин, по которой ничего не работает или результат выглядит случайным.
Веса: главная настройка
Сила влияния это то, что вы будете крутить чаще всего, и понимание диапазона
экономит много попыток.
При низких значениях, где-то до трети, влияние едва заметно. Персонаж выходит
своим, опорная картинка добавляет разве что настроение. Иногда это именно то, что
нужно, если вы переносите стиль, а не человека.
Средний диапазон, примерно от половины до трёх четвертей, это рабочая зона для
большинства задач. Персонаж узнаваем, но модель сохраняет свободу в позе и
обстановке. Начинать стоит отсюда.
При высоких значениях, близких к единице и выше, перенос становится жёстким.
Персонаж очень похож, но вместе с ним начинает переноситься и всё остальное:
поза, ракурс, фон, освещение. Вы просили лицо, а получили почти копию опорной
картинки, только слегка перерисованную. Это самая частая жалоба, и лечится она
снижением веса, а не борьбой с промптом.
Полезный приём: менять вес при фиксированном сиде и одном и том же запросе.
Три генерации с разными весами рядом показывают характер модели лучше, чем любое
описание в гайде.
Как выбирать опорную картинку
Качество переноса зависит от опорного изображения сильнее, чем от настроек, и
это недооценивают.
Лицо должно быть крупным и хорошо освещённым. Если на опорной картинке человек
снят в полный рост, лицу достаётся мало пикселей, и переносить оттуда почти
нечего. Кадрируйте опорное изображение до головы и плеч, если задача это удержать
лицо.
Ракурс имеет значение. Опорная картинка анфас переносится на новые кадры
анфас хорошо, но если вы просите профиль, модель вынуждена додумывать. Для серии
с разными ракурсами иногда удобнее держать несколько опорных изображений.
Фон и одежда тоже переносятся, особенно на высоких весах. Если опорная
картинка снята в характерной обстановке, будьте готовы, что эта обстановка полезет
в результат. Чистый нейтральный фон на опорном изображении облегчает жизнь.
И общее: не берите на роль опорного изображения кадр с артефактами. Кривые
руки, странная анатомия и мыло переносятся вместе со всем остальным, потому что
для модели это тоже визуальные признаки.
Разрешение опорной картинки тоже имеет значение, хотя и не такое прямое, как
кажется. Гигантский исходник не улучшит перенос: механизм всё равно приводит
картинку к своему рабочему размеру. А вот слишком маленький ухудшит, потому что
признаков просто неоткуда взять. Разумный ориентир это изображение, где лицо
занимает хотя бы несколько сотен пикселей по большей стороне.
И последнее наблюдение, которое экономит перебор: если у вас есть выбор из
нескольких кадров персонажа, берите не самый красивый, а самый нейтральный.
Эффектный кадр с драматичным светом и выразительной мимикой переносит вместе с
лицом и всё это, а нейтральный портрет оставляет модели свободу, которая вам как
раз и нужна для новой сцены.
Сочетание с другими инструментами
IPAdapter отвечает за то, кто в кадре. Он почти не управляет тем, как этот
человек расположен. Для позы существует отдельный класс управляющих моделей,
которые задают скелет, и вместе эти два инструмента закрывают задачу целиком:
один держит персонажа, второй держит позу. Разбор второй половины есть в
материале про
ControlNet
и позы.
Комбинация работает хорошо, но требует умеренности в весах. Два сильных
управляющих сигнала плюс подробный текстовый запрос это три источника влияния,
которые начинают конкурировать. Если результат стал странным после добавления
второго инструмента, первым делом снижайте веса обоих, а не усиливайте нужный.
Для доводки лица после генерации есть отдельный слой инструментов, которые
перегенерируют найденную область в полном разрешении. Это разумно ставить
последним шагом, и разбор есть в материале про
ADetailer
для лиц и рук. С руками, которые остаются слабым местом всех моделей, помогает
отдельный набор приёмов, собранный в материале про
кривые
руки.
Если нужно поменять лицо на уже готовом изображении, это другая задача и
другой инструмент: замена лица работает поверх результата, а не в момент
генерации. Разбор есть в материале про
замену
лица нейросетью. А для локальных правок отдельных участков используют
дорисовку по маске, о которой написано в материале про
inpaint
и дорисовку.
Несколько опорных изображений
Большинство реализаций позволяет подать не одну картинку, а несколько, и это
недооценённая возможность.
Смысл в том, что модель усредняет признаки. Если вы дадите три кадра одного
персонажа с разных ракурсов, перенос станет устойчивее: модель получит
представление о том, как этот человек выглядит вообще, а не как он выглядит на
одном конкретном снимке. Побочные признаки одного кадра, вроде характерного
освещения или наклона головы, при этом размываются, и это скорее плюс.
Есть и обратное применение. Подав картинки разных людей, вы получите
усреднённое лицо, которого не существует. Для создания оригинального персонажа,
не похожего ни на кого конкретного, это рабочий приём, и им пользуются чаще, чем
можно подумать.
Осторожность нужна с несовместимыми исходниками. Если картинки сильно
различаются по стилю, скажем фотография и рисунок, результат обычно получается
невнятным: модель пытается примирить два разных визуальных языка. Держите набор
опорных изображений однородным по стилю.

Перенос стиля вместо персонажа
Тот же механизм решает и другую задачу, о которой вспоминают реже. Если подать
в качестве опорного изображения не портрет, а картинку с характерной манерой,
перенесётся именно манера: палитра, тип освещения, фактура.
Настройки при этом другие. Для стиля обычно берут меньший вес, чем для
персонажа, потому что задача мягче: вы хотите повлиять на впечатление, а не
скопировать содержание. Слишком высокий вес при переносе стиля начинает тащить и
композицию оригинала, что почти никогда не нужно.
Практическое применение простое: собрать серию кадров в едином визуальном
ключе, даже если персонажи в них разные. Один опорный кадр стиля на всю серию
даёт связность, которой трудно добиться словами, потому что описание стиля
текстом это всегда приблизительно.
Комбинировать перенос персонажа и перенос стиля одновременно можно, но это уже
два управляющих сигнала, и веса придётся снижать оба. Начните с одного.
Когда перенос не работает: диагностика
Есть несколько симптомов с довольно надёжными причинами, и знание их экономит
вечер.
Ничего не происходит вообще, результат такой же, как без переноса. Почти
всегда это несовпадение версий: модель признаков не соответствует выбранному
варианту, либо узел подключён, но не влияет на генерацию из-за ошибки в схеме.
Проверьте это раньше, чем начнёте крутить веса.
Результат почти копирует опорную картинку. Вес слишком высок. Опускайте, а
заодно проверьте, не подано ли опорное изображение сразу в несколько мест схемы:
влияние тогда складывается.
Лицо похоже, но выражение всегда одинаковое. Нормальное поведение при высоком
весе: вместе с чертами переносится и мимика оригинала. Снижение веса возвращает
свободу, но уменьшает сходство. Это честный компромисс, а не поломка.
Сходство есть, но качество упало. Скорее всего, опорное изображение низкого
качества или маленькое. Механизм переносит и артефакты тоже. Возьмите более
чистый исходник.
Результат странно меняется при смене чекпойнта. Ожидаемо: перенос
взаимодействует с базовой моделью, и на разных чекпойнтах один и тот же вес
работает по-разному. Подбирайте вес заново при смене модели.
Где он честно не справляется
Стоит проговорить ограничения прямо, потому что завышенные ожидания это
основная причина разочарования.
Точное портретное сходство. IPAdapter даёт похожесть, а не идентичность. Для
серии картинок этого обычно достаточно, для задач, где важно точное совпадение,
нет.
Сложные ракурсы. Чем дальше нужный ракурс от опорного, тем больше модель
додумывает и тем слабее сходство.
Мелкие детали. Конкретная родинка, форма украшения, надпись на одежде не
переносятся надёжно. Это уровень детализации, до которого механизм признаков
просто не доходит.
Несколько персонажей. Если в кадре двое, признаки склонны смешиваться, и оба
получаются похожими на опорное изображение. Это известное ограничение, и обходят
его обычно генерацией по частям.
Видео. Перенос работает покадрово, а видеомодели устроены иначе, поэтому
удержание персонажа в ролике решается на этапе подготовки исходного кадра, а не
внутри видеогенерации. Как устроена эта часть, разобрано в материале про
workflow
для NSFW видео в ComfyUI.
Что нужно из железа
IPAdapter добавляет к генерации ещё одну модель, и это отражается на
потреблении памяти, хотя и умеренно. Обычно прибавка невелика по сравнению с
самим чекпойнтом, и если у вас нормально работала генерация картинок, то и с
переносом признаков проблем чаще всего не будет.
Что действительно стоит учесть, так это скорость. Каждый дополнительный
управляющий модуль немного замедляет генерацию. При переборе десятков вариантов
это накапливается, поэтому искать композицию разумнее без переноса, а включать
его, когда сцена уже найдена.
Установка обычно сводится к добавлению нужных узлов в сборку и укладыванию
моделей признаков в соответствующий каталог. Базовая настройка сборки разобрана в
материале про
установку
ComfyUI.
Стоит заранее знать про одну организационную сложность. Файлы моделей
признаков называются похоже, лежат в разных каталогах в зависимости от их роли, и
перепутать их легко. Когда схема не работает, а всё вроде подключено, причина
чаще всего именно здесь: нужный файл лежит не в том каталоге, и узел его просто не
видит. Проверяйте это первым делом, до того как искать проблему в весах.
Вторая организационная мелочь: варианты переноса развиваются, и узлы к ним
обновляются отдельно от самой сборки. Схема, найденная в интернете полгода назад,
может ссылаться на узлы, которых у вас нет, или на те, что успели
переименоваться. Это нормально для этого стека, и обычно лечится установкой
недостающего набора узлов, а не поиском другой схемы.

Сколько это экономит времени на практике
Полезно понимать порядок величин, чтобы решить, стоит ли овчинка выделки.
Без переноса связная серия из десяти кадров одного персонажа это обычно
несколько часов работы: вы генерируете десятки вариантов, отбираете похожие,
часть переделываете, и всё равно сходство остаётся приблизительным. Многие на
этом этапе просто сдаются и берут то, что вышло.
С переносом та же серия занимает время самой генерации плюс подбор веса в
начале. Отбор всё равно нужен, но брака заметно меньше, потому что модель уже
знает, кого рисовать. Разница ощущается сразу, и именно поэтому инструмент так
быстро стал стандартным.
Лора при этом остаётся лучшим вариантом по качеству, но требует и материала, и
времени на обучение. Разумная стратегия для большинства задач это начать с
переноса, и переходить к обучению только если персонаж действительно нужен
надолго.
Ещё один аргумент в пользу того, чтобы начать с переноса: вы не тратите
усилия на персонажа, который может вам разонравиться. Обучение лоры это
вложение, и вкладываться в образ, который вы видели один раз, преждевременно.
Сгенерируйте с переносом два десятка кадров, поживите с этим персонажем неделю, и
только потом решайте, стоит ли он отдельной модели.
Обратная сторона тоже стоит упоминания. Если вы уже точно знаете, что
персонаж нужен вам надолго и в большом объёме, начинать с переноса значит
откладывать неизбежное. В этом случае честнее сразу собрать материал и обучить
лору, а перенос использовать как раз для того, чтобы этот материал получить.
Если возиться с узлами не хочется, а связная серия нужна, часть сервисов
держит персонажа между кадрами сама.
Такой
вариант избавляет от настройки целиком, хотя и лишает тонкого контроля.
Порядок работы, который экономит время
Собрав всё вместе, разумная последовательность выглядит так.
Сначала получите один по-настоящему хороший кадр персонажа обычной
генерацией. Не торопитесь: всё дальнейшее наследует его качество, и время,
вложенное здесь, окупается многократно.
Кадрируйте этот кадр до головы и плеч и сохраните как опорный. Это ваш якорь
на всю серию.
Дальше генерируйте новые сцены с переносом на среднем весе. Меняйте позу и
обстановку текстом, внешность не описывайте вовсе или описывайте минимально:
за неё теперь отвечает опорное изображение.
Отбирайте удачное и при необходимости доводите лицо отдельным проходом. И
если серия выросла до нескольких десятков хороших кадров, это уже готовый
материал для обучения полноценной лоры, если персонаж вам нужен надолго.
Быстро сравнить, что даёт этот путь по сравнению с готовым решением, можно на
онлайн-сервисе,
и это разумно сделать до того, как вкладывать вечер в настройку узлов.
Частые вопросы
Чем IPAdapter лучше лоры?
Он не требует обучения и работает с одной опорной картинки, настройка занимает
минуты. Лора даёт более точный и стабильный результат, но требует набора
изображений и времени на обучение.
Какой вес ставить?
Начните примерно с половины или чуть больше. Ниже влияние почти незаметно,
ближе к единице вместе с лицом переносятся поза, фон и освещение.
Почему переносится не только лицо?
Механизм передаёт общие визуальные признаки картинки, а не только черты лица.
Помогают снижение веса, кадрирование опорного изображения до головы и плеч и
варианты, специализированные на лицах.
Работает ли это с двумя персонажами в кадре?
Плохо. Признаки склонны смешиваться, и оба получаются похожими на опорное
изображение. Обычно такие сцены собирают по частям.
Нужна ли отдельная модель признаков?
Да, и она должна соответствовать выбранному варианту. Несовпадение версий это
частая причина того, что перенос не работает или выглядит случайным.



