Содержание статьи +
- Кратко
- Зачем это нужно
- Главная проблема: модель без памяти
- Четыре рычага
- Рычаг 1 – Референс-кондиционирование: показывай, а не описывай
- Рычаг 2 – Дообучение: научи модель своему субъекту
- Рычаг 3 – Разделяемое внимание: пусть кадры договорятся
- Удерживаем сцену, а не только лицо
- Рычаг 4 – Управление камерой: хватит надеяться, начни задавать
- Что продакшен-модели 2026 дают бесплатно
- Собираем рычаги вместе: продакшен-паттерн
- Где здесь Фора Софт
- Ключевые выводы
- Что почитать дальше
Кратко
Генеративные видеомодели забывают: попросите одну и ту же модель сделать два клипа «той же женщины» – и обычно получите двух разных женщин, две разные комнаты и два не связанных движения камеры. Удержать эти три вещи неизменными между кадрами – лицо и одежду (персонаж), место и реквизит (сцену) и то, как движется объектив (камеру) – и есть разница между демкой и рабочим продакшеном, и в 2026 году это наконец решается правильным набором методов. Этот урок объясняет на пальцах, почему модели забывают, какие четыре рычага это чинят (референс-кондиционирование, дообучение, разделяемое внимание и явное управление камерой) и какая продакшен-модель 2026 года – Runway Gen-4, Sora 2, Veo 3.1 или Kling 3.0 – даёт какой рычаг «из коробки». Вы уйдёте, умея выбрать подход к согласованности для реального продукта и объяснить инженерам, почему кадр «уплывает».
Зачем это нужно
Если ваш продукт генерирует видео – OTT-студия делает B-roll, e-learning-платформа выпускает постоянного ведущего, маркетинговый инструмент собирает бренд-ролики – именно по согласованности вас и судят пользователи. Основателю простят медленную модель; никто не простит «маскота бренда», у которого лицо меняется между интро и аутро. Этот урок для продакт-менеджера, основателя или техлида, который видел, как сгенерированный персонаж «перетекает» между кадрами, и должен понять, это проблема промпта, модели или пайплайна – и чего стоит каждое исправление. Он опирается на урок про ландшафт генеративного видео, где сравниваются модели, и на урок про ускорение, потому что приёмы согласованности работают поверх той же диффузионной механики.
Главная проблема: модель без памяти
Начнём с того, почему проблема вообще существует, потому что из причины прямо следует исправление.
Генеративная видеомодель собирает каждый клип с нуля. Вы даёте ей текстовый промпт – «женщина в красном пальто идёт через вокзал» – и она делает клип, убирая случайный шум, пока из-под него не проступит картинка (этот процесс подробно разобран в уроке про ускорение). Ключевой факт для нас – из чего модель работает: из текстового промпта и свежей горсти случайного шума. Больше ни из чего.
Теперь попросите второй клип с тем же промптом. Модель снова стартует из текста плюс нового случайного шума, и записи о первом клипе у неё нет. Фраза «женщина в красном пальто» описывает почти бесконечное множество женщин, и модель каждый раз выбирает в этом множестве другую точку. Результат – другое лицо, другой вокзал, другая походка. Модель сделала ровно то, что вы просили; «той же женщины» в инструкции не было.
Это та единственная идея, на которой держится весь урок, так что держите её: у генеративной модели нет памяти между генерациями, а текстовый промпт слишком расплывчат, чтобы прикрепить конкретное лицо, место или движение камеры. Каждый приём согласованности ниже – это способ скормить модели больше, чем текст: что-то, что сужает «женщину в красном пальто» до этой женщины, на этом вокзале, снятой этим движением камеры. Приёмы различаются лишь тем, какой дополнительный сигнал они подают и как.
Полезно назвать три вещи, которые мы хотим удержать, потому что ими управляет разная механика, и фиксы вы будете комбинировать:
- Согласованность персонажа – то же лицо, тело, волосы и гардероб в каждом кадре. Самое трудное из трёх, потому что к лицам человек чувствителен болезненно.
- Согласованность сцены – та же локация, освещение, реквизит и мир в целом. Кухня, сохраняющая планировку; логотип, не меняющий цвет.
- Согласованность камеры – объектив ведёт себя как настоящая камера: осознанный наезд тут, статичный штативный кадр там, вместо случайного дрейфа, который модель выдумала.
Четыре рычага
Каждый метод, чинящий согласованность, тянет за один из четырёх рычагов. Освойте четыре – и любой инструмент, открытый граф нод или кнопка в закрытом продукте, ляжет в уже понятный вам ящик.
Первый рычаг – референс-кондиционирование: дайте модели одно или несколько изображений (или короткий клип) ровно того персонажа, объекта или места, которое хотите, и пусть она скопирует личность в новую генерацию. Без обучения, мгновенно, многократно. Именно это в 2026 имеют в виду большинство продуктов, когда говорят «согласованные персонажи по референс-изображению».
Второй рычаг – дообучение (fine-tuning): берёте базовую модель и учите её новому конкретному субъекту на горстке примеров, получая маленький add-on-файл, который «знает» вашего персонажа. Медленнее и техничнее, чем референс-кондиционирование, но способно передать субъекта вернее и переиспользуется на тысячах генераций.
Третий рычаг – разделяемое внимание (attention sharing): когда вы генерируете пачку кадров или шотов вместе, дайте им «смотреть» друг на друга в процессе создания, чтобы они договорились об общей личности, а не каждый выдумывал свою. Без обучения, остроумно и лежит в основе нескольких опенсорсных раскадровочных инструментов.
Четвёртый рычаг – явное управление камерой: вместо надежды, что модель двинет объектив разумно, скормите ей точный путь камеры – наезд, облёт, кран – отдельным числовым входом. Именно это превращает «камеру странно повело» в «камера делает заданный мной проход».
Дальше урок разбирает рычаги по одному, а затем показывает, какая продакшен-модель 2026 даёт какой рычаг без всякой возни.
Рычаг 1 – Референс-кондиционирование: показывай, а не описывай
Это рычаг, к которому в 2026 тянутся первым, потому что он самый быстрый и его теперь выставляет наружу каждый крупный продукт.
Идея проста: слова – слабое описание лица, а картинка – сильное. Поэтому вместо описания персонажа текстом вы даёте модели реальное его изображение и говорите «сделай видео похожим на этого человека». Модель извлекает компактный числовой «отпечаток» референса – расстановку глаз, челюсть, волосы, пальто – и впрыскивает этот отпечаток в каждый генерируемый кадр. Текстовый промпт по-прежнему управляет тем, что происходит («идёт через вокзал»); референс управляет тем, с кем это происходит.
Как это устроено внутри: IP-Adapter
Метод, сделавший это практичным, называется IP-Adapter (Image Prompt Adapter), опубликован командой Tencent в августе 2023. До него заставить модель уважать референс означало переобучать модель целиком. Прозрение IP-Adapter – добавить маленький отдельный путь только для изображения.
Вот механика на пальцах. В диффузионной модели уже есть система, называемая cross-attention, которая позволяет текстовому промпту влиять на картинку – это будто модель, рисуя, постоянно «сверяется» со словами. IP-Adapter добавляет второй, параллельный канал сверки только под референс-изображение, так что модель сверяется со словами и с картинкой по отдельности и смешивает их. Авторы зовут это decoupled cross-attention («расцепленное» – потому что текстовый и графический каналы держатся врозь, а не свалены вместе). Выгода – в экономичности: весь адаптер это около 22 миллионов лишних чисел (по меркам моделей – крошечно), но он не уступает куда более тяжёлым методам, а обученный на базовой модели бесплатно переносится на её сообществные варианты.
Специально для лиц вариант IP-Adapter FaceID меняет общий «отпечаток изображения» на выделенный лицевой отпечаток – тот же вид identity-вектора, что использует система распознавания лиц, – который держит личность куда жёстче, чем универсальный эмбеддинг. Когда продукт 2026 предлагает тумблер «face lock» или «сохранить это лицо», под ним обычно работает адаптер лицевой личности этого семейства.
Два родственника, которые стоит знать: PhotoMaker и InstantID
Два смежных метода всплывают постоянно, так что разместим их сразу. PhotoMaker складывает несколько фото одного человека в единый «стек ID» и хорош в выдаче разнообразных естественных изображений этого человека. InstantID обходится одним фото и построен на очень жёсткое сохранение личности за один проход, без обучения под человека. Оба – методы референс-кондиционирования: тот же рычаг, разный компромисс между числом подаваемых фото и жёсткостью удержания личности. По именам вы их в 2026 выбираете редко; вы выбираете продукт, а одно из этих семейств работает внутри.
Чем платит референс-кондиционирование
Два честных ограничения. Первое: референс фиксирует личность, а не поведение – дайте фронтальный портрет и попросите поворот в три четверти, и модель вынуждена выдумать ту сторону лица, которой не видела, – вот где дрейф прокрадывается обратно. Подача референсов с нескольких ракурсов чинит большую часть этого. Второе: сила референса это регулятор – выкрутите вверх, и персонаж зафиксируется жёстко, но перестанет слушаться промпта; вниз – промпт победит, но лицо «расслабится». Поиск этого баланса под каждый кадр и есть настоящее ремесло работы по референсу.
Рычаг 2 – Дообучение: научи модель своему субъекту
Когда референс-изображения мало – когда персонаж нужен сотней способов с полной точностью – вы перестаёте показывать модели и начинаете её учить.
Дообучение – это взять предобученную базовую модель и продолжить её обучение на небольшом наборе изображений вашего конкретного субъекта, пока модель не усвоит его как нечто, что «знает». Выход – не видео, а маленький файл, который вы храните и переиспользуете. Важны три метода в порядке нарастания инвазивности.
Textual Inversion – самый лёгкий. Он вообще не меняет модель; он изобретает совершенно новое «слово» (кастомный токен) и учит числовое значение, заставляющее это слово вызывать ваш субъект. На выходе крошечный эмбеддинг – несколько килобайт, – и вы промптите новым словом. Дёшево, но ограниченно: способно ухватить «вид», но плохо помещает субъект в радикально новые контексты.
DreamBooth, опубликован исследователями Google в 2022, идёт глубже. Он дообучает сами веса модели на трёх-пяти изображениях субъекта, привязывая субъект к редкому слову-идентификатору, с хитрой страховкой (авторы зовут её «prior preservation»), чтобы модель не разучилась рисовать всё остальное. Результат сохраняет субъект куда вернее Textual Inversion и убедительно помещает его в новые сцены – плата это более тяжёлый файл и реальное время обучения.
LoRA (Low-Rank Adaptation) – формат, победивший в продакшене. Вспомните из урока про ускорение, что LoRA это маленькая стекируемая «заплатка» лишних весов – десятки мегабайт, – которую вы прицепляете к базовой модели, не переобучая её целиком. «Character LoRA» это ровно идея DreamBooth в стекируемом формате: вы обучаете её один раз на своём персонаже, храните маленький файл и применяете к любой совместимой генерации. Большинство пайплайнов «кастомный персонаж» в студиях – это LoRA-пайплайны, потому что файл маленький, сменный и переиспользуемый на тысячах шотов.
Вот эвристика выбора между Рычагом 1 и Рычагом 2. Нужен персонаж иногда и быстро – берите референс-кондиционирование, без обучения, мгновенно. Нужен персонаж постоянно, везде и при максимальной точности – постоянный ведущий шоу, маскот бренда в тысяче роликов – вложите часы и обучите LoRA один раз, переиспользуя вечно. Точка окупаемости примерно такая: больше нескольких десятков шотов одного субъекта обычно оправдывают LoRA.
Рычаг 3 – Разделяемое внимание: пусть кадры договорятся
Третий рычаг решает чуть иную задачу: не «совпади с одним референсом», а «заставь пачку изображений согласоваться друг с другом» – ровно то, что нужно раскадровке или многошотовой последовательности.
Приём идёт из метода 2024 года StoryDiffusion, представленного на конференции NeurIPS. Вспомните: модель «сверяется» сама с собой через внимание (attention). Идея StoryDiffusion – они зовут её Consistent Self-Attention – расширить эту сверку так, чтобы при генерации пачки кадров вместе каждый кадр мог смотреть и на остальные кадры пачки. Кадры по сути договариваются: они заимствуют черты лица и детали одежды друг у друга прямо в процессе генерации и сходятся к одному общему персонажу и одной общей обстановке, а не каждый выдумывает своё.
Привлекательны два свойства. Это без обучения – вы прицепляете его, ничему модель не уча, – и это подключаемо, так что оно стекается поверх метода референс-кондиционирования вроде PhotoMaker, давая и фиксированную личность, и согласие по всей пачке. Подвох в том, что кадры должны генерироваться вместе одной пачкой; вы не можете сделать шот один сегодня и совпадающий шот два через неделю этим же механизмом, потому что генерация следующей недели не может «посмотреть» на прошлую. Для этого вы откатываетесь к сохранённому референсу или обученной LoRA. Разделяемое внимание – рычаг под многими опенсорсными инструментами «согласованной раскадровки»; в закрытых продуктах оно обычно невидимо вплавлено в фичу «multi-shot».
Удерживаем сцену, а не только лицо
Всё вышесказанное относится и к сценам – но у сцен свой режим отказа, который стоит назвать, потому что команды зацикливаются на лицах и упускают дрейф мира.
«Сцена» это локация, освещение, реквизит и цвет вещей – планировка кухни, логотип бренда, время суток. Два наших рычага переносятся напрямую. Можно референс-кондиционировать место («эта комната») ровно так же, как лицо; Runway Gen-4, например, рекламирует согласованные локации и объекты, а не только персонажей. И можно обучить LoRA на объекте – продукте, логотипе, машине – чтобы он рендерился идентично по всей кампании. Пример с греческим бюстом в собственных материалах Runway по Gen-4 – это именно оно: один объект, верно вброшенный в склад, на патио и в комнату со светом костра.
Режим отказа, специфичный для сцен, – дрейф освещения и цвета. Личность хрупка к смене света: качните ключевой свет с тёплого на холодный между кадрами – и модель часто перегенерирует слегка иное лицо, потому что для неё «тёплый свет на этом лице» и «холодный свет на этом лице» – по-разному выглядящие вещи. Практическая защита – держать фиксированным то, что вы не меняете осознанно: то же описанное освещение, тот же фон, те же слова про гардероб, – чтобы у модели было меньше поводов уйти в сторону. Меняйте одну переменную на кадр, а не пять. Одна эта дисциплина убирает большую часть сюрпризов «а почему лицо изменилось?».
«Частая ошибка – промпт воюет с референсом. Самый частый баг согласованности это не ограничение модели; это противоречие. Команда фиксирует персонажа сильным референс-изображением, а затем пишет промпт, описывающий персонажа иначе («молодой человек», когда на референсе человек средних лет, или «в синем костюме», когда на референсе пальто). Референс и текст теперь тянут в разные стороны, и модель делит разницу пополам – в нечто, не совпадающее ни с чем, – после чего команда винит модель. Правило: промпт должен описывать действие и сцену, а личность пусть описывает референс. Не переописывайте словами то, что референс уже показывает. Когда личность «уплывает», сначала проверьте это противоречие, а потом уже трогайте любой другой регулятор.»
Рычаг 4 – Управление камерой: хватит надеяться, начни задавать
Последний рычаг команды открывают позже всех и жалеют, что не нашли его первым, потому что он чинит класс проблем, недоступный остальным трём: как движется объектив.
По умолчанию, когда вы просите у видеомодели «медленный наезд», она интерпретирует эту фразу визуально, и интерпретация «гуляет» – то наезд, то дрейф, то качание. Слова – такое же расплывчатое описание движения камеры, как и лица. Фикс тот же по духу, что Рычаг 1: хватит описывать, начни подавать. Скормите модели точный путь камеры числами.
Метод, задавший это, – CameraCtrl, опубликован в 2024 и принят на конференцию ICLR 2025. Его вклад – в том, как он представляет движение камеры, чтобы модель точно ему следовала. Вместо подачи сырых координат камеры – что делал ранний MotionCtrl и что давало модели лишь голые числа без пространственного смысла – CameraCtrl кодирует камеру в координатах Плюккера (Plücker coordinates) – способ описать для каждого пикселя точный луч света, входящий в объектив с этого направления. Это даёт модели плотную геометрическую картину позы камеры в каждом кадре, а не список чисел, – почему она и отрабатывает заданный наезд или облёт куда вернее. Продолжение, CameraCtrl II, расширяет это так, что можно сцеплять движения камеры и исследовать сцену через несколько клипов, пока мир остаётся когерентным, – управление камерой и согласованность сцены работают вместе.
Координаты Плюккера вы руками не реализуете. Для продуктового решения важен принцип: если движение камеры важно вашему продукту, предпочитайте модель или инструмент, принимающий явный путь камеры, тому, что берёт лишь текстовое описание движения. «Наезд», «облёт влево», «кран вверх», выбранные из контрола, а не набранные в промпте, – это разница между камерой, которая слушается, и камерой, которая импровизирует.
Что продакшен-модели 2026 дают бесплатно
Хорошая новость для всех, кто отгружает в этом году: рычаги вы теперь редко строите сами. Крупные закрытые модели выставляют согласованность кнопками, а механика выше спрятана внутри. Работа сместилась с «реализовать IP-Adapter» на «выбрать модель, чей встроенный рычаг подходит под вашу задачу».
Runway Gen-4 построен вокруг истории согласованности. Собственная формулировка Runway – «world consistency»: из одного референс-изображения и текстовой инструкции он генерирует согласованных персонажей, локации и объекты между сценами – явно без дообучения и доп-тренинга. Сопутствующие фичи уходят дальше в кино: Act-Two ведёт игру персонажа из управляющего видео, а продукт Characters превращает человека в переиспользуемый управляемый ассет. Если задача – многошотовый нарратив с фиксированным актёрским составом и декорацией, Gen-4 это дефолтная стартовая точка.
Sora 2 от OpenAI опирается на фичу cameos: вы загружаете короткий клип (около четырёх секунд) человека, и модель переиспользует эту внешность между генерациями, удерживая личность, одежду и даже микромимику между склейками. Референс это клип, а не кадр, что даёт модели больше ракурсов – Рычаг 1, накормленный богаче.
Google Veo 3.1 предлагает инструмент «ingredients to video»: вы даёте референс-изображения персонажа (и других элементов) как «ингредиенты», и модель сохраняет их внешность между сценами и промптами. Это референс-кондиционирование под дружелюбным именем, нацеленное на бренд- и персонаж-ориентированный контент.
Kling 3.0 бьёт прямо по многошотовой задаче: его multi-shot storyboard автоматически держит личность персонажа, освещение и непрерывность сцены через спланированную последовательность шотов, и обрабатывает несколько персонажей, взаимодействующих в одной сцене, сохраняя их личности различимыми, – разделяемое внимание и референс-кондиционирование, сплавленные в одну раскадровочную фичу.
Паттерн всех четырёх: рычаг, который в 2024 вы собрали бы руками, в 2026 стал фичей продукта. Ваши инженерные усилия поднимаются по стеку – к выбору правильной модели под кадр, подаче хороших референсов и оркестрации мультимодельных пайплайнов, – а не опускаются во внутренности диффузии.
| Задача | Первый рычаг | Фича модели 2026, к которой тянуться |
|---|---|---|
| То же лицо на пару шотов, быстро | Референс-кондиционирование | Runway Gen-4 ref, Veo 3.1 ingredients, Sora 2 cameo |
| Постоянный ведущий/маскот, тысячи шотов | Дообучение (character LoRA) | Open-weights-модель + обученная LoRA |
| Совпадающая раскадровка за один заход | Разделяемое внимание | Kling 3.0 multi-shot, StoryDiffusion (open) |
| Та же локация/объект по кампании | Референс или object LoRA | Runway Gen-4 locations/objects |
| Конкретное повторяемое движение камеры | Явное управление камерой | CameraCtrl (open), камера-контролы модели |
| Несколько персонажей, различимых | Референс + разделяемое внимание | Kling 3.0 multi-character |
Табл. 1. От задачи к рычагу и к фиче модели, доступной уже в этом году. Берите строку под ваш кадр; комбинируйте строки для сложных последовательностей.
Собираем рычаги вместе: продакшен-паттерн
Реальные пайплайны не выбирают один рычаг; они их наслаивают. Частый паттерн 2026 для многошотового куска выглядит так, и названный порядок помогает рассуждать о собственном.
Сначала зафиксируйте личность один раз: создайте или обучите персонажа как переиспользуемый ассет – сохранённый набор референсов для закрытой модели или обученную LoRA для открытой. Второе, зафиксируйте мир: референс-кондиционируйте локацию и ключевой реквизит, чтобы место не «уплывало». Третье, генерируйте шоты по одной переменной за раз: держите слова про освещение и гардероб постоянными, меняйте лишь то, что нужно кадру. Четвёртое, задавайте камеру под каждый шот явным движением, а не набранной фразой, везде, где инструмент позволяет. Пятое, батчите шоты, которые должны совпадать, чтобы разделяемое внимание сработало, и откатывайтесь к сохранённому ассету личности для шотов, сделанных позже. Итог – последовательность, которая держится вместе, потому что каждый слой убирает ещё одну причину для модели уйти в сторону.
Где здесь Фора Софт
Мы строим видеопродукты, где сгенерированный контент должен выжить при контакте с реальным брендом и реальной аудиторией, а согласованность – это место, где большинство генеративных фич тихо проваливаются. В OTT- и Internet-TV-работе сгенерированный ведущий или повторяющийся элемент B-roll должен выглядеть идентично через весь сериал, что толкает нас к обученным ассетам персонажа, а не к референсам под каждый шот. В e-learning постоянный ведущий на экране через десятки уроков – это фича удержания, а не косметика. В маркетинге и AR/VR-опыте объект бренда, рендерящийся идентично везде, – жёсткое требование, а не приятная мелочь. Через эти вертикали инженерная работа одной формы: выбрать рычаг под ассет, построить пайплайн референса или LoRA один раз и не дать промпту воевать с референсом.
Ключевые выводы
- Модели забывают между генерациями; текстовый промпт слишком расплывчат, чтобы прикрепить лицо.
- Чинят четыре рычага: референс, дообучение, разделяемое внимание, управление камерой.
- Референс-кондиционирование (семейство IP-Adapter) – быстрый дефолт 2026, без обучения.
- Обучайте LoRA, когда один персонаж повторяется на многих шотах с высокой точностью.
- Большинство багов дрейфа – это промпт, противоречащий референсу: описывайте действие, не личность.
- Подавайте явный путь камеры; никогда не набирайте движение и не надейтесь.