LCMScheduler
The scheduler that makes LCM work, minus the guesswork
- model
- SIGMAS
LCM (Latent Consistency Models) is the cheap way to get 4-8 step generation: slap an LCM LoRA on your usual SD 1.5 or SDXL checkpoint, drop CFG to 1-2, and your renders go from twenty seconds to three. But there's a catch that trips everyone up - LCM-LoRAs are trained against one specific noise schedule, sgm_uniform, and if you feed them a Karras or normal schedule the model gets noise levels it never saw in training, which shows up as washed-out, artifacty garbage. The stock ComfyUI sampler pair handles this, but it's a pain to wire by hand. LCMScheduler from the ComfyUI-sampler-lcm-alternative pack exists purely to stop you doing that dance.
What it actually is
The author is upfront about it: this node "just saves a few clicks" - it's a thin wrapper that produces the exact sigma list you'd get from a BasicScheduler set to sgm_uniform. Nothing clever, no new math. What it buys you is one less thing to misconfigure. In the custom-sampling workflow it's the half of the pair that decides how much noise to remove per step; a sampler node (like SamplerLCMAlternative from the same pack, or the stock LCM sampler) decides how. You wire its SIGMAS output straight into a CustomSampler/SamplerCustomAdvanced node.
Inputs and the one that matters
Only three inputs, and honestly only two of them will ever be touched:
model(MODEL) - your loaded checkpoint, with the LCM LoRA applied. This isn't a math-only node; it reads the model'smodel_samplingconfig to build the schedule correctly.steps(INT, default 8) - the number of denoise steps you actually step through. 4-8 is the LCM sweet spot; more steps on an LCM LoRA just wastes time.denoise(FLOAT, default 1.0) - the img2img control. Drop it below 1.0 and the node computes a longersgm_uniformschedule, then slices off the tail so the step spacing stays correct for whatever fraction of the noise you're actually removing. Set 0.5 and keep 8 steps, and it quietly computes 16 then keeps the last 9 sigmas. This is the behavior beginners assumeBasicSchedulerhas and it doesn't always line up - here it's handled for you.
Output is a single SIGMAS, which feeds the sigmas input of your custom sampler node.
Installing it
No dependencies, no model files, no requirements.txt - the whole pack is one pure-Python file wrapping ComfyUI's built-in sampler machinery, so it installs in seconds:
# via ComfyUI Manager: Manager → Install Custom Nodes → search "ComfyUI-sampler-lcm-alternative" → Install → Restart
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/jojkaart/ComfyUI-sampler-lcm-alternative
# then restart ComfyUI
Where people get burned
The classic mistake is treating this as a magic-quality knob. It isn't - if your LCM images look flat, the scheduler was almost certainly correct all along and the problem is CFG. The author's own advice, repeated in the README: pair any of this pack's nodes with a RescaleCFG node so you can push CFG up toward 3.0, which noticeably helps both quality and the negative prompt, which normally does almost nothing at LCM's CFG 1. LCM is a seed-farming and real-time-preview tool first and a final-output tool second; if you need gallery quality, farm the seed here and re-render with your full 25-step sampler. The pack's real-world track record backs the "good enough for iteration" claim - it shows up credited in AnimateLCM and Wan 2.2 distilled workflows, typically at CFG 1.0 and 4 steps, because it's a fast, predictable way to generate.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| steps | INT | 81–10000 | — |
| denoise | FLOAT | 1.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |