Model
.ai
стежимо за відкритими ШІ-моделями

Нода KSampler у ComfyUI

KSampler запускає цикл денойзингу: він бере модель, підказки та латент і створює готове латентне зображення, керуючись сидом, кроками, cfg, семплером, планувальником і denoise.
Пакет нод: ComfyUI core
Категорія: Семплювання
Author: comfyanonymous

Що робить KSampler

KSampler — це місце, де насправді генерується зображення. Починаючи з вхідного латенту (випадковий шум з Empty Latent Image або закодоване зображення для img2img), він просить модель прибрати шум за вибрану кількість кроків, притягуючи до позитивної підказки і відштовхуючись від негативної на величину cfg. Результат — LATENT, який VAE Decode перетворює на зображення.
sampler_name вибирає чисельний метод (euler, euler_ancestral, dpmpp_2m, dpmpp_2m_sde, dpmpp_3m_sde, uni_pc, lcm, ...) а scheduler — криву шуму (normal, karras, exponential, sgm_uniform, simple, beta). denoise контролює, скільки вхідного латенту замінюється: 1.0 для text-to-image, 0.3-0.7 для img2img і hires проходів. KSampler (Advanced) дає змогу задати початковий і кінцевий крок для багатоступеневого семплінгу.

Входи

Назва
Тип
Що це
model
MODEL
Модель денойзингу, після будь-яких патчів LoRA або ControlNet.
positive
CONDITIONING
Те, що ти хочеш (з CLIP Text Encode, можливо через ControlNet Apply).
negative
CONDITIONING
Те, чого ти не хочеш.
latent_image
LATENT
Початковий латент: порожній шум або закодоване зображення.
seed
INT
Сид для шуму. Той самий сид і налаштування дають однакове зображення. control_after_generate встановлює фіксований, інкремент, декремент або випадковий.
steps
INT
Кількість кроків денойзингу. 20-30 для більшості SD моделей, 4-8 для Lightning, Turbo і LCM моделей.
cfg
FLOAT
Масштаб керування без класифікатора. 5-8 для SD 1.5 і SDXL, 1.0 для Flux і дистильованих моделей.
sampler_name
COMBO
Алгоритм семплінгу.
scheduler
COMBO
Розклад шуму.
denoise
FLOAT
Частка шуму, яку потрібно прибрати. 1.0 = почати з нуля; менше значення зберігає більше вхідного зображення.

Виходи

Назва
Тип
Що це
LATENT
LATENT
Згенерований латент для VAE Decode або другого семплера.

Як використовувати KSampler

  1. Підключи MODEL, обидва CONDITIONING і LATENT.
  2. Встанови steps 25, cfg 7, dpmpp_2m з karras для SDXL; euler з simple, cfg 1 для Flux.
  3. Встанови denoise на 1.0 для свіжого зображення.
  4. Підключи LATENT до VAE Decode, а потім Save Image.
  5. Постав у чергу, потім зафіксуй сид, якщо хочеш повторити роботу з підказкою.

Налаштування та поради

  • dpmpp_2m + karras — універсальний вибір; euler_ancestral додає різноманіття, але ніколи не сходиться; dpmpp_2m_sde дає більше деталей, але втрачає детермінованість між GPU.
  • Lightning, Hyper і Turbo чекпойнти потребують своїх налаштувань: 4-8 кроків, cfg 1-2, sgm_uniform або simple.
  • Для hires проходу пропусти перший латент через Upscale Latent By і другий KSampler з denoise 0.4-0.55.
  • Утримуй Ctrl+Shift+V, щоб вставити ноду з її підключеннями; корисно при дублюванні семплерів.
  • Фіксований сид з однаковими налаштуваннями відтворюється на тому самому GPU; на різних картах можуть бути невеликі відмінності.

Усунення несправностей KSampler

Шум, статика або розмите пляма замість зображення

Чому це стається
Налаштування не підходять для моделі: cfg 7 на дистильованій моделі, 4 кроки на звичайній, модель Flux без Flux Guidance, або denoise значно менше за 1 на порожньому латенті.

Як виправити
Підбери під модель: звичайний SD = 20-30 кроків, cfg 5-8; Lightning/Turbo = 4-8 кроків, cfg 1-2; Flux = cfg 1, guidance 3.5, 20+ кроків. Використовуй denoise 1.0, якщо латент порожній.

Пересмажене, пересичене, з високою контрастністю зображення

Чому це стається
cfg занадто високий для моделі або стеку LoRA, або ancestral семплер з великою кількістю кроків.

Як виправити
Зменш cfg до 4-6, зменш силу LoRA або переключись з euler_ancestral на dpmpp_2m.

torch.OutOfMemoryError: CUDA out of memory під час семплінгу

