Большой разбор

KSampler в ComfyUI: как связаны seed, steps, CFG, sampler и scheduler

KSampler в ComfyUI — это нода, где модель превращает шум в латент будущей картинки. Разберём seed, steps, CFG, sampler, scheduler и denoise: что каждый из них меняет и как сравнивать настройки. Когда параметры сравниваются по одному, становится видно, какая настройка действительно изменила результат.

Чтение
9 мин
Уровень
Начинающий и средний уровень
Обновлено
05.09.26

Быстрый вход

В двух минутах

KSampler в ComfyUI — это нода, где модель превращает шум в латент будущей картинки. Разберём seed, steps, CFG, sampler, scheduler и denoise: что каждый из них меняет и как сравнивать настройки. Когда параметры сравниваются по одному, становится видно, какая настройка действительно изменила результат.

  • Когда картинка почти хорошая
  • Что делает KSampler простыми словами
  • С чего начинать настройку

Когда картинка почти хорошая

Допустим, портрет почти готов: удачные свет и композиция, но кожа слишком гладкая, а фон потерял детали. Если одновременно переписать промпт, поднять CFG и сменить сэмплер, следующий кадр может стать лучше — только будет непонятно, какая правка помогла.

В KSampler эти настройки собраны рядом. Удобнее сохранить исходный вариант, изменить один параметр и сравнить результат. Это не обязательный ритуал перед каждой картинкой, а способ разобраться с конкретной проблемой.

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

KSampler использует модель, условия, входное латентное представление и шум, а параметры управляют получением нового латентного представления изображения.
KSampler собирает в одном месте параметры, которые сильнее всего влияют на характер генерации: seed, steps, CFG, sampler, scheduler и denoise.

Что делает KSampler простыми словами

В обычном text-to-image вход Empty Latent Image задаёт нулевой массив нужного размера — это ещё не случайный шум. Шум подготавливается при запуске KSampler. В img2img вместо пустого массива поступает изображение, закодированное VAE, и генерация начинается с его зашумлённого представления.

На каждом шаге модель выдаёт прогноз, а выбранный алгоритм использует его для следующего состояния. Промпты поступают сюда не как строки: текстовые энкодеры заранее превращают их в conditioning — числовые условия генерации.

Названия полей проще читать так:

Поле За что отвечает
seed Начальное значение генератора случайных чисел для шума
steps Число шагов сэмплирования, не обязательно число вызовов модели
cfg Сила различия между положительным и опорным прогнозами при обычном CFG
sampler_name Алгоритм перехода между состояниями
scheduler Расписание уровней шума
denoise Выбор начального уровня шума и участка расписания для переработки входа

Отрицательные условия обычно задают опорный прогноз CFG. Это не жёсткий список запрещённых объектов: нежелательная деталь всё равно может появиться.

Главная ловушка в том, что эти настройки влияют друг на друга. Один sampler может хорошо работать с одним расписанием шума и заметно хуже с другим. Подходящий CFG зависит от архитектуры модели и способа, которым собран workflow. Даже при одинаковом тексте новый seed начинает генерацию с другого шума и может изменить композицию.

Для первого сравнения достаточно одной изменённой настройки. Но после выбора сэмплера или расписания шаги и CFG иногда приходится подбирать заново: удачная комбинация не обязательно складывается из лучших значений отдельных тестов.

С чего начинать настройку

Удобная исходная точка — фиксированный seed. Он не делает картинку красивее, зато позволяет сравнивать настройки на одном стартовом шуме. Если seed меняется после каждого запуска, вместе с параметром меняется и сама случайность.

Следом можно сравнить steps. Рост числа шагов не гарантирует постоянного роста качества: у конкретной модели, sampler и scheduler улучшения обычно выходят на плато. Поэтому полезнее проверить несколько значений вокруг базового workflow и посмотреть, где различия перестают оправдывать дополнительное время.

Третий параметр — CFG. В CFG Scale легко принять большее значение за более точное. На практике слишком сильное влияние conditioning может сделать контуры жёсткими, цвета неестественными, а фактуру — пластиковой. Рабочий диапазон зависит от модели и реализации guidance, поэтому надёжнее начинать со значения из официального примера именно для выбранной модели.

