Detail Daemon Options
Shape the sigma curve, not just the sliders — the Detail Daemon tuning node
- dd_options
Somewhere in ComfyUI you've probably seen people raving about Detail Daemon - the Jonseed pack that pumps extra fine detail into generations by manipulating the sigma schedule during sampling instead of just cranking prompt weight. Person Detailer in this pack has Detail Daemon built in, and detail_amount on it is enough for most people. This node is the fine print: it lets you reshape the exact sigma curve that Detail Daemon uses, so you control when during denoising the detail boost happens, not just how strong it is.
If you're happy with the default detail, skip this node entirely. It's purely an override bundle - an options object that plugs into Person Detailer's dd_options input and replaces the built-in curve. Reach for it when faces come out either too smooth and plastic (you need more mid-range detail push) or overcooked and crunchy (you're boosting in the wrong range).
What the knobs mean
Detail Daemon works by modulating the noise levels (sigmas) across the denoise range. The concept: boost detail by flattening or reshaping the sigma curve in the mid-denoise region, where structure forms, rather than at the start or end. All seven inputs are curve parameters:
dd_start/dd_end- where the modulation begins and ends, as a fraction of the denoise range (0.0–1.0). Defaults 0.2 to 0.8. Narrow the window to make the effect surgical; widen it to touch the whole pass.dd_bias- shifts the curve's center of gravity. Lower biases put more of the effect earlier in the range.dd_exponent- shapes the curve: how steeply the modulation ramps up between start and end. The 0.99 default is near-linear.dd_start_offset/dd_end_offset- nudge the boundaries independently, handy for tapering one end.dd_fade- fade in/out at the range edges to avoid a hard discontinuity in the schedule. Artifacts at the boundary usually mean this wants to be higher, not lower.
You don't need to be a sampler physicist to use it. The practical loop: leave it at defaults, then adjust one thing at a time. If faces look under-detailed in a turbo model's fast 4-step pass, shift dd_start down toward 0.1 so the boost kicks in earlier. If you see shimmer or texture noise in skin, raise dd_fade and pull dd_end down to ~0.6 so the late denoise steps stay clean.
The one output
The node's entire job is producing a single dd_options object for Person Detailer's optional dd_options input. Nothing else. It doesn't touch pixels, doesn't need a model, and runs instantly. You can build a couple of these with different curves and switch between them with a reroute or a value node - that's the normal way people A/B curve settings.
Installing
Same pack, same one-time install:
cd ComfyUI/custom_nodes
git clone https://github.com/ping1979ping/comfyui-FVMtools
No extra dependencies for this node; it's pure parameter plumbing. Restart ComfyUI after cloning.
The gotcha
Detail Daemon interacts with denoise, and this is the thing people miss: the sigma curve only exists where there are sigmas. If you're inpainting at denoise 0.3, a curve that starts at 0.2 barely has room to do anything, and you'll conclude the node is broken. If you set dd_end past where the actual sampling range ends, you're just carrying dead weight. Set the curve to sit inside your actual denoise range and the effect shows up immediately. Also keep in mind the pack's built-in detail_amount on Person Detailer multiplies with whatever curve you ship here - if you've already got detail_amount at 1.0 and you also max the curve, you'll overshoot into crunchy territory fast.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| dd_start | FLOAT | 0.200–1 | Start of the sigma range to modulate (0.0-1.0) |
| dd_end | FLOAT | 0.800–1 | End of the sigma range to modulate (0.0-1.0) |
| dd_bias | FLOAT | 0.500.01–5 | Bias shifts the modulation curve |
| dd_exponent | FLOAT | 0.990.01–5 | Exponent controls the curve shape |
| dd_start_offset | FLOAT | 0.00-0.5–0.5 | Offset applied to start boundary |
| dd_end_offset | FLOAT | 0.00-0.5–0.5 | Offset applied to end boundary |
| dd_fade | FLOAT | 0.000–1 | Fade in/out at range boundaries |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| dd_options | DD_OPTIONS | — |