Большой разбор
KSampler в ComfyUI: как связаны seed, steps, CFG, sampler и scheduler
KSampler в ComfyUI — это нода, где модель превращает шум в латент будущей картинки. В ней сходятся модель, prompt, negative prompt, seed, steps, CFG, sampler, scheduler, latent и denoise. Когда параметры сравниваются по одному, становится видно, какая настройка действительно изменила результат.
Когда картинка почти хорошая
Самый неприятный момент в ComfyUI наступает не тогда, когда всё сломалось. С поломкой хотя бы понятно: красная нода, ошибка в terminal, missing model, нет файла. Настоящая нервная зона начинается, когда картинка почти хорошая.
Лицо уже похоже. Свет красивый. Композиция держится. Но кожа стала пластиковой, фон поплыл, пальцы выглядят как плохой компромисс, а следующая генерация внезапно ушла в другую сторону. Рука тянется переписать prompt, добавить ещё деталей, поднять CFG, сменить sampler и заодно увеличить steps. Через десять минут уже никто не помнит, что именно помогло, а что добило кадр.
В таких случаях чаще всего нужно не больше магии, а больше порядка. KSampler — это место, где порядок особенно важен.
Если совсем коротко: KSampler берёт latent space, модель, положительный и отрицательный prompt, а затем шаг за шагом снимает шум. На выходе получается latent, который VAE превращает в обычное изображение. В официальной документации ComfyUI KSampler описан именно как нода многошагового denoising sampling: она использует модель, условия, алгоритм sampler, scheduler и силу denoise.
Что делает KSampler простыми словами
В ComfyUI картинка не появляется сразу как готовый JPEG. Сначала есть шум в latent space: внутреннем пространстве модели, где изображение ещё не похоже на экранную картинку. KSampler запускает процесс очистки этого шума. Он делает несколько шагов, каждый раз сверяется с prompt и negative prompt, смотрит на модель, учитывает CFG и двигается по траектории, которую задают sampler и scheduler.
Можно думать так: модель хранит выученные закономерности; positive и negative conditioning направляют генерацию; seed задаёт стартовый шум; sampler выбирает способ движения от шума к изображению; scheduler распределяет уровни шума по шагам; steps определяет число шагов; CFG регулирует влияние conditioning; denoise — глубину переработки входного latent.
Главная ловушка в том, что эти настройки влияют друг на друга. Один sampler может хорошо работать с одним расписанием шума и заметно хуже с другим. Подходящий CFG зависит от архитектуры модели и способа, которым собран workflow. Даже при одинаковом тексте новый seed начинает генерацию с другого шума и может изменить композицию.
Поэтому KSampler не стоит настраивать как эквалайзер на вечеринке, где каждый ползунок поднят «чтобы было мощнее». Он больше похож на лабораторный стол. Меняется один параметр, результат записывается, потом меняется следующий.
С чего начинать настройку
Удобная исходная точка — фиксированный seed. Он не делает картинку красивее, зато позволяет сравнивать настройки на одном стартовом шуме. Если seed меняется после каждого запуска, вместе с параметром меняется и сама случайность.
Следом можно сравнить steps. Рост числа шагов не гарантирует постоянного роста качества: у конкретной модели, sampler и scheduler улучшения обычно выходят на плато. Поэтому полезнее проверить несколько значений вокруг базового workflow и посмотреть, где различия перестают оправдывать дополнительное время.
Третий параметр — CFG. В CFG Scale легко принять большее значение за более точное. На практике слишком сильное влияние conditioning может сделать контуры жёсткими, цвета неестественными, а фактуру — пластиковой. Рабочий диапазон зависит от модели и реализации guidance, поэтому надёжнее начинать со значения из официального примера именно для выбранной модели.
Только после этого имеет смысл менять sampler и scheduler. Они отвечают не за одну очевидную «красоту», а за характер движения от шума к форме. Разница бывает тонкой: края, фактура, устойчивость лица, детализация фона, количество случайных артефактов.
Безопасный порядок диагностики
Когда результат уходит не туда, короткий контрольный прогон обычно полезнее полной перестройки workflow. Один из понятных порядков выглядит так:
- Зафиксируйте seed.
- Верните понятный размер и один checkpoint.
- Оставьте один prompt и один negative prompt.
- Проверьте steps.
- Подберите CFG.
- Потом меняйте sampler.
- Потом scheduler.
- Denoise трогайте отдельно, особенно если это img2img, inpainting или второй проход.
Такая последовательность сохраняет причинно-следственную связь: видно, где CFG добавил жёсткости, где изменился характер sampler, а где дополнительные steps уже почти ничего не дают.
В ComfyUI это особенно удобно: workflow можно сохранить как JSON Workflow и назвать нормально, без final2_really_final.json. Например: sdxl-portrait-28steps-cfg6.json. Через неделю такое имя всё ещё что-то значит.
Стартовые настройки
Универсального пресета нет. Но есть спокойные стартовые зоны, с которых удобно начинать тест. Они не гарантируют красоту. Они дают точку, где workflow не ведёт себя как неизвестный механизм.
Самая надёжная стартовая точка — официальный или авторский пример workflow для точной версии модели. Из него берутся sampler, scheduler, steps и guidance, после чего один параметр проверяется чуть ниже и чуть выше исходного значения. Такой способ переживает обновления лучше, чем универсальная таблица чисел: разные архитектуры и способы guidance используют похожие поля не совсем одинаково.
В img2img и inpainting особенно заметен Denoising Strength. При denoise 1.0 выполняется полное denoising, а меньшие значения сильнее сохраняют структуру входного latent. Насколько заметной будет правка, зависит от модели, исходника и остального workflow, поэтому универсальной границы между «сохранить» и «перерисовать» нет.
Как читать результат
KSampler редко говорит прямо: «проблема в sampler». Он говорит через картинку.
Если кадр слишком буквальный, жёсткий, с пережаренными деталями, проверьте CFG. Если композиция каждый раз уезжает, фиксируйте seed и смотрите prompt. Если лицо держится, но фактура шумит, сравните sampler и scheduler на тех же steps. Если img2img не меняет исходник, поднимайте denoise. Если исходник исчезает, denoise слишком высок.
Полезный приём — делать мини-сетку. Один seed, один prompt, один размер. В первой строке CFG проверяется ниже, на уровне и выше базового значения. Во второй так же сравнивается steps. В третьей меняется sampler при прежних условиях. Получается небольшая карта различий, а не цепочка случайных улучшений.
В продакшене такой подход особенно приятен. Когда клиент просит «оставить позу, но сделать свет мягче», вы не начинаете заново. Вы знаете, что композиция держится seed и latent, свет может жить в prompt, CFG и sampler, а denoise лучше не трогать без причины.
С чем KSampler часто путают
- KSampler и модель — KSampler не содержит знания о мире. Он управляет процессом sampling, а знание приходит из checkpoint.
- KSampler и VAE — KSampler выдаёт latent. VAE Decode превращает этот latent в пиксели. Если картинка серая или странная по цвету, виноват не всегда KSampler.
- Sampler и scheduler — sampler задаёт алгоритм движения, scheduler распределяет шум по шагам. Они связаны, но это разные ручки.
- Steps и качество — больше steps не всегда лучше. Иногда это просто дольше.
- CFG и детализация — CFG не добавляет детали из воздуха. Он усиливает следование prompt и может испортить естественность.
- Seed и стиль — seed задаёт стартовую случайность, но не заменяет модель, LoRA, prompt и параметры.
Частые ошибки
Крутить всё сразу. Самая дорогая ошибка. Через десять генераций уже невозможно понять, почему третий кадр был лучше шестого.
Слишком высокий CFG. Кадр становится послушным, но мёртвым: меньше воздуха, больше пластика, сильнее артефакты.
Гнаться за большим steps. Если модель не поняла задачу, лишние шаги не научат её. Сначала prompt, модель и композиция, потом тонкая доводка.
Менять sampler на каждом прогоне. Так можно найти красивую случайность, но трудно построить стабильный workflow.
Забывать про denoise. В text-to-image он обычно 1.0. В img2img это главный регулятор уважения к исходнику.
Сравнивать разные seed. Это как тестировать объектив, каждый раз меняя сцену, свет и расстояние.
Мини-чек-лист перед публикацией кадра
- Seed зафиксирован.
- Prompt и negative prompt не меняются во время сравнения параметров.
- Steps находятся в разумной зоне, а не поставлены «на всякий случай».
- CFG не пережигает картинку.
- Sampler и scheduler записаны в названии теста или workflow.
- Denoise проверен отдельно, если есть исходное изображение.
- VAE Decode получает правильный VAE.
Этот чек-лист выглядит сухо, зато спасает от классического «вчера было красиво, сегодня не могу повторить».
Частые вопросы
Какой sampler выбрать в ComfyUI? Хорошей базой служит sampler из официального или авторского workflow для конкретной модели. Альтернативы сравниваются на одном seed, prompt, размере, числе шагов и scheduler — иначе меняется сразу несколько условий.
Сколько steps ставить? Стартовое значение лучше брать из рабочего примера для выбранной модели. Затем его можно уменьшить и увеличить, сохранив остальные условия. Точка, после которой дополнительные шаги почти не меняют результат, и будет практическим ориентиром для этого workflow.
Почему высокий CFG портит картинку? Потому что модель слишком сильно тянется к prompt и теряет естественность. Контуры могут стать жёстче, текстуры — пластиковыми, а композиция — менее живой.
Можно ли копировать настройки с Civitai или из чужого workflow? Можно, но как старт, не как закон. У автора могли быть другая модель, VAE, LoRA, версия нод и даже другой scheduler.
Почему при тех же настройках результат другой? Проверьте seed, модель, LoRA, VAE, размер, версию workflow и случайные настройки вроде batch. Воспроизводимость требует одинаковых условий.
Источники
- Официальная документация ComfyUI: KSampler — параметры ноды, входы, выходы и описание denoising sampling.
- Официальная документация ComfyUI: First Generation — базовый workflow, модели и папки установки.
- Репозиторий ComfyUI на GitHub — актуальный код, релизы и устройство проекта.
Главное
KSampler собирает в одном месте seed, steps, CFG, sampler, scheduler и denoise. Их проще разбирать по одному при фиксированном seed: тогда изменение в кадре можно связать с конкретной настройкой. Для img2img и inpainting denoise удобно проверять отдельно от выбора сэмплера и планировщика.
Карта дальше — термины из словаря
Если хотите идти глубже — вот все термины, упомянутые в этом гиде. Можно открыть в новой вкладке и читать параллельно.
Подписка Neurosaver
Получать новые разборы Neurosaver
Большие материалы выходят не каждый день, зато их стоит читать спокойно. Подпишитесь, и мы пришлём новые разборы и важные обновления словаря.