Чому це стається
Латент занадто великий для карти при цьому розмірі батчу, або інша модель (ControlNet, апскейлер) одночасно займає VRAM.

Як виправити
Зменш роздільність або batch_size, додай --lowvram, використовуй fp8 ваги або розбий hires проход у другу чергу, щоб перша модель звільнилася.

Помилка: mat1 і mat2 не можна перемножити через різні форми

Чому це стається
Кондишинінг йде з текстового енкодера іншої сім’ї, ніж модель (SD 1.5 CLIP у SDXL модель або навпаки).

Як виправити
Підключи CLIP з того самого чекпойнта, що й MODEL.

Зображення змінюються при кожному запуску, хоча сид фіксований

Чому це стається
control_after_generate встановлено на randomize, або використовується SDE / ancestral семплер з недетермінованим бекендом.

Як виправити
Встанови control_after_generate на fixed і віддай перевагу dpmpp_2m або euler для точної відтворюваності.

Те саме зображення повторюється для різних підказок (сид застряг)

Чому це стається
control_after_generate фіксований, а шум домінує при низькому cfg або мало кроків.

Як виправити
Встанови randomize або increment і трохи підвищ cfg.

Запитання про KSampler

У чому різниця між KSampler і KSampler (Advanced)?

Advanced додає add_noise, start_at_step, end_at_step і return_with_leftover_noise, що дає змогу розбити семплінг між двома моделями, наприклад SDXL base, а потім refiner.

Який семплер найшвидший?

euler і dpmpp_2m викликають модель по одному разу на крок; варіанти _2s і _3m — більше викликів. LCM і Lightning моделі швидкі через малу кількість кроків, а не через семплер.

Що робить denoise з порожнім латентом?

Все, що менше за 1.0, залишає частину початкового шуму в результаті і дає туман. Для text-to-image тримай 1.0.
KSampler (Advanced)
ComfyUI core
KSampler (Advanced) — це KSampler з контролем діапазону кроків: add_noise, start_at_step, end_at_step і return_with_leftover_noise, використовується для ланцюжків base + refiner і вибірки з двох моделей.
Empty Latent Image
ComfyUI core
Empty Latent Image створює порожнє латентне полотно (ширина, висота, batch_size), з якого починається текст-в-зображення семплінг; розміри мають бути кратними 8 і відповідати сімейству моделі.
VAE Decode
ComfyUI core
VAE Decode перетворює вибраний LATENT у піксельне IMAGE за допомогою VAE; VAE Decode (Tiled) робить те саме по частинах для дуже великих зображень.
CLIP Text Encode (Prompt)
ComfyUI core
CLIP Text Encode перетворює текстовий запит у CONDITIONING за допомогою текстового енкодера моделі. Один вузол тримає позитивний запит, другий — негативний.
Upscale Latent and Upscale Latent By
ComfyUI core
Upscale Latent змінює розмір латенту на новий (або за коефіцієнтом), щоб другий KSampler міг додати деталі у вищій роздільній здатності: класичне виправлення для hires.

Інші ноди ComfyUI

ComfyUI Manager
ComfyUI-Manager
ComfyUI Manager — це розширення, яке встановлює, оновлює та виправляє кастомні набори вузлів і моделі прямо в інтерфейсі, вирішує проблему відсутніх вузлів у імпортованих робочих процесах і робить знімки твоєї налаштування.
Load Checkpoint
ComfyUI core
Load Checkpoint (CheckpointLoaderSimple) відкриває файл моделі .safetensors або .ckpt і видає три частини, які потрібні будь-якому робочому процесу: diffusion MODEL, CLIP текстовий енкодер і VAE.
Save Image
ComfyUI core
Save Image зберігає тензор IMAGE у папку ComfyUI/output у форматі PNG, вбудовуючи всю робочу схему у метадані файлу, щоб потім можна було перетягнути картинку назад у ComfyUI і відновити граф.
Load Image
ComfyUI core
Load Image зчитує зображення з папки ComfyUI input (або з завантаження) і видає тензор IMAGE плюс MASK, взятий з альфа-каналу, початкову точку для img2img, inpainting, ControlNet і IP-Adapter графів.
Load LoRA
ComfyUI core
Load LoRA (LoraLoader) застосовує файл LoRA до MODEL і CLIP з окремими силами, щоб стиль, персонаж або концепт можна було додати до будь-якого чекпойнта без злиття.
Load Diffusion Model
ComfyUI core
Load Diffusion Model (UNETLoader) завантажує базову мережу для денойзингу, наприклад Flux, SD3.5, Wan або HunyuanVideo з папки models/diffusion_models, з опцією weight_dtype для fp8, щоб зекономити VRAM.