ComfyUI для начинающих: установка, настройка и первая генерация в 2026
Гайд по установке ComfyUI на Windows, Linux и в Docker. Разбор default workflow по нодам, требования к VRAM, типичные ошибки и запуск в облаке на RTX 5090.
Команда GPUGO
Редакция
TL;DR: ComfyUI — node-based интерфейс для Stable Diffusion, Flux и видеомоделей. Базовый workflow на SD 1.5 запускается на 6 ГБ VRAM, SDXL комфортно идёт от 12 ГБ, Flux в FP8 — от 16 ГБ, в FP16 хочет 24+ ГБ. Установка: 15 минут на Windows через portable-сборку, ~30 минут на Linux из исходников. Первая генерация — через 5 минут после установки, если модель уже скачана. В статье — установка на трёх платформах, разбор default workflow по нодам, где ломается чаще всего и как запустить ComfyUI в облаке на RTX 5090, если локального железа не хватает.
Зачем ComfyUI, если есть A1111 и Forge
Automatic1111 и его форки (Forge, reForge) хороши, пока задачи типовые: один промпт, один чекпойнт, одна LoRA, базовый img2img. Как только нужен условный пайплайн — например, «сгенерировать, прогнать через ControlNet depth, смешать с результатом ControlNet canny, апскейлнуть через SUPIR, пройти ещё раз face detailer'ом» — начинается боль. A1111 построен вокруг формы с кнопкой «Generate». ComfyUI построен вокруг графа нод, где каждая стадия — это узел, и вы собираете пайплайн как хотите.
Практические различия, которые вы заметите в первый день:
- Workflow сохраняется в PNG. Генерация картинки = экспорт полного графа вместе с параметрами. Получили картинку от кого-то — перетащили в окно — получили workflow автора.
- Всё запускается инкрементально. Поменяли только seed — перезапустится только KSampler. Поменяли промпт — перезапустятся энкодеры и всё, что после. Моделька и VAE не перезагружаются.
- Custom nodes — первый класс. В A1111 сторонние расширения — надстройка. В ComfyUI — основа экосистемы. Impact Pack, IPAdapter, ControlNet-aux, rgthree — без них вы не живёте.
- Кривая обучения круче. В A1111 вы нажимаете Generate. В ComfyUI вы сначала разбираетесь, что такое CLIP, VAE, latent space, почему у sampler'а есть scheduler, и как это всё связано. Для кого-то это плюс (понимаете, что происходит), для кого-то минус.
ComfyUI хорош всем, кроме двух вещей: ComfyUI и UI.
Если ваш сценарий — продуктовый пайплайн с кастомной логикой, коммерческий генеративный продакшн, работа с видеомоделями (Hunyuan Video, Wan, LTX), или просто нужен программный API — ComfyUI практически безальтернативен. Если задача — «сгенерировать аватарку на выходных» — A1111 или Forge проще.
Требования к железу: что влезает и на чём
Коротко — VRAM решает всё. CPU и RAM имеют значение, но в пределах разумного. Диск нужен быстрый и большой: модели занимают от 2 до 40 ГБ каждая.
Эти цифры — с учётом того, что ComfyUI умеет offload'ить неиспользуемые компоненты в RAM между шагами. На дефолтных настройках Flux.1 dev FP16 реально идёт на 16 ГБ VRAM — просто с заметными freeze-паузами на загрузку/выгрузку. Чтобы было «плавно», держите запас 30–50%.
Системные требования вокруг GPU:
- RAM: 16 ГБ — минимум, 32 ГБ — комфортно, 64 ГБ — если работаете с видео или держите несколько моделей в памяти параллельно.
- CPU: любой современный x86_64, от Ryzen 5 / Core i5 последних поколений. ComfyUI не CPU-bound.
- Диск: NVMe SSD, желательно от 500 ГБ свободного места. За пару месяцев модели, LoRA и workflows легко съедают 300–400 ГБ.
- ОС: Windows 10/11, Linux (Ubuntu 22.04+), macOS (Apple Silicon работает через MPS, но медленнее и с ограничениями).
Если локальной карты нет или 12 ГБ VRAM уже упираются в потолок, ComfyUI отлично запускается в облаке — про это ближе к концу статьи.
Установка ComfyUI
Windows: portable-сборка
Самый быстрый способ. Скачиваете zip, распаковываете, запускаете — ComfyUI внутри идёт со своим embedded Python и всеми зависимостями.
- Идём на github.com/comfyanonymous/ComfyUI → Releases
- Скачиваем
ComfyUI_windows_portable_nvidia.7z(актуальную версию на момент установки) - Распаковываем в папку без пробелов и кириллицы в пути. Серьёзно, не игнорируйте — на кириллическом пути некоторые custom nodes падают на path parsing.
- Запускаем
run_nvidia_gpu.bat(для NVIDIA) илиrun_cpu.bat(если мазохист) - По адресу
http://127.0.0.1:8188открывается веб-интерфейс
Если видеокарта не определилась:
# Проверить, что CUDA виден из Python
.\python_embeded\python.exe -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"
Если вернулось False — драйвер старый, либо версия PyTorch в portable сборке не совпадает с CUDA. Обновите драйвер NVIDIA до 560+ и скачайте свежий portable.
Linux: из исходников
На Linux portable нет, ставим через git. Предполагаем Ubuntu 22.04 с установленным драйвером NVIDIA 560+, CUDA 12.4+.
# Python 3.10 или 3.11, 3.12 пока работает, но часть custom nodes ещё не готова
sudo apt install python3.11 python3.11-venv git
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3.11 -m venv venv
source venv/bin/activate
# PyTorch под вашу CUDA, сверьтесь с pytorch.org
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
python main.py
По дефолту ComfyUI слушает только localhost. Если нужен доступ по сети — флаг --listen:
python main.py --listen 0.0.0.0 --port 8188
Не делайте этого, если сервер в публичной сети — API ComfyUI не имеет встроенной авторизации. Прокиньте через nginx с basic auth или закройте firewall'ом.
Docker: если надо изолировать
Официального Docker-образа нет (странно, но так), но community-образов хватает. Самый живой — yanwk/comfyui-boot.
docker run -it --rm --gpus all \
-p 8188:8188 \
-v "$(pwd)/storage":/root \
yanwk/comfyui-boot:cu124
Плюсы Docker — чистое окружение, легко сносить и пересобирать. Минусы — custom nodes с нативными зависимостями (например, некоторые ноды с C++-биндингами) могут требовать пересборки образа. Если планируете много экспериментов с custom nodes, удобнее нативная установка.
ComfyUI-Manager: ставим сразу
Без ComfyUI-Manager работа с ComfyUI выглядит как установка пакетов в Python без pip. Формально — можно, практически — не нужно.
В свежих версиях ComfyUI (с осени 2025) Manager поставляется в составе "desktop edition" и ставится одной кнопкой в обычной версии. Если его нет:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
# Перезапускаем ComfyUI
После перезапуска справа появится кнопка Manager. Через неё:
- Устанавливаются custom nodes (из curated-списка или по URL)
- Обновляются все установленные ноды (Update All)
- Скачиваются модели из HuggingFace / Civitai по прямым ссылкам (Model Manager)
- Ищутся недостающие ноды для workflow'а, который вы перетащили (Install Missing Custom Nodes)
Последний пункт — один из главных use-case. Скачали чей-то workflow, загрузили в ComfyUI, часть нод красная — жмёте Install Missing, Manager сам находит и ставит. Экономит часы.
Первый запуск и разбор default workflow
После запуска ComfyUI покажет пустой граф (или дефолтный workflow, зависит от версии). Если пустой — жмём Load Default в правом меню.
Дефолтный workflow для SD 1.5 содержит шесть нод, соединённых в цепочку: Load Checkpoint → CLIP Text Encode (×2, позитивный и негативный промпт) и Empty Latent Image → KSampler → VAE Decode → Save Image.
По нодам:
Load Checkpoint — грузит основной чекпойнт (модель). Выдаёт три выхода: MODEL (сама U-Net для денойзинга), CLIP (текстовый энкодер), VAE (декодер из latent в pixel space). В SD 1.5 и SDXL чекпойнт обычно включает все три. В Flux — три отдельных файла, и там другая схема загрузки.
CLIP Text Encode — превращает текст промпта в эмбеддинги. Нужны две ноды: позитивный промпт (что хотим) и негативный (что не хотим). В Flux негативный не используется — модель distilled.
Empty Latent Image — создаёт пустой latent тензор нужного разрешения. Для SD 1.5 — 512×512, для SDXL — 1024×1024. Latent работает в уменьшенном разрешении (×8 меньше по каждой оси), реальное изображение получается после VAE Decode.
KSampler — главная нода, делает итеративный денойзинг. Параметры:
seed— контролирует начальный шум. Один seed + одни параметры = один результат.steps— сколько итераций денойзинга. SD 1.5: 20–30. SDXL: 25–35. Flux: 20–28.cfg— classifier-free guidance scale. SD: 5–8, Flux: 1.0 (он не уважает cfg как обычные модели).sampler_name— алгоритм.dpmpp_2mиeuler— безопасный дефолт.scheduler— как меняется noise level.karras— часто лучше качество при мало шагах.simple— дефолт Flux.denoise— сколько исходного шума оставить. 1.0 = полная генерация с нуля, 0.5 = img2img с 50% силой.
VAE Decode — превращает latent обратно в пиксели.
Save Image — сохраняет результат в output/ с метаданными workflow в PNG.
Жмём Queue Prompt — через 10–30 секунд (зависит от карты и модели) внизу появится сгенерированная картинка.
Где брать модели
Сам ComfyUI моделей не содержит. Основные источники:
- Civitai — главный хаб для SD-комьюнити. Чекпойнты, LoRA, embeddings, примеры с параметрами. Часто модели NSFW-склонны, фильтры в настройках обязательны, если вы не за этим.
- HuggingFace — «официальные» релизы: Stable Diffusion от Stability AI, Flux от Black Forest Labs, видеомодели. Для скачивания Flux.1 dev нужен аккаунт и согласие с лицензией.
Куда класть файлы:
ComfyUI/models/
├── checkpoints/ # Основные модели .safetensors
├── loras/ # LoRA
├── vae/ # VAE, если отдельно (для Flux — clip_l, t5xxl)
├── clip/ # Текстовые энкодеры (Flux)
├── unet/ # U-Net отдельно (Flux, GGUF)
├── controlnet/ # ControlNet-модели
├── upscale_models/ # RealESRGAN, SUPIR
└── embeddings/ # Textual inversion
После добавления файлов — либо перезапуск ComfyUI, либо Refresh в Manager.
Лицензионный момент. Flux.1 dev — non-commercial. Flux.1 schnell — Apache 2.0, можно в коммерции. SDXL — CreativeML OpenRAIL (коммерция ок с оговорками). Чекпойнты с Civitai — читайте лицензию каждого, там зоопарк от «делай что хочешь» до «нельзя без указания автора».
Первая генерация: что крутить, чтобы получилось
Кладём SDXL base (например, sd_xl_base_1.0.safetensors, ~6.5 ГБ) в models/checkpoints/, перезапускаем ComfyUI.
Workflow (можно собрать с нуля или загрузить дефолтный и поменять):
- Load Checkpoint — выбираем SDXL
- Empty Latent Image — размер 1024×1024
- CLIP Text Encode (Positive):
a photo of a red sports car on a mountain road, sunset, cinematic lighting, detailed - CLIP Text Encode (Negative):
low quality, blurry, distorted, watermark, text - KSampler: seed — любой, steps 28, cfg 6.5, sampler
dpmpp_2m, schedulerkarras, denoise 1.0 - VAE Decode → Save Image
Queue Prompt. На RTX 4090 генерация занимает 8–12 секунд, на RTX 5090 — 5–8, на RTX 3060 12GB — 25–35.
Что крутить, если не нравится результат:
- Композиция не та — переписывайте промпт (другой порядок слов, больше конкретики в начале) или меняйте seed
- Картинка «пластиковая», слишком AI-looking — пониже cfg (4–5), другой sampler (
euler_a,dpmpp_2m_sde) - Артефакты, «размазанность» — больше steps, но больше 35 для SDXL обычно не помогает
- Ничего не помогает — базовая SDXL сама по себе слабая, возьмите finetuned-чекпойнт с Civitai (Juggernaut XL, RealVisXL, Animagine — под разные задачи)
Где всё ломается: топ-5 типичных проблем
1. OOM (CUDA out of memory)
Первое, с чем сталкивается каждый. Лечение по приоритету:
# Запуск с --lowvram или --novram
python main.py --lowvram
# или жёстче
python main.py --novram
Эти флаги заставляют ComfyUI агрессивнее offload'ить модели в CPU RAM. Скорость падает в 2–4 раза, но запускается на меньшей VRAM.
Если OOM на конкретном воркфлоу — проверьте:
- Разрешение (SDXL плохо переносит более 1024×1024 без latent tiling)
- Количество ControlNet (каждый съедает 2–4 ГБ)
- Batch size в Empty Latent (1 — безопасно, 4 на SDXL уже требует 16+ ГБ VRAM)
Для Flux FP16 на 24 ГБ карте: включите --fast, используйте FP8 версию clip/t5 — 2 ГБ экономии на пустом месте.
2. Чёрное изображение на выходе
Классика. Причины по частоте:
- VAE не тот. Если загрузили модель без встроенного VAE (некоторые чекпойнты с Civitai так выходят) и не подключили внешний — получите чёрный квадрат. Решение: отдельная нода
Load VAEсsdxl_vae.safetensorsилиsd_vae_ft_mse.safetensorsдля SD 1.5. - NaN в latent'ах. На старых RTX 20-серии бывает с SDXL в FP16. Запуск с
--force-fp32— медленнее, но работает. Или--force-fp16+ используйте fp16-fix VAE. - Несовместимые модели. LoRA от SD 1.5 на SDXL = чёрный квадрат или мусор.
3. Generation работает, но медленно
Проверяем в консоли, действительно ли на GPU. После первого Queue Prompt ComfyUI печатает что-то типа:
Using xformers cross attention
Model loaded in 3.2 seconds.
100%|██████████| 28/28 [00:07<00:00, 3.89it/s]
Если it/s подозрительно низкий (для SDXL на RTX 4090 — ожидаем 3–5 it/s, на 3060 — 1.2–1.8 it/s), возможно:
- Включился
--cpuрежим или ComfyUI не увидел GPU - Модель в FP32 вместо FP16 — флаг
--force-fp16 - На Windows — не стоит xformers, sage-attention или Flash Attention. На RTX 30/40/50 — ставьте sage-attention, это даст 20–40% ускорения.
4. Custom nodes конфликтуют между собой
Частая история, когда несколько пакетов нод требуют разные версии одной библиотеки. Типичный симптом: после установки нового пака часть старых нод падает с ModuleNotFoundError или AttributeError.
Лечение:
# Смотрим, что рассыпалось
python main.py
# В логах видим conflict, например "opencv-python-headless required 4.7.0, installed 4.9.0"
# Ставим проблемные ноды в порядке приоритета и пересобираем зависимости под каждую
В общем случае: не ставьте 50 паков нод сразу. Ставьте по мере необходимости. Если совсем поломалось — удалить custom_nodes/имя_пака, перезапустить, переставить.
5. Workflow от кого-то не запускается
Перетащили PNG — часть нод красная, часть нод в неправильной форме. Через Manager → Install Missing Custom Nodes → ставим недостающие → перезапуск. В 80% случаев работает. В 20% оригинальный автор workflow'а использовал ноду, которая удалена из репозитория или переименована — придётся искать замену руками.
Апгрейд базового workflow: LoRA, ControlNet, IPAdapter
Когда базовый пайплайн освоен — добавляем продвинутые компоненты. Коротко, без глубокого разбора (это тема отдельных статей).
LoRA — маленькие (50–300 МБ) дообученные веса, добавляют стиль, персонажа, концепт. Нода Load LoRA встаёт между Checkpoint и KSampler, модифицирует MODEL и CLIP. Можно стакать несколько LoRA последовательно с разными strength.
ControlNet — условное управление композицией. Берёте reference-картинку, прогоняете через препроцессор (depth, canny, openpose), получаете control signal, подмешиваете в KSampler через ноду Apply ControlNet. Можно стакать до 3–4 ControlNet разных типов.
IPAdapter — похоже на ControlNet, но контроль по визуальному стилю/содержанию. Скармливаете референс-картинку, модель «заимствует» её стиль или композицию. Полезно для маскот-персонажей, копирования художественного стиля.
Upscaler — после генерации прогоняем через Upscale Image (using Model) с RealESRGAN / UltraSharp / 4xFoolhardyRemacri. Затем можно второй проход через VAE Encode → KSampler (low denoise 0.3) → VAE Decode для добавления деталей.
Типичный продвинутый пайплайн: Checkpoint + 2 LoRA + ControlNet depth + IPAdapter style + base gen → upscale ×2 → refine pass → face detailer → save. Выглядит устрашающе, но собирается за 20 минут, если знаешь, что куда подключать.
ComfyUI в облаке на RTX 5090
Если локально 12 ГБ VRAM, а надо Flux FP16 или пайплайн с тремя ControlNet — проще арендовать GPU в облаке на час-другой, чем апгрейдить железо.
У нас RTX 5090 в облаке от 250 ₽/час с поминутным биллингом — на типовую ComfyUI-сессию (часа 2–3 экспериментов с Flux) выходит дешевле, чем подписка на Colab Pro+, и без 12-часовых лимитов сессии. Установка на инстансе — те же 5 минут:
# На арендованной машине, стартуем из /workspace
cd /workspace
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3 -m venv venv && source venv/bin/activate
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
# Manager
git clone https://github.com/ltdrdata/ComfyUI-Manager.git custom_nodes/ComfyUI-Manager
# Запуск с внешним доступом
python main.py --listen 0.0.0.0 --port 8188
Открываем доступ по выданному public IP, у нас через SSH-туннель (ssh -L 8188:localhost:8188 user@instance) — и работаем как на локальной машине.
На RTX 5090 с 32 ГБ VRAM:
- Flux.1 dev FP16 идёт без offload'а, ~4–6 секунд на 1024×1024 (28 steps)
- SDXL + 3 ControlNet + upscale ×2 — полный пайплайн за 15–20 секунд
- Hunyuan Video 720p 5 секунд — ~3–4 минуты
Поминутный биллинг удобен под генеративные сессии: подняли инстанс, прогнали 200 генераций, выключили. Не платить за простой, как на месячной аренде.
Типовые сценарии, под которые арендуют 5090 у нас — генерация product-фото для маркетплейсов, обучение LoRA на датасетах заказчика, рендер пайплайнов с тяжёлыми ControlNet-стеками. Подробнее про GPU для генеративного AI — на странице решений.
Частые вопросы
Можно ли запустить ComfyUI на AMD-карте или Intel Arc?
Технически да, но больно. Для AMD под Linux работает через ROCm — ставите PyTorch-ROCm, запускаете, большинство базовых пайплайнов идут. Под Windows — через DirectML, но медленнее и часть custom nodes ломается. Intel Arc — через IPEX, работает, но экосистема нод вокруг NVIDIA. Если серьёзно работаете — NVIDIA или облако с NVIDIA. Всё остальное — для экспериментов.
ComfyUI vs Automatic1111 vs Forge — что выбрать новичку?
Если вам нужно «сгенерировать несколько картинок и пойти дальше» — Forge (быстрее A1111, проще ComfyUI). Если делаете коммерческий пайплайн или работаете в команде — ComfyUI. Если вы разработчик и нужен API — ComfyUI (у него лучший API из трёх). A1111 сейчас проигрывает Forge на тех же задачах, переходить на новый A1111 смысла мало.
Зачем нужен VAE, если он уже в чекпойнте?
Встроенный VAE в чекпойнтах иногда кривой (особенно в community-чекпойнтах SDXL — авторы часто забывают обновлять VAE). Внешний VAE даёт стабильное качество декодинга latent → pixel, без артефактов вроде «watery eyes» или цветовых сдвигов. Для SD 1.5 — vae-ft-mse-840000, для SDXL — sdxl_vae FP16-fix.
Что такое FP8 и когда он полезен?
FP8 — 8-битная floating-point квантизация. Для inference на Ada (RTX 40) и Blackwell (RTX 50) архитектурах — 1.5–2× ускорение против FP16 без заметной потери качества. Для Flux.1 особенно важно — FP8 версия весит ~12 ГБ и влезает в 16 ГБ VRAM, FP16 требует 24 ГБ. На RTX 3090/3080 FP8 не даёт выигрыша (нет аппаратной поддержки), только экономия памяти.
Почему Flux игнорирует negative prompt и низкий CFG?
Flux.1 dev — distilled модель. При дистилляции CFG «впекли» в модель через guidance distillation, и классический classifier-free guidance больше не применим. CFG=1.0 отключает его, негативный промпт игнорируется. Есть Flux Negative Prompt через отдельные ноды (Dynamic Thresholding, CFG++), но это хак, не всегда работает стабильно.
Сколько места занимает ComfyUI после полугода активного использования?
По нашему опыту — 200–500 ГБ. Чекпойнты (10–15 штук по 6 ГБ SDXL + 2–3 Flux по 12–23 ГБ) — легко 150–250 ГБ. LoRA (50–200 штук) — 30–80 ГБ. Upscale-модели, ControlNet, embeddings — 20–40 ГБ. Папка output с результатами — 20–200 ГБ, если не чистить. Планируйте минимум 500 ГБ свободного NVMe, лучше 1 ТБ.
Можно ли использовать ComfyUI через API, без UI?
Да, и это одна из сильных сторон. Любой workflow сохраняется как JSON, который подаётся в POST /prompt endpoint. Есть готовые Python-клиенты: ComfyUI-to-Python-Extension конвертирует workflow в .py-скрипт. Полезно для интеграции в прод-пайплайны, где генерация — часть бэкенда.