Sigmas Split
Cut a noise schedule in two for chain sampling
- sigmas
- SIGMAS
Sigmas Split takes a schedule and returns a slice of it. Give it a start and an end index, and it hands back just that portion of the SIGMAS - the first several steps, or the last few, or a chunk from the middle. On its own that sounds dull. What it unlocks is the interesting part: running different samplers on different phases of the same generation, which the RES4LYF README calls "chainsamplers."
The idea is that early steps and late steps want different things. Early on you're establishing composition; late on you're resolving detail. So you split the schedule, run the first slice through one sampler (say a fast multistep solver to lock the layout), then run the second slice through another (a slower substep solver for a clean finish), feeding the latent from the first stage into the second. It's the manual, precise version of what the all-in-one samplers do internally.
How it works
A SIGMAS schedule is just an ordered list of noise levels, one per step. This node keeps the entries between sigmas_start and sigmas_end and drops the rest, so the output is a shorter schedule covering only the phase you want. You run two Sigmas Split nodes off one scheduler - one for the head, one for the tail - and wire each into its own sampler stage.
The inputs that matter
- sigmas (
SIGMAS) - the full schedule to cut, from any scheduler. - sigmas_start (
INT, default 0) - the step index the slice begins at. 0 keeps it from the top. - sigmas_end (
INT, default 1000) - the step index the slice ends at. The default is effectively "to the end"; set it to your handoff step to take just the front portion.
The single output is SIGMAS - the sliced schedule, ready for a sampler's sigmas input.
Installing it
ComfyUI Manager: search RES4LYF, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF/
cd RES4LYF
pip install -r requirements.txt
pip install in the venv or portable Python, restart, hard-refresh (F5). No downloads.
Where people get tripped up
The whole point of a chainsampler is that the two halves join cleanly, and that only works if the split index lines up. If stage one runs steps 0–14 and stage two starts at step 16, you've skipped a noise level and the handoff will show - usually as a soft or slightly broken transition. Split at the same index you resume at: end the first slice where the second one starts.
The other thing is remembering this is a slicer, not a scheduler. It needs a SIGMAS input to cut, so wire a real scheduler (beta57, Tan Scheduler, whatever) into it first. And as with every sigma node in this pack, preview the pieces - drop the split schedules into a sigmas-preview node so you can confirm the two slices actually tile the full curve before you spend a render finding out they didn't.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| sigmas | SIGMAS | — | |
| sigmas_start | INT | 00–1000 | — |
| sigmas_end | INT | 10000–1000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |