Skip to content

Справочник

Nodes (описание)

В ComfyUI существует множество узлов, каждый из которых выполняет определенную функцию в процессе создания изображений. Благодаря узловому интерфейсу ComfyUI, можно создавать сложные цепочки обработки изображений, состоящие из десятков узлов, выполняющих различные задачи.

Вот некоторые категории и примеры узлов, доступных в ComfyUI:

  • Основные узлы (Core Nodes):
    • Advanced Diffusers Loader
    • Load Checkpoint (With Config): Используется для загрузки diffusion-моделей, которые применяются для удаления шумов. Этот узел также предоставляет VAE и CLIP модели.
  • Conditioning:
    • Apply ControlNet
    • Apply Style Model
    • CLIP Set Last Layer
    • CLIP Text Encode (Prompt): Используется для кодирования текстовых запросов.
    • CLIP Vision Encode
    • Conditioning (Average)
    • Conditioning (Combine)
    • Conditioning (Set Area)
    • Conditioning (Set Mask)
    • GLIGEN Textbox Apply
    • unCLIP Conditioning
  • Экспериментальные узлы (Experimental Nodes):
    • Load Latent
    • Save Latent
    • Tome Patch Model
    • VAE Decode (Tiled)
    • VAE Encode (Tiled)
  • Узлы для работы с изображениями (Image Nodes):
    • Invert Image
    • Load Image: Поддерживается узлом ReActorFaceSwap.
    • Pad Image for Outpainting
    • Preview Image: Позволяет просматривать сгенерированные изображения без сохранения на диск.
    • Save Image
    • Image Blend
    • Image Blur
    • Image Quantize
    • Image Sharpen
    • Upscale Image
    • Upscale Image (using Model)
  • Узлы для работы с латентным пространством (Latent Nodes):
    • Empty Latent Image
    • Latent Composite
    • Latent Composite Masked
    • Upscale Latent
    • VAE Decode: Поддерживается узлом Preview Image.
    • VAE Encode
    • Latent From Batch
    • Rebatch Latents
    • Repeat Latent Batch
    • Set Latent Noise Mask
    • VAE Encode (for Inpainting)
    • Crop Latent
    • Flip Latent
    • Rotate Latent
  • Загрузчики (Loaders):
    • GLIGEN Loader
    • Hypernetwork Loader
    • Load CLIP
    • Load CLIP Vision
    • Load Checkpoint: Используется для загрузки diffusion-моделей.
    • Load ControlNet Model
    • Load LoRA
    • Load Style Model
    • Load Upscale Model
    • Load VAE
    • unCLIP Checkpoint Loader
  • Узлы для работы с масками (Mask Nodes):
    • Convert Image to Mask
    • Convert Mask to Image
    • Crop Mask
    • Feather Mask
    • Invert Mask
    • Load Image (as Mask)
    • Mask Composite
    • Solid Mask
  • Узлы для дискретизации (Sampling Nodes):
    • KSampler Advanced
    • KSampler
    • Samplers
  • ReActor Nodes:
    • ReActorFaceSwap (Main Node): Основной узел для замены лиц.
    • ReActorFaceSwapOpt (Main Node with the additional Options input)
    • ReActorOptions (Options for ReActorFaceSwapOpt)
    • ReActorFaceBoost (Face Booster Node)
    • ReActorMaskHelper (Masking Helper): Используется для создания масок лица.
  • Operations with Face Models:
    • ReActorSaveFaceModel (Save Face Model): Позволяет сохранять модели лиц для последующего использования.
    • ReActorLoadFaceModel (Load Face Model): Используется для загрузки сохраненных моделей лиц.
    • ReActorBuildFaceModel (Build Blended Face Model)
    • ReActorMakeFaceModelBatch (Make Face Model Batch)
  • Additional Nodes:
    • ReActorRestoreFace (Face Restoration)
    • ReActorImageDublicator (Dublicate one Image to Images List)
    • ImageRGBA2RGB (Convert RGBA to RGB)

