Nodes/ComfyUI/BasicScheduler
ComfyUI Node Runs on cloud

BasicScheduler

The noise schedule, as a SIGMAS object

By Comfy-Org·Created 4 years ago·Updated 31 minutes ago· 129,926
BasicScheduler
  • model
  • SIGMAS
scheduler
steps20
denoise1.00

BasicScheduler answers the question "how much noise gets removed at each step?" and hands the answer to a sampler as a SIGMAS tensor - the noise schedule. Along with KSamplerSelect, it's the other half of the classic custom-sampler pair: scheduler produces the sigmas, sampler consumes them, and SamplerCustomAdvanced does the denoising.

It's the original scheduler node from ComfyUI's custom-sampler system (September 2023), and it ships in core (comfy_extras.nodes_custom_sampler). Nothing to install.

How it works

A noise schedule is a descending list of numbers - sigma values - that say "how noisy is the latent at this step." Start high (lots of noise), end at zero (clean). The scheduler's shape is what everyone argues about: a karras schedule concentrates denoising effort in the middle steps, which genuinely helps DDPM-style models (SD 1.5, SDXL) at lower step counts. On flow-matching models - Flux, Z-Image, Klein, Anima - that same reshaping is a distortion, and karras and exponential fail outright. The rule that generalizes: balanced, conservative schedules (normal, beta, simple) for flow-matching; Karras stays in the SDXL world.

BasicScheduler computes sigmas from the model's own sampling setup, so it knows the model's sigma range. The denoise input then crops the tail of the schedule: at denoise=0.5 it computes the full schedule but keeps only the last half, which is exactly the img2img behavior of the same slider on KSampler.

The inputs

  • model - used to derive the model's sigma range. Feed it the same model the sampler will use, or the sigmas can be off.
  • scheduler - the dropdown: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal. Match it to the model family.
  • steps - how many sigmas (denoising steps) to produce.
  • denoise - 0–1, default 1.0. Lower it to preserve input structure for img2img.

The single SIGMAS output feeds SamplerCustomAdvanced's sigmas input.

Why it's everywhere

Because it's the generic scheduler, it shows up in workflows for every model - including video. The LTX community's standard advice for the full (non-distilled) LTX model is literally "just swap in a BasicScheduler and set your own steps" (thread 1k1o4x8). And when a video workflow behaves oddly, the first suspect is often which scheduler is feeding the sampler - there's a whole SVI thread (1q45liy) where one rewire around the BasicScheduler node fixed slow-motion and prompt-adherence issues at once.

Where people get burned

  • Scheduler/model mismatch. The #1 cause of "everything looks like mush." Karras on a flow-matching model, or sgm_uniform (a distilled-model schedule) on a normal checkpoint.
  • denoise cropping confuses people. The schedule is computed for steps/denoise and then truncated from the front, so lowering denoise doesn't just scale the amount of noise - it reshapes where the work happens.
  • Changing sigmas after the fact. If you feed BasicScheduler's output through a node like SplitSigmas or ExtendIntermediateSigmas, remember the sampler never sees the original schedule - it sees whatever you did to the sigmas.

Some models ship their own schedulers - LTXVScheduler, Ideogram 4 Scheduler, AlignYourStepsScheduler. When one exists for your model, prefer it: it's the schedule the model was tuned against.

Categorymodel/sampling/schedulers

Inputs (4)

NameTypeDefaultDescription
modelMODEL
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
stepsINT201–10000
denoiseFLOAT1.000–1

Outputs (1)

NameTypeDescription
SIGMASSIGMAS