Затем можно сравнить sampler и scheduler. Они отвечают не за одну очевидную «красоту», а за характер движения от шума к форме. Разница бывает тонкой: края, фактура, устойчивость лица, детализация фона, количество случайных артефактов.

Порядок диагностики

Когда результат уходит не туда, короткий контрольный прогон обычно полезнее полной перестройки workflow. Один из понятных порядков выглядит так:

  1. Зафиксируйте seed.
  2. Выберите размер из рабочего примера и одну модель.
  3. Оставьте один prompt и один negative prompt.
  4. Проверьте steps.
  5. Подберите CFG.
  6. Потом меняйте sampler.
  7. Потом scheduler.
  8. Denoise трогайте отдельно, особенно если это img2img, inpainting или второй проход.
При фиксированном seed круговой стенд меняет только steps, CFG, sampler, scheduler или denoise, а одна пара кадров показывает эффект выбранного параметра.
Настройка KSampler становится управляемой, когда seed зафиксирован, а параметры меняются по одному и в понятном порядке.

Так видно, какая настройка изменила конкретный кадр. Затем полезно проверить выбранную комбинацию на нескольких seed: результат одного сравнения может не повториться на другой композиции.

В ComfyUI это особенно удобно: workflow можно сохранить как JSON Workflow и дать ему понятное имя, например sdxl-portrait-28steps-cfg6.json. Это название опыта, а не рекомендуемые настройки для всех моделей.

Стартовые настройки

Начать удобнее с уже работающего примера для выбранной модели. Он позволяет проверить установку и получить базовый кадр до экспериментов.

Настройки из примера модели становятся базой, затем один параметр проверяется ниже, на базе и выше при одинаковых условиях, а выбранный результат сохраняется как workflow.
Стартовые настройки KSampler лучше воспринимать как точку входа: дальше параметры подбираются под модель, задачу и конкретный seed.

Самая надёжная стартовая точка — официальный или авторский пример workflow для точной версии модели. Из него берутся sampler, scheduler, steps и guidance, после чего один параметр проверяется чуть ниже и чуть выше исходного значения. Разные архитектуры и способы guidance используют похожие поля не совсем одинаково. Например, встроенный в модель guidance может задаваться отдельным узлом и не совпадать с cfg KSampler. Для ускоренных моделей число шагов и расписание особенно важно брать из примера именно этой версии.

В img2img и inpainting особенно заметен Denoising Strength. При denoise = 1.0 используется полное расписание с высоким начальным уровнем шума. При меньшем значении генерация стартует с менее зашумлённого состояния и обычно ближе держится к входному латенту. Это не доля изменённых пикселей. В inpainting значение нужно оценивать вместе со способом подготовки маски: VAE Encode (for Inpainting) очищает её область до кодирования, поэтому маленький denoise может оставить сероватое пятно вместо сохранённой детали. Насколько заметной будет правка, зависит от модели, исходника и остального workflow, поэтому универсальной границы между «сохранить» и «перерисовать» нет.

Как читать результат

По одному артефакту нельзя однозначно определить виноватую настройку. Но можно выбрать, что проверить первым.

Слишком резкие контуры и неестественный цвет — повод проверить CFG, а также модель, VAE и усиления LoRA. Если композиция меняется при каждом запуске, стоит проверить режим seed. Если фактура остаётся шумной, можно сравнить число шагов и совместимые пары сэмплера с расписанием. Если img2img слишком слабо меняет исходник, одна из проверок — увеличить denoise; если слишком сильно — уменьшить. Ни один из этих признаков не доказывает причину сам по себе.

Полезный приём — делать мини-сетку. Один seed, один prompt, один размер. В первой строке CFG проверяется ниже, на уровне и выше базового значения. Во второй так же сравнивается steps. В третьей меняется sampler при прежних условиях. Получается небольшая карта различий, а не цепочка случайных улучшений.

Если задача — оставить позу и смягчить свет, одного фиксированного seed недостаточно: новый промпт тоже может изменить композицию. Для такой правки полезнее исходное изображение, подходящий редактор или совместимый структурный контроль, например ControlNet по позе. KSampler настраивает генерацию, но не закрепляет объекты на своих местах.

