Nodes/ComfyUI-Detail-Daemon/Detail Daemon Sampler
ComfyUI Node Runs on cloud

Detail Daemon Sampler

The detail knob for Flux and Z-Image

By Jonseed·Created 2 years ago·Updated 8 months ago· 959
Detail Daemon Sampler
  • sampler
  • SAMPLER
detail_amount0.10
start0.20
end0.80
bias0.50
exponent1.00
start_offset0.00
end_offset0.00
fade0.00
smoothtrue
cfg_scale_override0.0

Your Flux or Z-Image render comes out soft. Faces look a little plasticky, the background is drowning in bokeh, and the fine texture you wanted just isn't there. On an old SD 1.5 or SDXL workflow you'd nudge CFG up a bit and get more bite. On modern distilled models you can't - CFG is pinned at 1 by design, and cranking it just burns the image. That's the gap Detail Daemon Sampler fills. It's a detail slider that doesn't touch your guidance.

What it actually does

This node is a wrapper. You feed it a normal sampler and it hands you back a modified one that injects the same amount of noise at each step but removes less of it. That leftover noise is what reads as detail - more texture in skin and fabric, sharper edges, less of that AI wax-museum smoothness. Crucially it does this by adjusting the sigma passed to the model while the rest of sampling stays exactly the same, so it's not a post-process filter bolted on the end; it's changing what the model sees mid-denoise. It's a ComfyUI port of muerrilla's sd-webui-detail-daemon, with the sampler wiring done by blepping.

The technique caught on for a reason. It shows up across HiDream, Flux, SDXL, Qwen and Z-Image workflows, and the appeal is that it's basically free - no extra model, no meaningful time cost, just a different sigma schedule.

The inputs that matter

There are ten inputs but you'll touch three:

  • detail_amount - the main dial. Positive values add detail, negative values simplify. The right range is very model-dependent: for Flux or Z-Image you'll want roughly 0.11.0 (sometimes higher), but for SDXL keep it under about 0.25 or things go crunchy fast.
  • start and end - when the adjustment applies, as a fraction of the sampling run (0 = first step, 1 = last). Big shapes are set early and fine detail lands late, so the defaults (start 0.2, end 0.8) push most of the effect into the middle-to-late steps where detail actually forms. Recommended-ish: start around 0.1–0.5, end around 0.5–0.9.

The rest - bias, exponent, start_offset, end_offset, fade, smooth - shape the curvature and timing of the adjustment curve. Leave them at defaults until you have a reason not to. One worth knowing: cfg_scale_override defaults to 0, which lets the node figure out your CFG automatically; only set it if that autodetect misfires, and then match your workflow's actual CFG.

The single output is a SAMPLER. It wires straight into the sampler input of SamplerCustomAdvanced.

Installing it

Easiest path is ComfyUI Manager: open it, search ComfyUI-Detail-Daemon, install, restart. Manual works fine too:

cd ComfyUI/custom_nodes
git clone https://github.com/Jonseed/ComfyUI-Detail-Daemon

Then restart ComfyUI. There are no model downloads and no heavy dependencies - it's pure sigma math, so the install is instant.

Where people get burned

The big one: this node only works out of the box with the custom sampler nodes like SamplerCustomAdvanced. If you plug its output into a plain KSampler or KSamplerAdvanced, nothing happens, because those don't accept a wrapped SAMPLER the same way. The fix is to build a sampler preset with the BlehSetSamplerPreset node from blepping's ComfyUI-bleh pack and select it in the KSampler - but honestly, if you're doing detail work you probably want to be on a SamplerCustomAdvanced graph anyway.

Second: push detail_amount too far and you don't get "more detail," you get an oversharpened, HDR-looking mess with haloed edges. If it looks fried, back the value down before touching anything else. Third, and easy to miss - adding detail can quietly change your composition. Because you're altering what the model denoises, a strong setting can turn a plain dress floral or shift small elements, which reads as broken prompt-following if you didn't expect it. Use a fixed seed and compare with the node bypassed so you can actually see what it changed, not just that it changed something.

Categorysampling/custom_sampling/samplers

Inputs (11)

NameTypeDefaultDescription
samplerSAMPLER
detail_amountFLOAT0.10-5–5
startFLOAT0.200–1
endFLOAT0.800–1
biasFLOAT0.500–1
exponentFLOAT1.000–10
start_offsetFLOAT0.00-1–1
end_offsetFLOAT0.00-1–1
fadeFLOAT0.000–1
smoothBOOLEANtrue
cfg_scale_overrideFLOAT0.00–100If set to 0, the sampler will automatically determine the CFG scale (if possible). Set to some other value to override.

Outputs (1)

NameTypeDescription
SAMPLERSAMPLER