ComfyUI позволяет сохранять детали процесса генерации внутри PNG-изображений. Это упрощает обмен опытом, так как другие пользователи могут загрузить изображение в ComfyUI и автоматически получить все параметры и узлы, использованные для его создания. Для этого нужно перетащить изображение в окно ComfyUI или воспользоваться кнопкой "Load".

Многие руководства по ComfyUI содержат метаданные, которые позволяют загрузить соответствующую цепочку узлов. Если при загрузке изображения цепочка узлов не отображается, возможно, метаданные были удалены из файла.


Loaders > (Загрузчики)

Узел "Loader Checkpoint" является важным компонентом в этой системе, так как он позволяет загружать предобученные модели или контрольные точки:

Node: Loader Checkpoint

Loader Checkpoint

В ComfyUI узел "Load Checkpoint" (Загрузка контрольной точки) используется для загрузки моделей. Он относится к основным узлам и узлам-загрузчикам. Существуют также узлы "Load Checkpoint (With Config)" (Загрузка контрольной точки (с конфигурацией)) и "unCLIP Checkpoint Loader" (Загрузчик контрольной точки unCLIP).

  • Путь к контрольной точке: Путь к файлу контрольной точки (ckpt_name), который вы хотите загрузить. Этот файл обычно имеет расширение .ckpt или .safetensors.
  • Модель: позволяет загружать diffusion модели, VAE и CLIP модели, необходимые для генерации изображений. Важно отметить, что diffusion модели используются для удаления шума (denoising) из латентного пространства, а VAE и CLIP модели отвечают за кодирование/декодирование изображений и обработку текстовых запросов.
  • Разместить скачанные checkpoint-файлы моделей в папку models/checkpoints (создать папку, если она еще не существует).
  • Перезапустить ComfyUI.

Можно указать ComfyUI, где хранятся модели, отредактировав файл extra_model_paths.yaml:

  • Найти файл в корне ComfyUI extra_model_paths.yaml.example и переименовать его в extra_model_paths.yaml.
  • Отредактировать соответствующие строки в файле extra_model_paths.yaml, указав пути к моделям.
  • Перезапустить ComfyUI.

Sampling > (дискретизация)

  • sampling (дискретизация) относится к процессу, используемому для генерации новых изображений на основе латентного пространства, модели и условий (conditioning). Это ключевой шаг в рабочих процессах преобразования текста в изображение и изображения в изображение.

Как это работает:

  1. Латентное пространство: Исходное изображение или шум представляются в виде латентного изображения.
  2. Добавление шума: К латентному изображению добавляется шум на основе заданного seed (зерна) и denoise (интенсивности), что стирает часть деталей изображения.
  3. Удаление шума (denoising): Модель (например, diffusion-модель), положительные и отрицательные условия используются для удаления шума и восстановления деталей изображения. Этот процесс "вырисовывает" новые детали в тех областях, где шум стер исходное изображение.
  4. KSampler: Узел KSampler является центральным компонентом этого процесса. Он принимает модель, условия и латентное изображение в качестве входных данных и генерирует новое латентное изображение после процесса дискретизации.
  5. Параметры: Процесс дискретизации контролируется различными параметрами, такими как количество steps (шагов), cfg (масштаб classifier free guidance), sampler_name (имя сэмплера) и scheduler (тип расписания).

Важные узлы, связанные с дискретизацией:

  • KSampler: Основной узел для выполнения дискретизации.
  • KSampler Advanced: Продвинутая версия KSampler.
  • Load Checkpoint: Используется для загрузки diffusion-моделей, которые применяются для удаления шумов. Этот узел также предоставляет VAE и CLIP модели.

Таким образом, дискретизация в ComfyUI — это итеративный процесс добавления и удаления шума из латентного изображения под управлением модели и условий, который позволяет создавать новые изображения.

Node: KSampler

использует предоставленную модель и положительные и отрицательные условия для создания новой версии заданного латентного изображения. Сначала к латентному изображению добавляется шум в соответствии с заданным зерном seed и силой denoise, стирая часть латентного изображения. Затем этот шум удаляется с использованием данной Model и положительных и отрицательных условий в качестве руководства, «вырисовывая» новые детали в местах, где изображение было стерто шумом.

