Split at Sigma
Split your schedule where the sigma says, not where the index does
- sigmas
- SIGMAS
- SIGMAS
ComfyUI's built-in Split Sigmas node splits a schedule by index - "first N sigmas, then the rest." Split at Sigma splits by value: everything above a noise threshold vs. everything at or below it. Same job, different unit, and the different unit is the point. The README's one-liner is the whole pitch: it's "primarily useful in setting up refiner models without having to reverse engineer the timestep schedule for differing numbers of steps."
What it does
You hand it a monotonically decreasing SIGMAS list and a sigma value; it walks the list and splits at the earliest sigma that's less than or equal to the value you gave. The first output is the high-noise part (including the boundary sigma), the second is everything from the boundary on.
Inputs:
- sigmas (SIGMAS) - a descending schedule, e.g. from BasicScheduler.
- sigma (FLOAT, default 1) - the noise level to split at.
Outputs: two SIGMAS.
Why value-based beats index-based here
Refiner setups have a classic annoyance: you want the base model to handle the noisy part and the refiner to handle the clean part, with the handoff at a specific noise level. If you split by index, the index where that handoff should happen moves when you change the step count - the schedule gets stretched or compressed, so "sigma 1.0" lands at a different position. Split at Sigma keys the boundary to the noise value, so it stays put no matter how many steps you sample at. Change 20 steps to 30 and the split stays at the same sigma; re-derive nothing.
The default of sigma 1 is a sane starting point for the classic SDXL base→refiner handoff, but it's model-dependent - log your schedule (the pack's Log Sigmas node exists for exactly this) and pick the boundary that looks right.
How it fits the pack
Note that this node outputs SIGMAS, not predictions - it's a schedule utility, living under Add Node > sampling > custom_sampling > sigmas, not in the prediction menu. It's useful with this pack because you can hand one half to the pack's Switch Predictions via its sigmas input (a value-matching operation, so the two tools agree), or more classically you feed the two halves to a two-stage sampler setup with different models. Its sibling in the pack, Select Sigmas, is the index-based cousin - use Select when you're counting steps, Split at Sigma when you're thinking in noise levels.
Installing it
Ships in the ComfyUI-Prediction pack by @RedHotTensors (Project RedRocket). ComfyUI Manager → search "ComfyUI-Prediction", or:
cd ComfyUI/custom_nodes
git clone https://github.com/redhottensors/ComfyUI-Prediction
Restart ComfyUI. No extra dependencies or model files.
Common issues
- Expecting ascending input. It assumes a monotonically decreasing list, per the README. Feed it the raw scheduler output.
- Boundary ambiguity. The split point is the first sigma ≤ your value; if your value sits between two sigmas, the boundary sigma lands in the first half. That's the documented behavior, not a bug.
- Wrong output for your sampler. Remember the trailing 0.0 sigma - one of the two halves always contains it, and the model isn't evaluated there.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| sigmas | SIGMAS | — | |
| sigma | FLOAT | 1.00 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |
| SIGMAS | SIGMAS | — |