Nodes/ComfyUI LC123 Nodes/LC Split Sigmas (Advanced)
ComfyUI Node

LC Split Sigmas (Advanced)

Cut one schedule in two, run each half with its own model

By lonecatone23·Created 2 months ago·Updated 3 days ago· 18
LC Split Sigmas (Advanced)
  • model_1
  • sigmas_1
  • model_2
  • sigmas_2
  • sigmas_high
  • sigmas_low
step_swap10
denoise1.00

Dual-pass sampling is the technique where you denoise the first, high-sigma half of a schedule with one model or CFG, then hand off to a second pass for the low-sigma tail - the classic "rough it in with the base model, finish it with the refiner" pattern. The fiddly part has always been splitting a sigma curve cleanly at the right point. LC Split Sigmas (Advanced) does that split, with the flexibility to feed it two completely different schedules.

The "Advanced" in the name is accurate: this is the BYO-curves version. It doesn't build schedules itself - you bring the sigma curves (typically from two LC Basic Scheduler nodes, or any SIGMAS source), and it splits them at step_swap into sigmas_high and sigmas_low, ready for a SamplerCustomAdvanced-style consumer.

The inputs that matter

  • model_1 - first-pass model (pairs with the high-sigma curve).
  • sigmas_1 - the full first-pass schedule; steps are set upstream on the scheduler that produced it.
  • step_swap - the handoff index. If it's ≥ the total steps on sigmas_1, the split is ignored and sigmas_1 runs to completion - a safe "no-op" behavior, not an error.
  • denoise - applied to the curve(s) before splitting (1.0 = full).
  • model_2 / sigmas_2 (optional) - second-pass model and schedule. If sigmas_2 is missing, sigmas_1 is used for the whole schedule; if model_2 is missing it's treated as model_1.

Outputs: sigmas_high (0..swap from curve 1) and sigmas_low (swap..end from curve 2).

How it works

The honest detail: the sigma math runs purely on the curves. The models are there for wiring - so your SamplerCustomAdvanced gets the right model paired with the right half - but the split itself is high = s1[:step+1], low = s2[step:] after applying the denoise trim. That means the two halves don't need to share a scheduler: you can run karras for the base and normal for the finish, or two totally different step counts. That's the real power of the Advanced variant versus the all-in-one LC Split Sigma Scheduler.

Install

It's in the LC123 pack - ComfyUI Manager (search "LC123") or:

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

Restart. No extra pip packages; MIT licensed. Cloud-hosted ComfyUI needs LC123 requested or run locally.

The honest caveat

This is a niche tool for people deliberately running two-pass schedules. If you're on a distilled model - Klein, Z-Image Turbo, the CFG-1 crowd - the dual-pass pattern is usually unnecessary; single-pass with a good sampler/scheduler is the norm there. Reach for this when you have a real reason to run two curves, not because the graph looks more serious with it in. When you do, feeding it from two LC Basic Schedulers is the intended setup.

CategoryLC123/sampling

Inputs (6)

NameTypeDefaultDescription
model_1MODEL1st-pass model (pair with sigmas_1 / high pass).
sigmas_1SIGMASFull 1st-pass schedule (steps set on LC Basic Scheduler).
step_swapINT100–10000Handoff step after denoise. If >= total steps on sigmas_1, split is ignored and sigmas_1 runs to completion.
denoiseFLOAT1.000–1Denoise applied to curve(s) before the split (1.0 = full).
model_2optMODEL2nd-pass model. Optional — falls back to model_1 when empty.
sigmas_2optSIGMAS2nd-pass schedule. Optional — falls back to sigmas_1 (entire schedule from the first curve).

Outputs (2)

NameTypeDescription
sigmas_highSIGMAS
sigmas_lowSIGMAS