ComfyUI
comfyui — node-based интерфейс для запуска диффузионных моделей
ComfyUI — это визуальный интерфейс для запуска моделей генерации изображений на основе графа узлов. Каждый шаг пайплайна (загрузка модели, кодирование промпта, сэмплирование, декодирование) — отдельный узел, который соединяется с другими стрелками. Через базовые и сторонние ноды в нём собирают пайплайны для изображений, видео, аудио и других моделей. Главная особенность ComfyUI — видимая структура вычислений и возможность повторить тот же workflow.
Коротко
Коротко. ComfyUI — редактор визуальных пайплайнов для генеративных моделей. Узлы отвечают за загрузку модели, подготовку условий, сэмплирование, декодирование и сохранение результата. Граф можно повторять, менять по частям и передавать как JSON-файл. ComfyUI распространяется с открытым исходным кодом и работает на основных настольных платформах.
Что это такое
Январь 2023-го. Разработчик под ником Comfyanonymous публикует на GitHub альтернативу Automatic1111 — без формы с десятком ползунков, без вкладок «txt2img / img2img», вообще без привычного UI. Вместо этого — пустой холст, на который перетаскиваешь узлы.
Сначала проект кажется неудобным: «зачем 8 узлов вместо одной кнопки?». Но через месяц становится понятно: в ComfyUI можно склеить ровно тот пайплайн, который нужен — с двумя ControlNet, с тремя LoRA на разные части, с автоматическим апскейлом, с inpainting через маску.
Позже вокруг проекта появилась организация Comfy Org и отдельное desktop-приложение. Условия кода, отдельных нод и моделей проверяются раздельно: одна лицензия интерфейса не распространяется автоматически на весь workflow.
Как это работает
ComfyUI — это Python-приложение с веб-интерфейсом. Запускается командой python main.py или через десктоп-приложение. После старта браузер открывает редактор:
- Холст (canvas) — белая или тёмная сетка с узлами.
- Узлы (nodes) — квадратные блоки с входами слева и выходами справа.
- Связи (links) — линии между выходом одного узла и входом другого.
Базовый пайплайн для SD 1.5 состоит из шести узлов:
Load Checkpoint → CLIP Text Encode (positive) ┐
→ CLIP Text Encode (negative) ├→ KSampler → VAE Decode → Save Image
→ Empty Latent Image ┘
Каждый узел получает входы, что-то делает, отдаёт выход. KSampler принимает 4 входа: модель, два промпта (положительный и отрицательный), пустой латент. Возвращает шумоподавленный латент, который потом VAE декодирует в картинку.
Каждый workflow сохраняется как JSON-файл, который можно встроить прямо в метаданные PNG. Поделился картинкой — получатель открыл её в ComfyUI и сразу видит, каким графом она была сделана.
Расширениями управляет встроенный ComfyUI Manager. В Desktop он уже включён; в portable- и manual-установках его может потребоваться включить штатным флагом. Manager работает с Registry, показывает источник пакета, помогает найти недостающие ноды и управляет установкой, обновлением или отключением расширений.
Пример на практике
Видеомонтажёр делает серию из 60 кадров: персонаж в фиксированной позе, разные эмоции, разные фоны. Задача требует трёх инструментов одновременно: LoRA на лицо персонажа, ControlNet OpenPose для позы, ControlNet Depth для глубины фона.
В Automatic1111 такая комбинация требует переключения между вкладками и ручной настройки. В ComfyUI он:
- Открывает шаблон «SDXL + 2 ControlNet + LoRA» (15 узлов).
- Подгружает свою LoRA (
character_v3.safetensors) и две референс-картинки. - Меняет промпт на «happy / sad / angry / surprised» для каждого кадра.
- Запускает batch через узел Queue — 60 кадров рендерятся за полтора часа.
Workflow сохраняется как character_pipeline_v3.json. На следующий день он открывает его, меняет LoRA на другого персонажа — и за пять минут готов новый пайплайн для следующей серии.
С чем часто путают
- ComfyUI и Stable Diffusion — ComfyUI это интерфейс, Stable Diffusion это модель. Без модели ComfyUI пустой. Без ComfyUI модель просто файл весов.
- ComfyUI и Automatic1111 — оба интерфейса для тех же моделей, но с разным подходом. A1111 — форма с полями, ComfyUI — граф узлов. A1111 быстрее в обучении, ComfyUI — мощнее для сложных задач.
- ComfyUI и Forge — Forge сохраняет интерфейс с формами и вкладками, а ComfyUI строит процесс как граф. Скорость и расход памяти зависят от модели, backend, расширений и конкретного workflow.
- ComfyUI и Custom Nodes — Custom Nodes — внешние пакеты дополнительных узлов. Встроенный Manager помогает ими управлять, но сами пакеты не становятся частью ядра ComfyUI.
Частые ошибки и заблуждения
- «ComfyUI сложнее A1111, поэтому хуже». У этих интерфейсов разная логика. Форма удобна для короткого сценария, а граф — для процесса, который нужно видеть целиком, повторять и менять по частям.
- «ComfyUI всегда быстрее A1111». Универсальной разницы нет: результат зависит от модели, точности, оптимизаций, custom nodes и того, какие этапы сравниваются.
- «Workflow можно открыть в A1111». Нельзя. ComfyUI-JSON — собственный формат с узлами и связями, у A1111 нет аналога.
- «Пакет в Manager автоматически безопасен». Нет. Custom Nodes выполняют Python-код на компьютере. Registry и Manager упрощают проверку происхождения и управление пакетами, но не заменяют оценку источника и разрешений.
- «ComfyUI только для картинок». Нет. Через подходящие ноды в граф можно подключать видео, аудио, текстовые модели и внешние сервисы. Поддержка зависит от конкретного пакета и его зависимостей.
Связанные термины
- Automatic1111 — главный конкурент с классическим UI и формой.
- ComfyUI с нуля — практический гид по первому workflow, KSampler, VAE и custom nodes.
- Forge — форк Automatic1111 с современным backend.
- Stable Diffusion / SDXL / FLUX — модели, для которых ComfyUI чаще всего используется.
- KSampler — главный узел сэмплирования в ComfyUI.
- ControlNet / LoRA / IP-Adapter — модули, которые ComfyUI поддерживает через отдельные узлы.
- ComfyUI Manager — встроенный менеджер пакетов для установки Custom Nodes.
Частые вопросы
Сколько занимает обучение ComfyUI с нуля? Первый базовый граф обычно удаётся собрать за один учебный сеанс. На сложные ветвления, ControlNet, LoRA и диагностику чужих workflow требуется больше времени; темп зависит от знакомства с генеративными моделями и нодовыми редакторами.
Какие требования к железу? Требования задаёт прежде всего модель и точность весов, а не интерфейс. Перед загрузкой полезно сверить размер checkpoint, поддерживаемые форматы, доступную RAM/VRAM и варианты offload или quantization для выбранного workflow.
Можно ли пользоваться без программирования? Да. ComfyUI — это редактор, не IDE. Узлы и соединения настраиваются мышкой. Программирование нужно только для написания собственных Custom Nodes, что нужно редко.
Где брать готовые workflow? В официальных примерах моделей, документации пакетов, репозиториях авторов и сообществах ComfyUI. Перед запуском чужого JSON полезно проверить происхождение custom nodes и используемых моделей.
ComfyUI Desktop или обычный? Desktop удобнее для новичков: установка одним кликом, авто-обновления, встроенный браузер ноутов. Обычный — для продвинутых: больше контроля над зависимостями, можно поставить рядом несколько версий.
Главное
ComfyUI подходит для локальных пайплайнов с несколькими LoRA, ControlNet, апскейлом и маскированием. Граф узлов требует времени на освоение, зато workflow сохраняется в JSON и легче воспроизводится в команде. Для одиночной простой генерации форма с готовыми полями может быть удобнее.