H3 Continuity Studio: консистентность сцен H3 при склейках
H3 Continuity Studio раскладывает кадры MiniMax H3 на таймлайн и передаёт в следующий клип визуальную память из пяти кадров, чтобы комнаты и наряды сохранялись при склейке.
Студия объединяет таймлайн, просмотрщик и инспектор клипов в одной панели поверх обычного рабочего процесса H3.
H3 генерирует примерно пять секунд за проход, поэтому всё более длинное представляет собой цепочку соединений. Большинство цепочек строят вручную: переиспользовать последний кадр, подать его обратно как первый кадр, надеяться, что цвет и компоновка сохранятся. Этот режим отказа хорошо известен на Banodoco: третье или четвёртое звено уходит в сторону, и исправление состоит в повторном рендере с более ранней точки.
Этот пакет переносит такую бухгалтерию на холст. Клипы располагаются на таймлайне со своими промптами, изображениями, слотами ссылок и настройками; редактор рендерит их по одному или последовательно, а соединение между любыми двумя клипами становится осознанным выбором, а не следствием того, как был подключён последний кадр.
Четыре вида соединений
Таймлайн различает четыре отношения между последовательными клипами:
- Продолжить передаёт контекст предыдущего клипа, чтобы новый подхватил действие с середины.
- Склейка запускает новую цель с новым промптом, и именно здесь обычно появляется дрейф.
- Новая сцена начинает новую сцену, сохраняя визуальную историю фильма, поэтому обстановку задаёт новый промпт.
- Мост рендерит короткий сгенерированный переход между двумя кадрами, не перерендеривая ни один из них.
Несколько дублей на клип сохраняются как кандидаты, а не перезаписываются, а повторный рендер клипа, который помнит более поздний клип, помечает зависимый клип как требующий рендера, с указанием причины во всплывающей подсказке.
Сгенерированный мост располагается между двумя клипами, поэтому ни один из кадров не нужно перерендеривать, чтобы скрыть стык.
Визуальная память: пять кадров, считываемых из исходного латента
Самое интересное происходит при склейке. Обычно H3 видит только новый промпт, поэтому комната, пальто или дом могут незаметно измениться. Визуальная память показывает H3 более ранние моменты фильма как нативную видеоссылку, записываемую в промпт как <Video N>.
Каждый запомненный момент представляет собой пятикадровое окно. Оно считывается из исходного видеолатента сохранённого клипа и передаётся модели диффузии на уровне латента, поэтому нет декодирования, повторного кодирования или пиксельного кругового рейса; декодированное представление видит только текстовый энкодер. Дополнительные модели, зависимости или патчи не требуются. H3 привязывает каждый момент к границе в 17 кадров перед чтением, поэтому окно может начинаться чуть раньше выбранной вами метки времени. При склейке каждый включённый режим также передаёт полный исходный латент предшествующего клипа, и именно он сохраняет компоновку и внешний вид объектов, пока следующий кадр начинается с новой цели.
Два выбранных момента в настройках одного клипа, каждый с указанием исходного клипа и времени.
Для каждого клипа доступны четыре режима:
| Режим | Что показывается более позднему клипу |
|---|---|
| Та же сцена | Устанавливающий вид сцены и средняя точка предшествующего клипа; на самой склейке кадры не передаются |
| Выбранные моменты | До трёх видов, выбранных вами из любого более раннего клипа, в том числе из других сцен, каждый с описанием того, что нужно сохранить |
| Состав | Каждый запланированный персонаж в его текущем виде, плюс место, когда таймлайн управляется Story bible |
| Выкл. | Без памяти, клип ведёт себя как обычная генерация H3 |
Выбранные моменты представляют собой ручной путь: выберите более ранний клип и время в его отрендеренном материале, опишите, что важно (red brick house, blue door, three upstairs windows), и сначала отрендерите исходный клип. Клип, источник которого отсутствует или устарел, останавливается с сообщением «сначала отрендерите источник» вместо того, чтобы сгенерировать что-то с едва заметной ошибкой.
Слева: комната, заданная первым клипом. Справа: более поздний клип с другого ракурса, отрендеренный с выбранными моментами из этого первого клипа.
Демо и что оно не доказывает
В репозитории есть examples/memory_demo.json: фильм из шести клипов с одним мостом: гостиная, склейка на наружный план, мост к виду с крыльца, склейка обратно внутрь с переиспользованием моментов из первого клипа, вид угла той же комнаты и продолжающийся кадр с чтением, память которого отключена, поскольку продолжение уже несёт предыдущий клип. Он отрендерен в 1024 x 576, 24 fps, с 39 перенесёнными кадрами, и для воспроизведения не требует загруженных референсов или учётных данных.
Конкурсная версия проекта: полный фильм плюс короткие пояснительные разделы, менее двух минут.
Автор прямо говорит об ограничениях. Регрессионные проверки охватывают переиспользование латентов, смещения по времени отрендеренного материала, воспоминания между склейками, инвалидацию источника и редактор, но рендерер не проходил визуальное тестирование по всем режимам памяти. Предлагаемый честный тест: отрендерить одни и те же сиды тремя способами (память выключена, автоматическая память сцены, вручную выбранный вид) и сравнить сохранение деталей, движение на стыках, время работы и VRAM. Пример демонстрирует сохранение деталей, а не гарантирует идентичную геометрию в разных конфигурациях.
Установка
Склонируйте репозиторий в ComfyUI/custom_nodes/ComfyUI-H3-Continuity-Studio и выполните pip install -r requirements.txt в том же окружении Python, что и ComfyUI, либо используйте python_embeded/python.exe из портативной сборки в Windows. Перезапустите, загрузите examples/h3_story_studio.json, затем укажите в загрузчиках моделей свою модель диффузии H3, текстовый энкодер, видео VAE, аудио VAE и необязательный LoRA: пример содержит имена файлов оригинального автора и ничего не скачивает.
Окна контекста MiniMax H3 требуют сборки ComfyUI, которая уже содержит основной узел MiniMax H3 Context Windows, а необязательному Story writer нужен отдельно настроенный OpenAI-совместимый эндпоинт, локальный или облачный, который получает текст истории и, если включено, референсные изображения. Для генерации по-прежнему нужны GPU и веса H3. Необязательный текст промпт-гайда MiniMax не входит в комплект; пакет работает без него и сообщает об отсутствующих гайдах.
Проект выпускает обновления очень быстро: пять тегов между 2 и 3 ноября, причём последний добавил панели Studio с изменяемым размером и масштабирование таймлайна, а более ранние принесли разделение по гайду, свободное соотношение сторон для настроенных рабочих процессов и сохранённые истории, которые сохраняют свои кадровые гайды.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.