Латент

Сжатая картинка, с которой работает модель.

Простыми словами

Модели рисуют не в пикселях. Они работают с латентом (latent): сжатым видом картинки, намного меньше самой картинки. У SD 1.5, SDXL и Flux одна клетка латента отвечает за квадрат 8 на 8 пикселей, так что картинке 1024 на 1024 соответствует латент 128 на 128. Работа с малым размером и делает генерацию посильной для домашней видеокарты.

Латент это не маленькая картинка, на которую можно посмотреть. Это числа в нескольких каналах (4 у SD 1.5 и SDXL, 16 у SD3 и Flux.1, больше у некоторых новых моделей). Превратить его в пиксели может только VAE.

У видео латент сжат ещё и по времени, и видеомодели сжимают сильнее. Одна клетка латента держит 8 × 8 пикселей и 4 кадра у Wan 2.1 и Wan 2.2 14B, 16 × 16 пикселей и 4 кадра у Wan 2.2 5B и HunyuanVideo 1.5, 32 × 32 пикселя и 8 кадров у LTX. Первый кадр стоит отдельно, поэтому длина у Wan имеет вид 4n + 1, а у LTX 8n + 1.

В уроках пустой латент называется «заготовкой».

<!-- diagram: картинка 1024×1024 слева, стрелка «VAE Encode» к маленькой сетке чисел 128×128 в 4 слоя, стрелка «VAE Decode» обратно к картинке -->

Где встречается в графе

  • Ноды пустого латента начинают картинку из текста: Empty Latent Image (SD 1.5, SDXL; его же берёт шаблон Krea 2), EmptySD3LatentImage (SD3, Flux.1 и другие с 16 каналами), Empty Flux 2 Latent (Flux.2), EmptyHunyuanLatentVideo (Wan 14B), Wan22ImageToVideoLatent (Wan 2.2 5B), EmptyHunyuanVideo15Latent (HunyuanVideo 1.5), EmptyLTXVLatentVideo (LTX) и другие по семействам. Их поля width, height, batch_size (и length у видео) задают размер.
  • VAE Encode делает латент из картинки (картинка из картинки).
  • Сэмплеры берут латент во вход latent_image и отдают латент.
  • VAE Decode превращает итоговый латент в пиксели.
  • Инструменты латента: Upscale Latent, Set Latent Noise Mask, ноды пачек латентов.

Значения и что они меняют

width и height задаются в пикселях, хотя нода делает латент. Они должны делиться на 8 (большинство семейств лучше работает с кратными 16 или 64). Размер сильнее всего влияет на время и память: вдвое больше ширина и высота значат вчетверо больше работы. См. Размер и пропорции.

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

  • Передать латент между семействами: латент SDXL ничего не значит для Flux. Идите через картинку: раскройте одним VAE, сожмите другим.
  • Раскрыть не тем VAE: не те цвета, шум или ошибка.
  • Латент для картинки в видеографе: видеосэмплерам нужен латент с длиной.
  • Пустой латент другого семейства: нынешний ComfyUI сам подгоняет число каналов у совсем пустого латента под модель, поэтому обычный Empty Latent Image с Flux часто тоже работает. Но ради правил размера и для видео берите ту ноду пустого латента, что стоит в официальном шаблоне семейства.

Как помогает приложение

Описание ноды пустого латента говорит, для какого семейства она. В Свойствах у полей width и height нод Empty Latent Image, EmptySD3LatentImage и Empty Flux 2 Latent есть кнопка Что делает это поле: она открывает под полем встроенную заметку с подходящими размерами. Проверка предупреждает, когда в одном пути встречаются модели разных семейств.

См. также

Страница перенесена из wiki репозитория приложения (docs/wiki/concepts/Latent.ru.md, ревизия b8e3f71). То же руководство встроено в приложение: «Справка ▸ Руководство».

Чтобы обновить её, выполните npm run import, а затем npm run build в папке сайта.