Нода KSampler у ComfyUI
KSampler запускає цикл денойзингу: він бере модель, підказки та латент і створює готове латентне зображення, керуючись сидом, кроками, cfg, семплером, планувальником і denoise.
Що робить 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
- Підключи MODEL, обидва CONDITIONING і LATENT.
- Встанови steps 25, cfg 7, dpmpp_2m з karras для SDXL; euler з simple, cfg 1 для Flux.
- Встанови denoise на 1.0 для свіжого зображення.
- Підключи LATENT до VAE Decode, а потім Save Image.
- Постав у чергу, потім зафіксуй сид, якщо хочеш повторити роботу з підказкою.
Налаштування та поради
- 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.
