WAN 2.5 ComfyUI рабочий процесс: лучший граф узлов и настройки для стабильных результатов

WAN 2.5 ComfyUI рабочий процесс: лучший граф узлов и настройки для стабильных результатов

Привет, приятель! Я Дора. В тот день я шила короткие циклы продукта для демо, и моя обычная установка постоянно смещалась — рукава персонажей меняли форму, фон пульсировал, движение колебалось по краям. Не ужасно, просто отвлекает. Я хотела видеорабочий процесс, который вёл себя как твёрдая рука, а не как игра в угадайку.

Я потратила несколько вечеров в этом месяце (январь 2026) на то, чтобы заставить WAN 2.5 работать чистым образом в ComfyUI. Ничего показного. Я держала граф минималистичным, зафиксировала несколько параметров и тестировала разные способы сохранить стабильность движения без потери интересных деталей. Вот что сложилось, а что нет. Если вы ищете «WAN 2.5 ComfyUI», потому что вам нужно что-то работающее, а не впечатляющее, это именно та версия, которую я бы вам предложила за кофе.

Минимальный граф узлов

Сначала я пробовала несколько раскидистых графов. На холсте они выглядели мощными, а на практике казались хрупкими. Самая надёжная установка для WAN 2.5, по крайней мере на моей машине (RTX 4090, 24 ГБ VRAM), была скучной по замыслу.

Вот что я получила в итоге:

  • Загрузчик модели WAN 2.5 (официальные веса + конфиг: загружаются один раз при старте)
  • Кодировщик текста (один промпт, один отрицательный промпт)
  • Узел seed (один seed, не на кадр)
  • Семплер для видео (семплер WAN или совместимый видеосемплер в ComfyUI)
  • VAE (декодирование в конце: без переэнкодирования в середине графа)
  • Сохранение видео

Вот и всё. Никаких дополнительных апскейлеров, никаких адаптеров guidance, никаких веток денойза. Не потому что они плохие, а потому что я хотела увидеть, что делает WAN 2.5 без помощи. Преимущество было очевидным: меньше движущихся частей, меньше сюрпризов. Когда что-то мерцало, я знала, что это не внешний узел.

Если вы начинаете с нуля, я бы установила ComfyUI заново, добавила ComfyUI Manager для более удобного управления узлами, а затем добавила набор узлов WAN 2.5 из официального источника. После этого воздержитесь от желания украшать граф. Получите один клип в 3–4 секунды, отрендерившийся чисто с умеренным разрешением. Затем добавляйте сложность, если вам это всё ещё нужно.

Базовые настройки

Я тестировала несколько базовых значений и регулировала их вверх или вниз, пока клипы перестали колебаться.

Моя стабильная начальная точка:

  • Разрешение: 896×504 (16:9). Делится на 16, лёгко для VRAM, хороший результат для оценки движения.
  • Длительность: 48 кадров при 12 fps (~4 секунды). Достаточно долго, чтобы заметить дрейф, достаточно коротко, чтобы быстро проверить.
  • Steps: 28–32. Ниже 24 движение становилось размытым, выше ~36 не давало большого прироста.
  • CFG guidance: 4.0–6.0. Я в основном сидела на 5.0. Более высокие значения усиливали стиль, но повышали микромерцание.
  • Семплер: Euler или DPM++ 2M SDE (видеосовместимая версия). DPM++ казался немного стабильнее от кадра к кадру.
  • Denoise strength: 0.85–0.9 для text-to-video. При обусловливании изображением я снижала до 0.7–0.8.
  • Seed: фиксированный. Один и тот же seed для всего клипа.

На 4090 этот базовый набор отрендеривал ~4 секунды примерно за 2–3 минуты. На 4080 Super, который я одолжила на один день, это было ближе к 3–4 минутам. Когда я увеличила до 1024×576, время рендера поднялось на ~20–30%, а использование VRAM немного превысило 17 ГБ.

Маленькая заметка: если вы ищете более высокий fps для воспроизведения (скажем, 24), я обнаружила лучшие результаты, генерируя при 12 fps и интерполируя позже, чем пытаясь отрендерить прямо при 24. Семплеру было легче оставаться последовательным.


Стратегия консистентности

Сохранение консистентного вида — это в основном три рычага: seed, обусловливание и то, насколько агрессивно вы нажимаете на промпт.

