scheduler_interactive_sigmas
Drag points on your sigma curve instead of guessing numbers
- sigmas
- adjusted_sigmas
Sigma schedules - how much noise gets removed at each denoising step - used to be something you picked from a dropdown (karras, normal, beta, and so on) and left alone. That's changed: since flow-matching models made the old Karras-style reshaped curves actively counterproductive rather than merely suboptimal, a lot of the community's fine-tuning effort moved into hand-shaping the sigma curve itself, which is exactly what third-party sampler packs like RES4LYF are built around. This node gives you that same hands-on control directly in the graph: instead of picking a named schedule, you take an existing sigmas schedule and reshape it by dragging control points on its plotted curve, per the node's own description.
How it works
Feed it a sigmas input - the output of any scheduler node, whether it's ComfyUI's stock ones or another node in this pack like scheduler_ModelAligned or Scheduler_MixScheduler. The node's own UI lets you drag points on the resulting curve directly on the canvas; those manual adjustments get serialized into the sigmas_adjustments field as a JSON array, one adjusted value per step. That means the adjustment is fully reproducible and saveable - the JSON is what actually drives the output, the dragging is just how you produce it - so a workflow you share carries the exact curve you tuned, not just "trust me, I nudged it a bit."
The inputs and outputs that matter
sigmas(required, SIGMAS, tooltip: "Input sigmas schedule to edit") - the base schedule you're reshaping. This has to come from somewhere upstream - a standard scheduler node, or a custom one.sigmas_adjustments(required, STRING, default"[]", tooltip: "JSON array of adjusted sigma values for each step") - the actual per-step override values, normally produced by interacting with the node's curve widget rather than typed by hand, though nothing stops you from hand-editing the JSON directly if you know what you're doing.- Output:
adjusted_sigmas(SIGMAS) - feed this into your sampler in place of the original schedule.
How to install it
Search ComfyUI-Apt_Preset in ComfyUI Manager, or clone it manually:
cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
install.bat covers Windows dependencies; on Linux or Mac, open it, read the pip installs, and run them yourself, or let ComfyUI Manager fill in anything missing on first load. No model files needed - this works purely on the sigma schedule.
Common issues & troubleshooting
Not sure what you're even looking at, or why you'd bother. Pair this with scheduler_sigmas2Graph (also in this pack) so you can visualize the schedule you're editing and the effect of your adjustments before committing to a full render - dragging blind is a lot harder than dragging with the curve visible.
Adjustments don't seem to apply. Check sigmas_adjustments actually holds a populated JSON array and not the default "[]" - if the widget interaction didn't register (workflow loaded from a save where the drag state didn't persist, for instance), the node has nothing to apply and passes the base schedule through essentially unchanged.
Know you want a specific shape but dragging by hand is fiddly. If you're chasing something more systematic than manual point-dragging - a known-good schedule for a specific architecture at a specific step count - scheduler_ModelAligned in this same pack is the more direct route; use this node for hand-tuning on top of that rather than building a schedule from scratch by eye.
Karras or exponential-shaped output looks wrong on a flow-matching model. That's not this node misbehaving - heavily reshaped sigma curves are a known bad fit for flow-matching architectures (Flux, Qwen-Image, Z-Image) specifically, regardless of how they were produced. If your base sigmas already came from a Karras-style schedule, the problem is upstream, not in the adjustments you're layering on.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| sigmas | SIGMAS | Input sigmas schedule to edit | |
| sigmas_adjustments | STRING | [] | JSON array of adjusted sigma values for each step |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| adjusted_sigmas | SIGMAS | — |