SamplerLCMCycle
When LCM feels boring, cycle Euler and LCM steps instead
- SAMPLER
If you've done any amount of txt2img with LCM you know the complaint: fast, sure, but the images can look artificial - smooth, plastic, and a bit too clean, like the model never got a chance to build texture. SamplerLCMAlternative mixes a fixed block of Euler steps into the front of an LCM run; SamplerLCMCycle is the author's answer to "what if they alternated the whole way through." It repeats a short cycle of Euler steps and LCM steps until the schedule runs out, which keeps injecting that fine detail-generating noise back into the trajectory instead of front-loading it. It's the node the README literally pitches at the bored-LCM crowd: "If you're doing txt2img with LCM and feel like LCM is giving boring or artificial looking images, give this sampler a try."
How it works
The sampler builds a repeating pattern - euler_steps of Euler followed by lcm_steps of LCM, over and over - and walks the sigma schedule through it. Each cycle nudges the image toward detail via Euler, then lets the consistency model snap it back toward a coherent result. The tweak_sigmas toggle exists because a repeating cycle doesn't always land neatly on a fixed sigma schedule: when on, the node reorders the sigma list so each phase of the cycle gets the noise level it expects, which can smooth out artifacts at phase boundaries.
Inputs worth knowing
euler_steps(INT, default 1) - Euler steps per cycle.lcm_steps(INT, default 2) - LCM steps per cycle. Default cycle is therefore 1 Euler + 2 LCM.tweak_sigmas(BOOLEAN, default false) - leave it off until you notice banding or discontinuities where the phases meet; flip it on and see if the boundaries clean up.ancestral(FLOAT, default 0.0) - same asSamplerLCMAlternative: fresh noise injected into the Euler steps, with the amount controlling how much. 0.0 is the safe start.
Output is a SAMPLER for a CustomSampler node, paired with a scheduler - LCMScheduler from this same pack is the natural fit since it guarantees the sgm_uniform schedule LCM wants.
The steps trap
The one real rule here: give it enough steps. The author recommends at least 6 total steps so you get two full 3-step cycles, and this sampler genuinely benefits from extra steps - 8-12 isn't wasteful the way it is on plain LCM. If you run it at 4 steps you get roughly one cycle and it behaves suspiciously like the plain sampler you were trying to escape. Also keep the old expectation in mind: Euler steps at the end still mean the output converges, so if you're used to ancestral samplers never settling, this one is the opposite - same seed, same image.
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, no model files, GPL-3.0. The README ships example workflows for this node (SamplerLCMCycle-workflow.png in the repo) if you want a working starting graph instead of building one.
Should you bother?
Cycle is the middle child of the pack: less tunable than SamplerLCMAlternative (one fewer meaningful dial), less powerful than the dual-sampler nodes. Its niche is specifically "I like the idea but want the texture spread across the whole run." Try it if LCM images feel top-heavy on detail - sharp early, plastic later. If it doesn't click, SamplerLCMDualNoise is the author's actual favorite and a more dramatic change of scenery.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| euler_steps | INT | 11–50 | — |
| lcm_steps | INT | 21–50 | — |
| tweak_sigmas | BOOLEAN | false | — |
| ancestral | FLOAT | 0.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SAMPLER | SAMPLER | — |