Что сработало для меня:

  • Заблокируйте seed и не трогайте его. В одном прогоне я случайно включила построение seed для каждого кадра — мгновенный хаос с гардеробом.
  • Держите промпты короткими. WAN 2.5 выглядит счастливее с чёткими существительными и нежным намёком на стиль, чем с наложенными прилагательными. «Бумажная лодка на дождливой улице, мягкий свет, приглушённые цвета» работала лучше, чем целый абзац.
  • Используйте изображение-ссылку только если вам оно нужно. Обусловливание изображением помогало якорить дизайн персонажа (волосы, костюм), но иногда чрезмерно ограничивало движение. Когда я его использовала, я снижала denoise strength и CFG на ~0.5.
  • Отрицательные промпты могут успокоить мерцание: «жёсткое освещение, вспышки бликов, искажение линзы». Просто не забивайте туда всё, что вам не нравится: 3–6 элементов — достаточно.

Я также пробовала ветку IP-Adapter, чтобы зафиксировать позу по кадрам. Это помогло для сцен «натюрморт с небольшим движением» (пар, ряби), но для движения персонажа иногда защемляло жесты. Хороший инструмент, ситуативный результат.


Стабильность движения

Это была самая привередливая часть. Гладкое движение без превращения всего в желе.

Небольшие регулировки, которые имели значение:

  • Сдержанность guidance. Сохранение CFG близко к 5.0 снижало крошечные всплески освещения между кадрами.
  • Потолок count steps. Переход через ~36 шагов давал мне более резкие кадры, но больше микродрожаний во времени.
  • Выбор семплера. DPM++ 2M SDE был последовательно спокойнее при панах и медленных зумах: Euler казался более динамичным, но мерцал на высококонтрастных краях.
  • Глаголы в промптах. Слова вроде «shaky, handheld, chaotic» делают именно то, что говорят. Я их избегала, если только я не хотела этого эффекта.
  • Источники света. Жёсткие точечные светильники и зеркальные блики провоцировали мерцание. «Облачно» или «мягкое боковое освещение» держали поверхности стабильными.

Когда мне нужна была больше стабильность, я добавляла две вещи после рендера, а не внутри графа:

  • Проход лёгкого deflicker (deflicker DaVinci Resolve или FFmpeg фильтр) на низкую интенсивность.
  • Интерполяция кадров 12→24 fps с компенсацией движения. Она сглаживала воспринимаемое движение без запутывания модели во время генерации.

Один сюрприз: толчки камеры (медленный dolly-in) держались вместе лучше, чем боковые паны. Если левый паны справа постоянно разваливались на вывеске, я переформулировала промпт на «камера мягко движется вперёд» и получала более чистые результаты с похожим ощущением.


Пакетный рендер

Я не ожидала, что батчинг поможет, но он помог, в основном для принятия решений. Запуск 4–8 seeds подряд показывал, какие промпты имели реальный потенциал.

Что я использовала:

  • Простой узел «Seed (batch)», питающий один и тот же граф.
  • Длина очереди 4–6 заданий. Больше того, и я начинала нянчиться с термалом без особой причины.
  • Одинаковые базовые параметры по всему батчу: варьировался только seed.

Советы с нескольких ночей прогонов:

  • Держите длительность короткой в батчах (2–3 секунды). За секунду вы поймёте, перспективен ли seed.
  • Сохраняйте с информативными именами файлов: слаг промпта + seed + разрешение + fps. Я также добавляла seed в метаданные видео — будущее я спасибо скажет настоящему я.
  • Если VRAM скачет, уменьшите размер батча до 1, но сохраните список seed. Это всё ещё батч по духу.

Я пробовала батчить разные значения CFG в один прогон. Это сработало, но затемнило сравнение. Я получила более чистые результаты, изолировав одну переменную за батч.


Частые ошибки

Несколько повторяющихся преступников показались. Ничего драматичного, но они ели время, пока я их не записала.

  • CUDA out of memory. Обычно признак того, что я слегка сдвинула разрешение за порог. Исправления: снизьте ширину/высоту на 64 px, уменьшите steps на 4–6, или закройте всё, что грызёт VRAM (вкладки браузера считаются). Полу-точность (fp16) помогла.
  • Несоответствие модели/конфига. Если загрузчик WAN 2.5 и его конфиг не согласны, вы получите ошибки формы или dtype. Переустановка набора узлов и переselect точного конфига исправила это.
  • Не делящиеся на нужное число размеры. Видеодекодеры придирчивее. Я придерживаюсь кратных 16 для ширины и высоты.
  • Codec not supported. Узел Save Video иногда устанавливал по умолчанию кодек, который мой FFmpeg не любил. Я явно устанавливала H.264 с yuv420p, чтобы избежать зелёных кадров.
  • Сломанные промпты. Чрезмерно специфичные отрицания разрушали лица. Удаление «deformed, disfigured, ugly» (обычный шаблон) на самом деле улучшило стабильность в нескольких клипах.

