{/ Эта страница автоматически создается на основе файла SKILL.md навыка с помощью сайта site/scripts/generate-skill-docs.py. Редактируйте исходный код SKILL.md, а не эту страницу. /}

Комфьюи

Генерация изображений, видео и аудио с ComfyUI — установка, запуск, управление узлами/моделями, выполнение рабочих процессов с подстановкой параметров. Использует официальный comfy-cli для управления жизненным циклом и прямой REST/WebSocket API для выполнения.

Метаданные навыки

Источник Встроенный (установлен по умолчанию)
Путь навыки/творчество/комфорт
Версия 5.0.0
Автор ['kshitijk4poor', 'альтернативный глюк']
Лицензия Массачусетский технологический институт
Платформы Macos, Linux, Windows
Теги comfyui, image-generation, stable-diffusion, flux, sd3, wan-video, hunyuan-video, creative, generative-ai, video-generation
Связанные навыки stable-diffusion-image-generation, image_gen

Справочник: полный SKILL.md:::информация

Ниже приведено полное описание навыков, которые Hermes загружает при его активации. Агент увидит эту инструкцию, когда навыки активны.

Удобный пользовательский интерфейс

Генерация изображений, видео, аудио и 3D-контента через ComfyUI с использованием официального comfy-cli для настройки/жизненного цикла и прямого REST/WebSocket API для выполнения рабочих процессов.

Что в навыки входит

Справочные документы («ссылки/»):

Скрипты (scripts/):

Скрипт Назначение
_common.py Общие HTTP, облачная маршрутизация, каталоги узлов (не запускать напрямую)
hardware_check.py Проверка GPU/VRAM/диска → рекомендация: локально или Comfy Cloud
comfyui_setup.sh Проверка оборудования + comfy-cli + установка ComfyUI + запуск + проверка
extract_schema.py Чтение рабочего процесса → список управляемых параметров + в зависимости от модели
check_deps.py Проверка рабочего процесса относительно включенного сервера → список отсутствующих узлов/моделей
auto_fix_deps.py Запуск check_deps, затем comfy node install/comfy model download
run_workflow.py Вставка параметров, отправка, мониторинг, загрузка результатов (HTTP или WS)
run_batch.py Отправка рабочего процесса N раз с перебором, параллельно с вашим тарифом
ws_monitor.py Просмотр выполнения задач в первый раз через WebSocket (прогресс в первый раз)
health_check.py Запуск чек-листа проверки — comfy-cli + сервер + модели + дымовой тест
fetch_logs.py Получение трассировок/сообщений о состоянии для заданного Prompt_id

Примеры рабочих процессов (workflows/): SD 1.5, SDXL, Flux Dev, SDXL img2img, SDXL Inpaint, ESRGAN Upscale, видео AnimateDiff, Wan T2V. См. рабочие процессы/README.md.

Когда использовать

Архитектура: два уровня

┌─────────────────────────────────────────────────────┐
│ Уровень 1: comfy-cli (официальный инструмент         │
│            управления жизненным циклом)               │
│   Установка, управление сервером, пользовательские    │
│   узлы, модели                                       │
│   → comfy install / launch / stop / node / model     │
└─────────────────────────┬───────────────────────────┘
                          │
┌─────────────────────────▼───────────────────────────┐
│ Уровень 2: REST/WebSocket API + скрипты навыка       │
│   Выполнение рабочих процессов, вставка параметров,   │
│   мониторинг                                         │
│   POST /api/prompt, GET /api/view, WS /ws            │
│   → run_workflow.py, run_batch.py, ws_monitor.py     │
└─────────────────────────────────────────────────────┘

Почему два уровня? Официальный CLI отлично подходит для установки и управления сервером, но не имеет минимальной поддержки выполнения рабочих процессов. REST/WS API заполняет этот пробел — скрипты обрабатывают вставки параметров, выполнение мониторинга и загрузку результатов, чего CLI не делает.

Быстрый старт

Определение окружения

# What's available?
command -v comfy >/dev/null 2>&1 && echo "comfy-cli: installed"
curl -s http://127.0.0.1:8188/system_stats 2>/dev/null && echo "server: running"

# Can this machine run ComfyUI locally? (GPU/VRAM/disk check)
python3 scripts/hardware_check.py

Если ничего не установлено, см. Настройка и начало работ ниже — но сначала всегда запускайте проверку оборудования.

Проверка работоспособности одной команды

