SamplerLCMAlternative
The LCM sampler that lets a little Euler back in
- SAMPLER
The whole reason this pack exists is that plain LCM output, while fast, has a particular look: smooth, fast, and just a little flat. LCM jumps to the answer in 4-8 big steps, and at that step count it tends to skip the micro-detail that 20-step Euler delivers. SamplerLCMAlternative is the pack's namesake fix - an LCM sampler you can dial in a few honest-to-goodness Euler steps so you get the speed of LCM and some of the texture of a real solver. It's the node that best earns the "alternative" in the repo name.
How it works
With every input at its default (euler_steps 0), the code path is byte-for-byte the stock ComfyUI LCM sampler - same removed-noise math, same behavior, nothing to lose. Turn on euler_steps and the sampler walks through a schedule where the first N steps reuse the noise they removed (that's the classic Euler step), and the remaining steps run pure LCM. There's a shared backbone function doing the actual stepping, and which branch runs is decided per-step by a simple loop list the node builds from your parameters.
The inputs that matter
euler_steps(INT, default 0) - how many leading steps are Euler instead of LCM. Positive N: first N steps. Negative N: last N steps (LCM leads, Euler finishes). Start at half your total step count and tune from there, the author's own advice. Higher = more detail and sharpness; lower = flatter, faster.ancestral(FLOAT, default 0.0) - injects fresh randomness into each Euler step, turning the Euler portion into something Euler-a-like. The value controls how much (0.0 = none, 1.0 = fully random). Small amounts like 0.1-0.2 add a bit of texture and variety without losing convergence; crank it and your fixed seed stops being fixed, so it's a bad idea for A/B testing.noise_mult(FLOAT, default 1.0) - scales the noise re-added on those Euler steps. It's the one parameter that isn't in the README's prose, and you'll rarely need it; think of it as a detail/grain trim knob if 1.0 feels slightly too hot or too sterile for your checkpoint.
Output is a SAMPLER object - wire it into the sampler input of a CustomSampler node, with a scheduler like LCMScheduler (from the same pack) feeding its sigmas. There's no shortcut around the custom-sampling workflow for any of these nodes; that's the whole category.
Installing it
# ComfyUI Manager: Manager → Install Custom Nodes → search "ComfyUI-sampler-lcm-alternative" → Install → Restart
# or:
cd ComfyUI/custom_nodes
git clone https://github.com/jojkaart/ComfyUI-sampler-lcm-alternative
# restart ComfyUI
No dependencies beyond what ComfyUI already ships - no requirements.txt, no downloads, GPL-3.0.
The honest take
This is the node you reach for when you're on SD 1.5 or SDXL with an LCM LoRA, CFG 1-2, 6-8 steps, and the results are technically fine but a touch sterile. It's the gentlest of the pack's four samplers and the most predictable one to tune, because euler_steps gives you a single mental dial: more Euler, more detail. If the flatness is really bothering you, the author eventually argued the SamplerLCMDualNoise / SamplerLCMDuoFusion nodes are better - but those take more tuning, and for a beginner this is the one that gets you 80% of the way with one slider. Pair it with a RescaleCFG node and CFG ~3.0 per the README if you want the negative prompt to actually pull its weight.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| euler_steps | INT | 0-10000–10000 | — |
| ancestral | FLOAT | 0.000–1 | — |
| noise_mult | FLOAT | 1.0000–2 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SAMPLER | SAMPLER | — |