Как устроен ComfyUI

<!-- lesson: comfy-basics -->

Урок «comfy-basics» в группе Основы ComfyUI списка уроков. Шагов: 10.

Чему вы научитесь

Вы узнаете, что такое граф, очередь и папка models, и сами найдёте ноду, вывод и файл модели.

Что понадобится

  • Ноды: Load Image, Preview Image, Load Checkpoint.
  • Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.

Шаги

Слова каждого шага, как их показывает урок. Имена нод выделены.

  1. Две программы (чтение)

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

    Приложение никогда ничего не запускает. Оно читает, какие ноды и модели есть в вашем ComfyUI, помогает собрать граф, объясняет его и сохраняет файлом. Запускаете файл вы, в ComfyUI. Поэтому приложение не может сломать или замедлить ваш ComfyUI, и вы всегда видите, что будет выполнено.

    Этот урок в основном для чтения, с тремя короткими практиками на холсте.

  2. Граф из нод (чтение)

    В ComfyUI всё это граф: ноды, соединённые связями.

    • Нода делает одно дело: грузит модель, кодирует промпт, убирает шум, сохраняет картинку.
    • Её выходы справа, входы слева. Связь идёт от выхода ко входу и несёт результат дальше.
    • Цвет связи показывает, что она несёт: модель, промпт, картинку. Выход подключается только ко входу того же типа.
    • Поля на ноде это её настройки: число, текст, файл.

    Граф читается слева направо: загрузчики слева, результат справа. Сохранённый граф называют workflow, это файл .json.

  3. Практика: найдите ноду

    Найдите ноду Load Image и добавьте её на холст. Способов два: наберите имя в поиске библиотеки слева и дважды щёлкните по ноде или нажмите кнопку «Нода» на панели холста.

    Поиск понимает части имён и русские слова: «load image», «картинка».

    Её поле image выбирает картинку из папки input у ComfyUI. Здесь подойдёт любая.

  4. Практика: вывод

    Добавьте ноду Preview Image и протяните связь от выхода IMAGE ноды Load Image ко входу images.

    Это самый маленький граф, который выполняется: он загружает картинку и показывает её. Preview Image это нода вывода: она показывает результат. Без нод вывода ComfyUI нечего выполнять, и он не примет граф.

  5. Очередь: что выполняется и в каком порядке (чтение)

    В ComfyUI кнопка Run (Ctrl+Enter; в старых версиях Queue Prompt) ставит граф в очередь. ComfyUI проходит очередь граф за графом.

    • Выполняется только то, что ведёт к ноде вывода: Save Image, Preview Image, Save Video. Нода, чей результат никуда не идёт, пропускается.
    • Порядок задают связи, а не место на холсте: нода выполняется, когда готово всё, что ей нужно.
    • ComfyUI помнит результаты. Запустите тот же граф снова, и заново посчитается только то, что вы изменили; если ничего не менялось, запуск закончится сразу.
  6. Где появляются результаты (чтение)

    • Save Image и Save Video пишут файлы в папку output у ComfyUI (ComfyUI/output).
    • Preview Image только показывает картинку на ноде и держит её во временной папке.
    • Панель очереди в ComfyUI показывает каждый запуск с его картинками.
    • То, что вы загружаете, берётся из папки input.

    ComfyUI записывает весь workflow в каждую сохранённую картинку. Бросьте такую картинку на ComfyUI или откройте её в этом приложении, и получите граф, который её сделал.

  7. Папка models (чтение)

    Файлы моделей лежат в ComfyUI/models, по вложенной папке на вид:

    • checkpoints: целые модели вроде SD 1.5 и SDXL;
    • diffusion_models: только часть, которая рисует, у Flux, Wan, Qwen-Image и большинства новых семейств;
    • text_encoders: часть, которая читает промпт;
    • vae: часть, которая превращает результат в пиксели;
    • loras: небольшие добавки для стиля или персонажа;
    • controlnet, upscale_models, clip_vision и другие.

    Каждая нода-загрузчик показывает только свою папку. Файл в чужой папке не ошибка: его просто нет в списке. Библиотека слева показывает файлы по папкам.

  8. Практика: найдите файл модели

    Добавьте ноду Load Checkpoint и откройте её поле ckpt_name. В списке файлы папки checkpoints вашего ComfyUI. Выберите любой.

    Если список пуст, в вашем ComfyUI пока нет чекпойнта. Приложение ничего не скачивает: возьмите модель с её официальной страницы, положите файл в ComfyUI/models/checkpoints, обновите ComfyUI и выберите здесь «Синхронизация ▸ Синхронизировать сейчас».

  9. Паки нод (чтение)

    Пак нод (custom nodes) добавляет ноды, которых нет в ComfyUI: другие модели, инструменты, удобства. Это папка в ComfyUI/custom_nodes.

    Паки ставят через ComfyUI Manager, он встроен в нынешний ComfyUI: откройте менеджер, найдите пак по имени, нажмите Install, перезапустите ComfyUI. Когда workflow просит ноды, которых у вас нет, менеджер сам предлагает поставить недостающие паки. Потом выберите здесь «Синхронизация ▸ Синхронизировать сейчас».

    Пак запускает код своего автора на вашем компьютере. Ставьте паки, которыми пользуются многие. Старые форматы моделей (.ckpt, .pt, .pth, .bin) тоже могут выполнить код: предпочитайте .safetensors.

  10. Отсюда в ComfyUI (чтение)

Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение ничего в ComfyUI не запускает.

В ComfyUI перетащите сохранённый файл на холст или откройте через меню Workflow и нажмите Run. Результат появится на ноде вывода, а у нод сохранения ещё и в папке output.

Если ComfyUI покажет красную ошибку, она называет ноду, которая упала. Обычные сообщения (не хватило памяти, нет файла, нет ноды) объяснены в знаниях приложения.

Дальше: «Первая картинка из текста» собирает настоящий граф.

Что проверяет урок

Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:

  • Шаг 3, Практика: найдите ноду:
    • нода Load Image.
    • image ноды Load Image: значение выбрано.
  • Шаг 4, Практика: вывод:
    • нода Preview Image.
    • IMAGE ноды Load Image во вход images ноды Preview Image.
  • Шаг 8, Практика: найдите файл модели:
    • нода Load Checkpoint.
    • ckpt_name ноды Load Checkpoint: значение выбрано.

Что дальше

Этот урок продолжают: Как читать чужой workflow.

См. также

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

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