Когда логи становились шумными, я проверяла две вещи в первую очередь: версию ComfyUI (обновитесь, если отстаёте на несколько недель), и драйвер NVIDIA. Две трети моей странности жили там. Если вы застряли, GitHub issues ComfyUI удивительно прямолинейны в отношении паттернов ошибок. Если вы предпочитаете сосредоточиться на промптах и движении вместо драйверов и ограничений VRAM, это одна из причин, по которой мы создали WaveSpeed. Мы предлагаем управляемый доступ к моделям вроде WAN 2.5 через стабильный API слой — так что вы можете генерировать без обслуживания локального стека.


Экспорт

Я перестала переусложнять экспорт, когда выбрала один чистый путь.

Что я использую для черновиков:

  • Кодек: H.264
  • Формат пикселей: yuv420p
  • FPS: совпадает с генерацией (обычно 12)
  • Битрейт: постоянный 8–12 Мбит/с для 896×504

Для редактирования я экспортирую сначала с потерями, затем апконвертирую только лучшие:

  • Интерполяция 12→24 fps в пост-прокессинге.
  • Если мне нужны файлы, дружественные к гололосу, я перерендерю финалы в ProRes 422 LT. Тяжелее, но намного лучше для цветовых проходов.

Две маленькие заметки, которые сэкономили мне перерендеры:

  • Цветовые сдвиги: некоторые плееры поднимают чёрные на yuv420p. Если это выглядит неправильно в VLC, но хорошо в Resolve, это плеер.
  • Аудио: узел Save Video его не добавляет. Если мне нужен временный саундтрек, я микширую с FFmpeg после.

Я также вставляю seed, steps, CFG и разрешение в имя файла и в сопутствующий JSON. Это скучная бухгалтерия, которая предотвращает будущую археологию.


Идея шаблона

Шаблон, который я сейчас держу, маленький и имеет три тумблера.

Скелет графа:

  • WAN 2.5 loader → text encode → fixed seed → video sampler → VAE decode → Save Video

Три опциональные ветки, которые я могу включать и выключать:

  • Обусловливание изображением-ссылкой. Когда я хочу стабильных персонажей. Идёт с автоматическим снижением denoise и CFG.
  • Расписание промптов. Нежный двухфазный промпт для клипов с простым ритмом (например, «начинается дождь» через секунду). Я держу переходы мягкими, чтобы избежать мерцания.
  • Список batch seed. Одно поле, где я вставляю 3–8 seed.

Встроенные значения по умолчанию:

  • 896×504 при 12 fps, 48 кадров, CFG 5.0, steps 30
  • H.264 экспорт с yuv420p, шаблон имени файла, который включает seed

Это противоположность показного, и в этом суть. Я хочу шаблон, который подталкивает меня к одним и тем же привычкам каждый раз: сначала короткие клипы, по одной переменной за раз, заметки по пути.

Кому это подходит: любому, кто ценит стабильность над сюрпризом, командам продуктов, делающим повторяемые кадры, одиночным создателям, которым нужен предсказуемый вид, и людям, которые находят большие графы более утомительными, чем расширяющими.

Кого это не устроит: если вы любите максимальные ползунки и хаотичные эмерджентные эффекты, вы отскочите от этого. И это нормально.

Почему это имеет значение для меня: WAN 2.5 в ComfyUI наконец-то казался уважающим моё внимание. Меньше кнопок, более ясные компромиссы и результаты, которым я могла доверять достаточно, чтобы на них опираться.

Я всё ещё любопытна, как WAN ведёт себя при более высоких разрешениях и более длинных последовательностях, но я не спешила. Тихая победа для меня была замечанием того, что небольшие изменения, более спокойный CFG, фиксированный seed, более мягкое освещение, сделали больше для стабильности, чем любой герой-узел. Я ожидала трюка. Оказалось, что это была система.