С чем KSampler часто путают

  • KSampler и модель — KSampler запускает алгоритм сэмплирования, а выученные закономерности находятся в весах подключённой модели.
  • KSampler и VAE — KSampler выдаёт latent. VAE Decode превращает этот latent в пиксели. Если картинка серая или странная по цвету, виноват не всегда KSampler.
  • Sampler и scheduler — sampler задаёт алгоритм движения, scheduler распределяет шум по шагам. Они связаны, но это разные ручки.
  • Steps и качество — больше steps не всегда лучше. Иногда это просто дольше.
  • CFG и детализация — CFG не добавляет детали из воздуха. Он усиливает разницу прогнозов с разными условиями; это может помочь инструкции, но не гарантирует точности и способно усилить артефакты.
  • Seed и стиль — seed задаёт стартовую случайность, но не заменяет модель, LoRA, prompt и параметры.

Частые ошибки

Менять всё сразу. Через десять генераций уже невозможно понять, почему третий кадр был лучше шестого.

Слишком высокий CFG. Контуры могут стать жёстче, цвета — чрезмерно насыщенными, а фактура — неестественной. Более высокий CFG не обязательно улучшает выполнение инструкции.

Гнаться за большим steps. Если модель не поняла задачу, лишние шаги не научат её. Сначала prompt, модель и композиция, потом тонкая доводка.

Менять sampler на каждом прогоне. Так можно найти красивую случайность, но трудно построить стабильный workflow.

Забывать про denoise. В text-to-image он обычно 1.0. В img2img он заметно влияет на степень переработки исходника, но работает вместе с остальными условиями.

Сравнивать разные seed. Это как тестировать объектив, каждый раз меняя сцену, свет и расстояние.

Что сохранить вместе с удачным результатом

  1. Seed зафиксирован.
  2. Prompt и negative prompt не меняются во время сравнения параметров.
  3. Steps находятся в разумной зоне, а не поставлены «на всякий случай».
  4. CFG не пережигает картинку.
  5. Sampler и scheduler записаны в названии теста или workflow.
  6. Denoise проверен отдельно, если есть исходное изображение.
  7. VAE Decode получает правильный VAE.

Для воспроизведения полезно сохранить сам workflow, точные файлы моделей и версии узлов. Один seed без остальных условий не позволяет повторить изображение.

Частые вопросы

Какой sampler выбрать в ComfyUI? Хорошей базой служит sampler из официального или авторского workflow для конкретной модели. Альтернативы сравниваются на одном seed, prompt, размере, числе шагов и scheduler — иначе меняется сразу несколько условий.

Сколько steps ставить? Стартовое значение лучше брать из рабочего примера для выбранной модели. Затем его можно уменьшить и увеличить, сохранив остальные условия. Точка, после которой дополнительные шаги почти не меняют результат, и будет практическим ориентиром для этого workflow.

Почему высокий CFG портит картинку? Обычный CFG усиливает разницу между положительным и опорным прогнозами. При чрезмерном усилении могут появиться неестественные контуры, цвета и текстуры. Высокое значение не означает, что модель точнее поняла задачу.

Можно ли копировать настройки с Civitai или из чужого workflow? Можно, но как старт, не как закон. У автора могли быть другая модель, VAE, LoRA, версия нод и даже другой scheduler.

Почему при тех же настройках результат другой? Стоит сверить seed, модель, LoRA, VAE, размер, состав пакета изображений и версии узлов. Проверьте также, не меняет ли интерфейс seed после запуска. Даже при совпадении этих условий другая видеокарта, точность вычислений или реализация операций может дать отличающийся результат: побитовая воспроизводимость не гарантирована.

Источники

Главное

KSampler собирает в одном месте seed, steps, CFG, sampler, scheduler и denoise. Их проще разбирать по одному при фиксированном seed: тогда изменение в кадре можно связать с конкретной настройкой. Для img2img и inpainting denoise удобно проверять отдельно от выбора сэмплера и планировщика.