В каталог GPU
К блогу
25 апреля 2026 г.16 мин чтения

ComfyUI для начинающих: установка, настройка и первая генерация в 2026

Гайд по установке ComfyUI на Windows, Linux и в Docker. Разбор default workflow по нодам, требования к VRAM, типичные ошибки и запуск в облаке на RTX 5090.

Команда GPUGO

Редакция

ComfyUIStable DiffusionFluxгенеративный AIгайд

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 ГБ каждая.

Матрица: что влезает в VRAM. 7 моделей × 6 объёмов VRAM, цвет дублирован символом ✓ / ~ / ✗.

Эти цифры — с учётом того, что 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 и всеми зависимостями.

  1. Идём на github.com/comfyanonymous/ComfyUI → Releases
  2. Скачиваем ComfyUI_windows_portable_nvidia.7z (актуальную версию на момент установки)
  3. Распаковываем в папку без пробелов и кириллицы в пути. Серьёзно, не игнорируйте — на кириллическом пути некоторые custom nodes падают на path parsing.
  4. Запускаем run_nvidia_gpu.bat (для NVIDIA) или run_cpu.bat (если мазохист)
  5. По адресу 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 CheckpointCLIP Text Encode (×2, позитивный и негативный промпт) и Empty Latent ImageKSamplerVAE DecodeSave Image.

Граф нод default workflow ComfyUI: 7 нод, 9 связей, поток данных слева направо.

По нодам:

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% силой.

Cheat sheet с параметрами KSampler для SD 1.5, SDXL, Flux.1 dev/schnell и img2img-режима.

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 (можно собрать с нуля или загрузить дефолтный и поменять):

  1. Load Checkpoint — выбираем SDXL
  2. Empty Latent Image — размер 1024×1024
  3. CLIP Text Encode (Positive): a photo of a red sports car on a mountain road, sunset, cinematic lighting, detailed
  4. CLIP Text Encode (Negative): low quality, blurry, distorted, watermark, text
  5. KSampler: seed — любой, steps 28, cfg 6.5, sampler dpmpp_2m, scheduler karras, denoise 1.0
  6. VAE DecodeSave 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-скрипт. Полезно для интеграции в прод-пайплайны, где генерация — часть бэкенда.