python3 scripts/health_check.py
# → JSON: comfy_cli on PATH? server reachable? at least one checkpoint? smoke-test passes?

Основной рабочий процесс

Шаг 1: Загрузите рабочий процесс JSON в формате API

Рабочие процессы должны быть в формате API (каждый узел имеет class_type). Их можно получить:

Редактор формата (массивы верхнего уровня узлы и ссылки) не является непосредственно исполняемым. Скрипты находят это и сообщают, что необходимо экспортировать заново.

Шаг 2: узнайте, что можно изменить

python3 scripts/extract_schema.py workflow_api.json --summary-only
# → {"parameter_count": 12, "has_negative_prompt": true, "has_seed": true,...}

python3 scripts/extract_schema.py workflow_api.json
# → полная схема с параметрами, зависимостями моделей, ссылками на эмбеддинги

Шаг 3: Запустить с параметрами

# Локально (по умолчанию http://127.0.0.1:8188)
python3 scripts/run_workflow.py \
  --workflow workflow_api.json \
  --args '{"prompt": "a beautiful sunset over mountains", "seed": -1, "steps": 30}' \
  --output-dir./outputs

# Облако (экспорт API-ключа один раз; использует правильную маршрутизацию /api автоматически)
export COMFY_CLOUD_API_KEY="comfyui-..."
python3 scripts/run_workflow.py \
  --workflow workflow_api.json \
  --args '{"prompt": "..."}' \
  --host https://cloud.comfy.org \
  --output-dir./outputs

# Прогресс в реальном времени через WebSocket (требуется `pip install websocket-client`)
python3 scripts/run_workflow.py \
  --workflow flux_dev.json \
  --args '{"prompt": "..."}' \
  --ws

# img2img / inpaint: передайте --input-image для автоматической загрузки и ссылки
python3 scripts/run_workflow.py \
  --workflow sdxl_img2img.json \
  --input-image image=./photo.png \
  --args '{"prompt": "make it watercolor", "denoise": 0.6}'

# Пакет/перебор: 8 случайных seed, параллельно до лимита тарифа
python3 scripts/run_batch.py \
  --workflow sdxl.json \
  --args '{"prompt": "abstract"}' \
  --count 8 --randomize-seed --parallel 3 \
  --output-dir./outputs/batch

-1 для seed (или его понижение с --randomize-seed) последовательно новый случайное семя для каждого запуска.

Шаг 4: Представить результаты

Скрипты выводят JSON в стандартный вывод, описывая каждый выходной файл:

{
  "status": "success",
  "prompt_id": "abc-123",
  "outputs": [
    {"file": "./outputs/sdxl_00001_.png", "node_id": "9",
     "type": "image", "filename": "sdxl_00001_.png"}
  ]
}

Деревянные решения

Пользователь говорит Инструмент Команда
Жизненный цикл (используйте comfy-cli)
"установить ComfyUI" удобный-кли bash-скрипты/comfyui_setup.sh
"запустить ComfyUI" удобный-кли удобный запуск --background
"остановить ComfyUI" удобный-кли комфортная остановка
"установить узел X" удобный-кли comfy node install <имя>
"скачать модель X" удобный-кли comfy model download --url <url> --relative-path models/checkpoints
"список поддерживаемых моделей" удобный-кли удобный список моделей
"список поддерживаемых узлов" удобный-кли comfy node show установлен
Выполнение (используйте скрипты)
"всё готово?" скрипт health_check.py (опционально с --workflow X --smoke-test)
"Что можно изменить в этом рабочем процессе?" скрипт extract_schema.py W.json
"проверить, выполнены ли в зависимости от W" скрипт check_deps.py W.json
"исправить отсутствующие в зависимости" скрипт auto_fix_deps.py W.json
"сгенерировать изображение" скрипт run_workflow.py --workflow W --args '{...}'
"использовать это изображение" (img2img) скрипт run_workflow.py --input-image image=./x.png...
"8 вариаций со случайными семенами" скрипт run_batch.py ​​--count 8 --randomize-seed...
"показать прогресс в последнее время" скрипт ws_monitor.py --prompt-id <id>
"получить ошибку задания X" скрипт fetch_logs.py <prompt_id>
Прямой REST
"что в очереди?" ОТДЫХ curl http://HOST:8188/queue (локально) или --host https://cloud.comfy.org
"отменить это" ОТДЫХ curl -X POST http://HOST:8188/interrupt
"освободить память ГПУ" ОТДЫХ curl -X POST http://HOST:8188/free

Настройка и начало работы

