🍄Great Multiply Sigmas
The sigma node that shows its work
- sigmas
- SIGMAS
If you've poked around sampler workflows you've seen the Detail Daemon - Jonseed's ComfyUI custom node that got genuinely famous for punching detail into models like HiDream (there's a whole "+200" r/StableDiffusion thread about it taking HiDream "to another level"). The Great Multiply Sigmas is that idea with better controls: it multiplies the sigmas in your denoise schedule, but it lets you shape where and how the change ramps, and it'll draw you a before/after graph of what it did.
It's the "sigmas" node in the NDDG_Great_Nodes pack. The README is upfront that it builds on the Jonseed node and adds three things: an s_curve option, independent start and end multipliers for the affected region, and an optional preview that shows the curve before and after. You can also chain several of these together for finer control.
How it works
In ComfyUI, the scheduler (Karras, linear, sgm_uniform...) produces a list of SIGMAS - the noise levels at each denoising step. That list normally goes straight into a sampler. This node sits in between and multiplies the values.
What it does that plain Detail Daemon doesn't: the zone_start and zone_end inputs (0–1, normalized along the schedule) define which part of the denoise process gets touched. Steps outside the zone pass through untouched. Inside the zone, each step's multiplier is computed from start_factor (the value at the zone's beginning) ramping toward end_factor (at the zone's end), with the ramp shaped by curve_type - linear, or s_curve, a sigmoid whose steepness comes from curve_strength. Everything then gets scaled by factor_global, so you can push the whole effect up or down without rebuilding the ramp.
The show_preview toggle (the optional input) renders a matplotlib chart of the original sigmas in blue against the modified ones in red, with the edited zone highlighted. That's the "shows its work" bit - you finally see what a multiplier actually did to your schedule instead of guessing.
The output is SIGMAS, and it goes where the scheduler's output went: into the sigmas input on a KSampler (Advanced) (or a sampler that accepts a custom sigmas path). The node is marked as an output node, so it behaves like a terminal visually, but you still chain its sigmas onward.
The inputs that matter
factor_global- the master multiplier. 1 = nothing happens. Above 1 = more aggressive denoising in the zone (the classic "more detail" direction), below 1 = smoother/softer.zone_start/zone_end- where in the schedule the effect lives. Early steps define composition, later steps define texture detail; putting your boost near the end is where most of the visible detail gain lives.curve_typeandcurve_strength- linear for a plain ramp, s_curve for a smooth S transition (this is the NDDG addition). Highercurve_strengthmakes the S steeper.
How to install it
Part of the NDDG_Great_Nodes pack - one install, five nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/NeoDroleDeGueule/NDDG_Great_Nodes
or search NDDG_Great_Nodes in ComfyUI Manager, then restart. No models, no downloads.
Troubleshooting
The one real dependency to know about: the preview graph needs matplotlib, and the pack imports it at module load - so if your ComfyUI Python env is missing it, the whole pack fails to import with a ModuleNotFoundError: matplotlib and none of the five nodes appear. pip install matplotlib in ComfyUI's Python environment fixes it, and then the preview works.
The other thing people trip on: this node works on the sigmas list, so if it's not in the sigmas path (scheduler → this node → sampler), it does nothing. You can't just drop it next to a sampler and expect magic. Also remember it only modifies the zone - if you set factor_global to 2 and see no change, check that your zone_start/zone_end actually covers the steps you care about. Chained instances each apply in sequence, which is exactly how people stack a mild global boost with a stronger late-schedule detail bump.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| sigmas | SIGMAS | — | |
| factor_global | FLOAT | 1.0000–100 | — |
| start_factor | FLOAT | 1.0000–100 | — |
| end_factor | FLOAT | 1.0000–100 | — |
| curve_type | COMBO | linear | 2 options: linear, s_curve |
| zone_start | FLOAT | 0.0000–1 | — |
| zone_end | FLOAT | 1.0000–1 | — |
| curve_strength | FLOAT | 2.00.1–10 | — |
| show_previewopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |