Nodes/ComfyUI LC123 Nodes/LC Speed Boost (BETA) 🚀
ComfyUI Node

LC Speed Boost (BETA) 🚀

Sample the layout at half size, then grow to full size and finish

By lonecatone23·Created 3 months ago·Updated about 19 hours ago· 48
LC Speed Boost (BETA) 🚀
  • sampler
  • SAMPLER
◄autotrue►
◄grow_at_step4►

Start small, finish at full size

LC Speed Boost is a SAMPLER wrapper, not a sampler. You feed it the sampler you were already going to use and it hands one back, and on the way through it makes a deal with the schedule: the early steps, which decide composition and layout, don't need full resolution. So it starts the latent at half size, runs those steps there - a quarter of the pixels per step - grows to full size partway through, and finishes as normal. On a 1024×1024 first pass that's a quarter of the cost per early step, which is where the author's "about 2x faster" claim comes from. Not the pack's invention: it's the SPEED technique (Spectral Progressive Diffusion, Xiao/Chao/Yariv/Wetzstein), and the community port that reached reddit first was a standalone node wired into KSampler Advanced, with ~1.8x reported on Anima.

The bit that makes it more than a downscale

The naive version of this - sample small, then upscale the latent - destroys the picture, because the noise distribution after an upscale no longer matches what the sampler expects. Speed Boost handles it in the frequency domain. It shrinks the starting state by keeping the low-frequency part of its cosine spectrum, so what's left is still pure white noise at the same strength. At the grow point it pads that small state back to full size in the same basis, fills the new high-frequency region with fresh noise, then rescales the state and resumes at the matching noise level.

What that means for you: the picture is genuinely the same picture, but the layout changes - it was decided at half size, so the same seed frames things a little differently with the boost on. Every seed you liked before will give you a different image. That's the cost.

The inputs

Three, and only the first is a real choice.

  • sampler - your high-pass sampler. Feed it the SAMPLER output of KSamplerSelect, an LC Sigmas node, or LC Detail Daemon.
  • auto - on by default, and you should leave it on. It picks the grow step from the run's own schedule: the point where the noise level drops into the range the author benchmarked as the sweet spot.
  • grow_at_step - only read when auto is off. The step where the picture grows to full size, counted from the start of the run like a step swap. 0 means every step runs at full size, i.e. no boost.

Output is a single SAMPLER. Wire it into the sampler socket of the node that actually samples - or, on a split-sigma setup, into the high pass only, with LC Detail Daemon on the low pass. Detail is made in the final steps; Speed Boost is about the layout steps, so they want opposite ends of the schedule.

Where it goes quiet (and how you notice)

This node has a real conscience, and it's the best part. It checks whether it can actually help, and if it can't it runs at full size and prints why to the console:

[LC Speed Boost] Off for this run: not a flow model ...

It steps aside for inpaint masks, for models whose schedule isn't flow-matching (SDXL family and friends), and for anything starting under 0.9 denoise - an upscale or img2img pass, where the layout is already in your image. When it does run it prints that instead, and this is how you verify it engaged at all:

[LC Speed Boost] 4 of 8 steps at half size (latent 512x512 of 1024x1024), grew at noise 0.712 ...

Supported means flow-matching: Krea 2, Z-Image, Flux.2 Klein, Qwen-Image, Wan. The gate is the model's noise schedule rather than a hardcoded list, so other flow models generally qualify too.

Install

ComfyUI Manager → ComfyUI_LC123_nodes, or:

cd ComfyUI/custom_nodes
git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes.git

Restart, and Ctrl+F5 after any update. The pack is MIT, one author (lonecatone23, the CivitAI creator behind synth.studio.models), 141 Python nodes plus 5 JS-only ones - a utilities-first pack in the rgthree mould, and this is one of the few nodes in it that touches sampling. No requirements.txt, so nothing pip-installs; it uses the torch ComfyUI already has. The one trap: __init__.py must sit directly inside ComfyUI/custom_nodes/ComfyUI_LC123_nodes/, or no nodes appear at all.

Before you trust the claim

It's marked BETA and it deserves the label. The honest caveat from the community implementations of this technique is that SPEED can produce artifacts or semantic drift on some outputs - LC's version hedges by always finishing at full size and by refusing to run where it can't help, but it's still a schedule trick. Test it properly: drop an LC Timer next to both paths, run the same prompt and steps, compare. The repo's LC Speed Boost Test.json does exactly this on a two-pass Krea 2 setup, with a group bypasser to pick which path runs.

CategoryLC123/sampling

Inputs (3)

NameTypeDefaultDescription
samplerSAMPLERHigh pass sampler only. From LC Sigmas, KSamplerSelect or LC Detail Daemon.
autoBOOLEANtruePicks the grow step from the run's own schedule (about 2x faster, same quality).
grow_at_stepINT40–200Used when auto is off. The step where the picture grows to full size, counted like step_swap. 0 = every step at full size.

Outputs (1)

NameTypeDescription
SAMPLERSAMPLER—