Входные параметры:

  • Model: Модель, используемая для удаления шума.
  • Positive: Положительные условия.
  • Negative: Отрицательные условия.
  • latent_image: Латентное изображение, к которому будет применен процесс удаления шума.
  • seed: Случайное зерно, используемое при создании шума.
  • control_after_generate: Предоставляет возможность изменять номер зерна после каждого запроса. Узел может randomize, increment, decrement или держать номер зерна fixed.
  • steps: Количество шагов, используемых во время удаления шума. Большее количество шагов позволяет сэмплеру получить более точный результат.
  • cfg: Шкала classifier free guidance (cfg) определяет, насколько агрессивно сэмплер должен реализовывать содержимое запросов в конечном изображении. Более высокие значения шкалы заставляют изображение лучше представлять запрос, но слишком высокое значение шкалы негативно повлияет на качество изображения.
  • sampler_name: Какой сэмплер использовать.
  • scheduler: Тип используемого расписания.
  • denoise: Как много информации о латентных изображениях должно быть стерто шумом.

Выходные параметры:

  • LATENT: Латентное изображение после удаления шума.

KSampler является ядром любого рабочего процесса и может использоваться для выполнения задач преобразования текста в изображение и изображения в изображение. В примере показано, как использовать KSampler в задаче преобразования изображения в изображение, подключив модель, положительное и отрицательное внедрение и латентное изображение. Обратите внимание, что используется значение denoise меньше 1.0. Таким образом, части исходного изображения сохраняются при добавлении шума, направляя процесс удаления шума к похожим изображениям.

Node: KSampler Advanced

  • Расширенная версия узла KSampler. В то время как узел KSampler всегда добавляет шум к латентному изображению с последующим полным удалением шума, узел KSampler Advanced предоставляет дополнительные настройки для управления этим поведением.

Основные отличия и особенности KSampler Advanced:

  • add_noise: Можно указать, следует ли добавлять шум к латентному изображению перед удалением шума. При включении этой опции узел будет добавлять шум, соответствующий заданному начальному шагу.
  • return_with_leftover_noise: Можно настроить узел на возврат частично обработанных изображений с остаточным шумом.
  • start_at_step и end_at_step: Эти параметры контролируют процесс удаления шума, заменяя параметр denoise в обычном KSampler. start_at_step определяет, на каком шаге начать процесс удаления шума, а end_at_step — на каком шаге завершить.

    • Если end_at_step >= steps, то KSampler Advanced будет удалять шум точно так же, как и KSampler с параметром denoise:

      denoise = (steps - start_at_step) / steps

Входные параметры KSampler Advanced:

  • Model: Модель, используемая для удаления шума.
  • Positive: Положительные условия.
  • Negative: Отрицательные условия.
  • latent_image: Латентное изображение, к которому будет применен процесс удаления шума.
  • add_noise: Определяет, следует ли добавлять шум к латентному изображению перед удалением шума.
  • seed: Случайное зерно, используемое при создании шума.
  • control_after_generate: Предоставляет возможность изменять номер зерна после каждого запроса. Узел может randomize, increment, decrement или держать номер зерна fixed.
  • steps: Количество шагов в расписании.
  • cfg: Шкала classifier free guidance (cfg) определяет, насколько агрессивно сэмплер должен реализовывать содержимое запросов в конечном изображении.
  • sampler_name: Какой сэмплер использовать.
  • scheduler: Тип используемого расписания.
  • start_at_step: Определяет, на каком шаге расписания начать процесс удаления шума.
  • end_at_step: Определяет, на каком шаге расписания завершить удаление шума. Если это значение превышает steps, расписание заканчивается на steps.
  • return_with_leftover_noise: Если отключено, KSampler Advanced попытается полностью удалить шум из латентного изображения на последнем шаге.

Выходные параметры:

  • LATENT: Латентное изображение после удаления шума.

Благодаря этим расширенным настройкам, KSampler Advanced позволяет более точно контролировать процесс дискретизации и создавать более качественные результаты. Например, можно передать частично обработанное латентное изображение в отдельный узел KSampler Advanced для завершения процесса.

Upscaler

ReActor