Schedule Slice
Cut a schedule down to the steps that matter
- sigmas
- sigmas
- schedule_info
The Schedule Slice node does exactly what its name says: it slices a verified schedule by terminal-inclusive sigma indices. Give it a schedule, a start_step, an end_step, and you get the sub-range back as a fresh, still-verifiable schedule. It's the pair of scissors in Sigmax's schedule-editing trio, alongside Concatenate and Resample.
Why cut a schedule at all? The honest answer is that most people won't need to - the Sigmax schedulers already have start_step/end_step slicing built in, so if you only want "steps 4 through 8 of this recipe," set it on the scheduler and be done. Schedule Slice earns its keep in the compound case: when you want to assemble a hybrid schedule from pieces of different recipes. Slice segment A from one schedule, slice segment B from another, and hand both to ScheduleConcatenate - which will join them at a shared boundary sigma. That's a real workflow for people building custom denoising trajectories across different recipe regimes, and Slice is the tool that makes the parts.
Inputs and outputs
- sigmas - the
SIGMASfrom a Sigmax scheduler. - schedule_info - the accompanying JSON.
- start_step - where the slice starts (default 0).
- end_step - where it ends (default 1).
Outputs: the sliced sigmas and a schedule_info that records the slice. "Terminal-inclusive" means the end index includes the terminal/zero sigma - worth knowing when you're lining up two segments for a later concatenation, because the boundary sigma is exactly the kind of detail that has to match.
Installing
One pack, all nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/rookiestar28/ComfyUI-Sigmax comfyui-sigmax
Restart, search Sigmax. ComfyUI Manager lists "ComfyUI-Sigmax". Python 3.10+, ComfyUI 0.29.0+, no extra dependencies.
Where people get burned
Reaching for Slice when the scheduler's own start_step/end_step would do the job - it's not wrong, just extra nodes. The real trap is slicing and then sampling the result without thinking about terminals: cut the zero-sigma end off and your sampler may not know where the clean image is. Keep the terminal in the slice unless you're deliberately building toward a concatenation. And as always with edited schedules: wire the result straight into the custom-sampling path and don't add a second scheduler on top.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| sigmas | SIGMAS | — | |
| schedule_info | STRING | — | |
| start_step | INT | 00–10000 | — |
| end_step | INT | 10–10000 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| sigmas | SIGMAS | — |
| schedule_info | STRING | — |