Когда пользователь просит настроить ComfyUI, ПЕРВЫМ ДЕЛОМ спросите, хочет ли он Comfy Cloud (размещённый, нулевая установка, API-ключ) или Локально (установить ComfyUI на свою машину). Не начинайте выполнять установку или проверку оборудования, пока пользователь не ответит.

Официальная документация: https://docs.comfy.org/installation. Документация CLI: https://docs.comfy.org/comfy-cli/getting-started. Облачная документация: https://docs.comfy.org/get_started/cloud Облачный API: https://docs.comfy.org/development/cloud/overview.

Шаг 0: Спросить Локально vs Cloud (ВСЕГДА СНАЧАЛА)

Предлагаемый скрипт:

«Вы хотите запустить ComfyUI локально на своей машине или использовать Comfy Cloud?

Что вы предпочитаете?»

Маршрутизация:

Шаг 1. Проверьте оборудование (ТОЛЬКО, если пользователь выбрал локально)

python3 scripts/hardware_check.py --json
# Опционально: также проверить `torch` на реальный CUDA/MPS:
python3 scripts/hardware_check.py --json --check-pytorch
Вердикт Значение Действие
ок ≥8 ГБ VRAM (дискретный) ИЛИ ≥32 ГБ унифицированной (Apple Silicon) Локальная установка — викор comfy_cli_flag из отчёта
маргинальный SD1.5 работает; SDXL сжатый; Flux/видео маловероятно Локально подходит для легких рабочих процессов, иначе Путь A (Облако)
облако Нет подходящего графического процессора, <6 ГБ VRAM, <16 ГБ Apple unified, Intel Mac, Rosetta Python Переключиться на облако, если пользователь явно не зависает на локальном компьютере

Скрипт также показывает wsl: true (WSL2 с пробросом NVIDIA) и rosetta: true (x86_64 Python на Apple Silicon — необходимо переустановить как ARM64).

Если вердикт cloud, но пользователь хочет локально, не продолжайте молчать. Укажите массив notes дословно и спросите, хочет ли он (a) переключиться на Cloud или (b) ресурсы устанавливаются локально (будет OOM или неприемлемо медленно в современных моделях).

Выбор пути установки

Сначала проверьте оборудование. Таблица ниже — запасной вариант на случай, когда пользователь уже сообщил об этом оборудовании:

Ситуация Рекомендуемый путь
вердикт: облако из проверки оборудования Путь A: Comfy Cloud
Нет графического процессора / хотите попробовать без обязательств Путь A: Comfy Cloud
Windows + NVIDIA + нетехнический пользователь Путь B: ComfyUI Desktop
Windows + NVIDIA + технический пользователь Путь C: Portable или Путь D: comfy-cli
Linux + любой графический процессор Путь D: comfy-cli (самый простой)
macOS + Apple Silicon Путь B: Рабочий стол или Путь D: comfy-cli
Безголовый / сервер / CI / агенты Путь D: comfy-cli

Для полностью проверенного пути (проверка оборудования → установка → запуск → проверка):

bash scripts/comfyui_setup.sh
# Или с переопределениями:
bash scripts/comfyui_setup.sh --m-series --port=8190 --workspace=/data/comfy

Он запускает hardware_check.py внутренне, отказывается от сохранения локально, когда вердикт cloud (если не указано --force-cloud-override), выбирает правильный флаг comfy-cli и отдает предпочтение pipx/uvx глобальному pip, чтобы не засорять системный Python.


Путь A: Comfy Cloud (Без локальной установки)

Для пользователей без нового графического процессора или тех, кто хочет нулевой переход. Размещён на графическом процессоре RTX 6000 Pro.

Документация: https://docs.comfy.org/get_started/cloud

  1. Зарегистрируйтесь на https://comfy.org/cloud.
  2. Сгенерируйте API-ключ на https://platform.comfy.org/login.
  3. Установите ключ: bash export COMFY_CLOUD_API_KEY="comfyui-xxxxxxxxxxxx"
  4. Запускайте рабочие процессы: bash python3 scripts/run_workflow.py \ --workflow workflows/flux_dev_txt2img.json \ --args '{"prompt": "..."}' \ --host https://cloud.comfy.org \ --output-dir./outputs Цены: https://www.comfy.org/cloud/pricing Параллельные задания: Бесплатная/Стандартная 1, Creator 3, Pro 5. Бесплатный тариф. невозможно запускать рабочие процессы через API — только просмотр моделей. Платная подписка требуется для /api/prompt, /api/upload/*, /api/view и т.д.

