ComfyUI с нуля: первый рабочий воркфлоу за вечер
В ComfyUI меня долго пугал интерфейс: куча узлов, кабели как в советском музее радиоэлектроники, ничего не понятно. Я пересиживал на Automatic1111 и проигрывал в гибкости. В какой-то момент решил — сел и за вечер собрал первый рабочий воркфлоу. Расскажу, как это сделать, чтобы не убить день на чтение видео в YouTube.
Зачем ComfyUI вообще
ComfyUI — это node-based интерфейс для Stable Diffusion и Flux. Вместо «вкладок с настройками» у тебя граф из узлов: загрузить чекпоинт, кодировать промпт, запустить sampler, декодировать, сохранить. Каждый узел — простая функция, между ними — кабели для данных.
Звучит сложнее, чем Automatic1111, и поначалу так и есть. Но дальше начинаются преимущества:
- Любой воркфлоу — это файл (JSON). Можно сохранить, поделиться, версионировать.
- ControlNet, IP-Adapter, LoRA, Inpainting — всё подключается узлами без танцев с extension.
- Можно собрать конвейер: «генерация → upscale → face restore → save» в одном клике.
- Производительность выше: ComfyUI грузит и держит модели эффективнее, чем A1111.
Установка
На Windows и Linux есть официальный портативный билд. Скачиваешь zip, распаковываешь, запускаешь run_nvidia_gpu.bat (или .sh для линукса). Открывается на http://127.0.0.1:8188.
На Mac M-серии — клонируешь репу, ставишь зависимости с MPS-поддержкой:
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
python main.pyНа M3/M4 вообще нормально работает SDXL и Flux Schnell, на тяжёлый Flux Dev уже впритык.
Куда класть модели
В ComfyUI/models/ есть подпапки: checkpoints, vae, loras, controlnet, embeddings, upscale_models. Кладёшь туда .safetensors-файлы, перезагружаешь воркфлоу — они появляются в выпадушках узлов.
Если у тебя уже есть Automatic1111 с моделями, не дублируй файлы — пропиши пути в extra_model_paths.yaml в корне ComfyUI:
a111:
base_path: /path/to/automatic1111/
checkpoints: models/Stable-diffusion/
vae: models/VAE/
loras: models/Lora/Базовый воркфлоу
При первом запуске ComfyUI показывает дефолтный воркфлоу из 7 узлов. Это и есть «text-to-image на SDXL/SD1.5». Узлы:
- Load Checkpoint — грузит модель.
- CLIP Text Encode (Prompt) — кодирует положительный промпт.
- CLIP Text Encode (Negative) — кодирует отрицательный промпт.
- Empty Latent Image — задаёт размер картинки.
- KSampler — собственно генерация.
- VAE Decode — декодирует latent в RGB.
- Save Image — сохраняет в output/.
Жмёшь Queue Prompt — через несколько секунд появляется картинка. Это всё. С этим минимумом можно жить и постепенно усложнять.
Подключаем LoRA
Между Load Checkpoint и CLIP Text Encode добавляешь узел Load LoRA. Из Load Checkpoint у тебя кабели MODEL и CLIP идут дальше. Перенаправляешь их через Load LoRA, и LoRA модифицирует и MODEL, и CLIP. Дальше всё как было.
Можно цеплять несколько LoRA подряд — каждая в своём узле.
ControlNet
Добавляешь:
- Load ControlNet Model — выбираешь модель (canny, depth, openpose).
- ControlNet Preprocessor — берёт твою референсную картинку и превращает в карту (например, в openpose-скелет).
- Apply ControlNet — берёт positive и negative conditioning из CLIP-узлов и навешивает на них контроль.
Графически это выглядит как «через ControlNet прокинули conditioning перед KSampler».
Сохранение и переиспользование
Кнопка Save в правой панели — сохраняет JSON-файл воркфлоу. Можно положить в папку проекта, версионировать в git. Делать новые проекты — Load и далее правишь промпты.
В JSON есть приятный сюрприз: каждая картинка, сгенерированная в ComfyUI, содержит JSON воркфлоу в metadata PNG. Можно перетянуть chuy.png обратно в ComfyUI и получить ровно тот граф, которым она была сгенерирована. Версионирование «как было» бесплатно.
Что обязательно ставить
ComfyUI Manager — расширение, которое ставит другие расширения в один клик. Без него ты будешь вручную клонить репы и доустанавливать зависимости. С Manager — открыл, нашёл, нажал «Install», перезапустил.
ComfyUI-Custom-Scripts — мелкие удобства: автодополнение промптов, статус-бар, доп. меню по правому клику.
rgthree-comfy — лучшие узлы для управления переключателями, switch-узлы, image-comparer.
Подвохи
- Если воркфлоу не работает после обновления, в первую очередь проверь обновления узлов через Manager. Кастомные узлы часто отстают от ядра на день-два.
- Латентное пространство SDXL и SD1.5 разное. Не пытайся через Empty Latent Image от 1.5 запустить SDXL — будет мусор.
- VAE для Flux — отдельный, не путай с SDXL VAE.
Что в итоге
ComfyUI выглядит страшно первый час, потом становится понятным, потом не отпускает. Главное — не пытайся сразу собрать «идеальный» граф из 30 узлов. Возьми дефолтный, добавляй по одному узлу за раз, и через неделю у тебя будет своя библиотека воркфлоу под разные задачи. Потом удивишься, как раньше жил без него.