Sigmas Split Value
Cut a noise schedule in two for two-stage sampling
- sigmas
- high_sigmas
- low_sigmas
Sigmas Split Value takes a sigma schedule and cuts it in two at a specific noise level, handing you a high-noise half and a low-noise half. That's the setup for two-stage sampling: run the coarse, high-noise part of the schedule with one sampler or model, then finish the fine, low-noise part with a different one. It's the sigma-side companion to RES4LYF's chainsamplers.
This kind of split is quietly powerful. A lot of the current-generation tricks - a base model for structure and a refiner for detail, a heavy solver early and a cheap one late, or the WAN 2.2 style of swapping models partway through the denoise - come down to "handle high noise differently from low noise." Splitting the schedule by sigma value (rather than by step index) means you cut at a meaningful point in the denoising process, which is more stable across different step counts than counting steps.
How it works
You give it a full sigma schedule and a split_value. Everything at or above that sigma goes into the high-noise output; everything below goes into the low-noise output. A bias toggle decides which side an exactly-on-the-boundary value lands. You then feed each half to its own sampler.
The inputs and outputs that matter
sigmas(SIGMAS) - the schedule to split, from any scheduler node.split_value(default 0.875) - the sigma level to cut at. Higher means more of the schedule falls into the low-noise half; lower shifts the boundary the other way.bias_split_up(default false) - which half claims the boundary value; a small detail that keeps step counts exact.
Outputs are high_sigmas (SIGMAS, the noisy first stage) and low_sigmas (SIGMAS, the refining second stage). Wire each into its respective sampler pass.
How to install it
Ships with RES4LYF. ComfyUI Manager: search RES4LYF, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF/
cd RES4LYF
pip install -r requirements.txt
Portable builds use the embedded pip. Restart, hard-refresh (F5).
Common issues
The thing to get right is that the two halves must join back up cleanly. The low-noise stage has to start its latent from wherever the high-noise stage left off - if you re-noise or reset between them, the seam shows. In practice that means running the second pass without fresh noise addition, which is exactly what RES4LYF's resample sampler mode is for. Second, split_value is a sigma, not a percentage or a step number, so a good split point depends on your scheduler's range; if one stage ends up doing almost nothing, your cut landed too near an end - move it toward the middle of the actual sigma range. And this is a building block, not a finished workflow: it pairs with the pack's chainsamplers and multi-stage setups, so it makes most sense once you're already running two-stage sampling.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| sigmas | SIGMAS | — | |
| split_value | FLOAT | 0.8750–80085 | — |
| bias_split_up | BOOLEAN | false | If True, split happens above the split value, so high_sigmas includes the split point. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| high_sigmas | SIGMAS | — |
| low_sigmas | SIGMAS | — |