Путь B: ComfyUI Desktop (Windows/macOS)

Установщик в один клик для нетехнических пользователей. В настоящее время бета.

Документация: https://docs.comfy.org/installation/desktop. - Windows (NVIDIA): https://download.comfy.org/windows/nsis/x64 - macOS (Apple Silicon): https://comfy.org

Linux не события для рабочего стола — викор Путь Д.


Путь C: ComfyUI Portable (Только Windows)

Документация: https://docs.comfy.org/installation/comfyui_portable_windows

скачайте с https://github.com/comfyanonymous/ComfyUI/releases, распакуйте, запустите run_nvidia_gpu.bat. Обновление через update/update_comfyui_stable.bat.


Путь D: comfy-cli (Все платформы — рекомендуется для агентов)

Официальный CLI — лучший способ для безголовых/автоматизированных установок.

Документация: https://docs.comfy.org/comfy-cli/getting-started.

Установка comfy-cli

# Рекомендуется:
pipx install comfy-cli
# Или используйте uvx без установки:
uvx --from comfy-cli comfy --help
# Или (если pipx/uvx недоступны):
pip install --user comfy-cli

Отключить аналитику неинтерактивно:

comfy --skip-prompt tracking disable

Установка ComfyUI

comfy --skip-prompt install --nvidia              # NVIDIA (CUDA)
comfy --skip-prompt install --amd                 # AMD (ROCm, Linux)
comfy --skip-prompt install --m-series            # Apple Silicon (MPS)
comfy --skip-prompt install --cpu                 # Только CPU (медленно)
comfy --skip-prompt install --nvidia --fast-deps  # Решение зависимостей на основе uv

Расположение по умолчанию: ~/comfy/ComfyUI (Linux), ~/Documents/comfy/ComfyUI (macOS/Win). Переопределите с помощью comfy --workspace /custom/path install.

Запуск / проверка

comfy launch --background                       # фоновый демон на:8188
comfy launch -- --listen 0.0.0.0 --port 8190    # пользовательский порт, доступный по LAN
curl -s http://127.0.0.1:8188/system_stats      # проверка работоспособности

Путь E: Ручная установка (Продвинутое / Неподдерживаемое оборудование)

Для Ascend NPU, Cambricon MLU, Intel Arc или другого неподдерживаемого оборудования.

Документация: https://docs.comfy.org/installation/manual_install.

git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
pip install -r requirements.txt
python main.py

После установки: Загрузка моделей

# SDXL (общего назначения, ~6,5 ГБ)
comfy model download \
  --url "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors" \
  --relative-path models/checkpoints

# SD 1.5 (легче, ~4 ГБ, хорошо для карт на 6 ГБ)
comfy model download \
  --url "https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors" \
  --relative-path models/checkpoints

# Flux Dev fp8 (меньший вариант, ~12 ГБ)
comfy model download \
  --url "https://huggingface.co/Comfy-Org/flux1-dev/resolve/main/flux1-dev-fp8.safetensors" \
  --relative-path models/checkpoints

# CivitAI (сначала установите token):
comfy model download \
  --url "https://civitai.com/api/download/models/128713" \
  --relative-path models/checkpoints \
  --set-civitai-api-token "YOUR_TOKEN"

Список представлен: удобный список моделей.

После установки: Установка узлов

comfy node install comfyui-impact-pack             # популярный набор утилит
comfy node install comfyui-animatediff-evolved     # генерация видео
comfy node install comfyui-controlnet-aux          # препроцессоры ControlNet
comfy node install comfyui-essentials              # общие помощники
comfy node update all
comfy node install-deps --workflow=workflow.json   # установить всё, что нужно для рабочего процесса

После установки: Проверка

python3 scripts/health_check.py
# → comfy_cli on PATH? server reachable? checkpoints? smoke test?

python3 scripts/check_deps.py my_workflow.json
# → установлены ли узлы/модели/эмбеддинги этого рабочего процесса?

python3 scripts/run_workflow.py \
  --workflow workflows/sd15_txt2img.json \
  --args '{"prompt": "test", "steps": 4}' \
  --output-dir./test-outputs

Загрузка изображений (img2img/Inpainting)

Самый простой способ — использовать --input-image с run_workflow.py:

python3 scripts/run_workflow.py \
  --workflow workflows/sdxl_img2img.json \
  --input-image image=./photo.png \
  --args '{"prompt": "make it cyberpunk", "denoise": 0.6}'

Флаг загружает photo.png, а затем вставляет имя файла на стороне сервера. Схема параметров с именем image. Для рисования передайте оба:

python3 scripts/run_workflow.py \
  --workflow workflows/sdxl_inpaint.json \
  --input-image image=./photo.png \
  --input-image mask_image=./mask.png \
  --args '{"prompt": "fill with flowers"}'

Ручная загрузка через REST:

curl -X POST "http://127.0.0.1:8188/upload/image" \
  -F "image=@photo.png" -F "type=input" -F "overwrite=true"
# Returns: {"name": "photo.png", "subfolder": "", "type": "input"}

# Cloud equivalent:
curl -X POST "https://cloud.comfy.org/api/upload/image" \
  -H "X-API-Key: $COMFY_CLOUD_API_KEY" \
  -F "image=@photo.png" -F "type=input" -F "overwrite=true"

Особенности Облака

Управление поворотом и системой

# Local
curl -s http://127.0.0.1:8188/queue | python3 -m json.tool
curl -X POST http://127.0.0.1:8188/queue -d '{"clear": true}'    # отменить ожидающие
curl -X POST http://127.0.0.1:8188/interrupt                      # отменить выполняющийся
curl -X POST http://127.0.0.1:8188/free \
  -H "Content-Type: application/json" \
  -d '{"unload_models": true, "free_memory": true}'

# Cloud — те же пути под /api/, плюс:
python3 scripts/fetch_logs.py --tail-queue --host https://cloud.comfy.org

Подводные камни

  1. Требуется формат API — каждый скрипт и конечная точка /api/prompt ожидаются. Рабочий процесс JSON в формате API. Скрипты находят формат редактора (массивы верхних уровней узлов и ссылок) и сообщают, что нужно экспортировать заново через «Рабочий процесс → Экспорт (API)» (новый интерфейс) или «Сохранить (формат API)» (старый интерфейс).

  2. Сервер должен быть запущен — всё выполнение работы требует сервера. comfy launch --background запускает его. проверить с помощью curl http://127.0.0.1:8188/system_stats.

  3. Имена моделей точны — тонкий к регистру, включая расширение файла. check_deps.py осуществляет нечётное рассмотрение (с расширениями/без и префиксом папок), но сам рабочий процесс должен использовать условное имя. Используйте Удобный список моделей, чтобы узнать, что установлено.

  4. Отсутствующие пользовательские узлы — «class_type not Found» означает, что требуемый узел не установлен. check_deps.py сообщает, какой пакет установлен; auto_fix_deps.py выполнит установку за вас.

  5. Рабочий каталогcomfy-cli автоматически устанавливает рабочее пространство ComfyUI. Если команды завершатся сообщением «Рабочее пространство не найдено», вскормите comfy --workspace /path/to/ComfyUI <команда> или comfy set-default /path/to/ComfyUI.

  6. Ограничение бесплатного тарифа Cloud/api/prompt, /api/view, /api/upload/*, /api/object_info — все возвращают 403 на объявлениях аккаунтов. health_check.py и check_deps.py обрабатывают это корректно и выдают понятное сообщение.

  7. Тайм-аут для рабочих процессов видео/аудио — определяется автоматически, когда выходной узел — VHS_VideoCombine, SaveVideo и т.д.; значение по умолчанию увеличивается с 300 с до 900 с. Обязательно переопределите с помощью --timeout 1800.

  8. Обход пути в именах выходных файлов — имена файлов, предоставленные сервером, про выход через safe_path_join, чтобы запретить выход из границ --output-dir. Сохраняйте эту защиту — рабочие процессы с пользовательскими узлами могут сохраниться. создавать произвольные пути.

  9. JSON рабочий процесс — это произвольный код — пользовательские узлы управляют Python, поэтому отправка неизвестного рабочего процесса имеет тот же профиль доверия, что и eval. Перед запуском проверяйте рабочие процессы из ненадёжных источников.

  10. Авторандомизированный семя — передайте seed: -1 в --args (или вскормите --randomize-seed и пропустите семя), чтобы получить новое семя для каждого запуска. полученное семя выводится в stderr.

  11. Приглашение «отслеживание» — при первом запуске «comfy» может запросить аналитику. Используйте comfy --skip-prompt Tracking Disable, чтобы отправить неинтерактивно. comfyui_setup.sh сделает это за вас.

Контрольный список проверок

Используйте python3 scripts/health_check.py, чтобы сразу запустить весь список. Вручную: