Nodes/ComfyUI_LC123_nodes/LC Detail Daemon (model) (BETA)
ComfyUI Node

LC Detail Daemon (model) (BETA)

The Detail Daemon for People Still Using a Plain KSampler

By lonecatone23·Created 3 months ago·Updated about 7 hours ago· 46
LC Detail Daemon (model) (BETA)
  • model
  • sigmas
  • MODEL
◄amount1.00►
◄start0.15►
◄end0.85►
◄peak0.00►
◄exponent0.00►
◄modelook only►

The Detail Daemon trick - telling the model there's slightly less noise than there really is, so it leaves more fine texture behind - normally lives inside a custom sampler chain. That's fine if your graph is KSamplerSelect → SamplerCustomAdvanced, and useless if it isn't. LC Detail Daemon (model) is the same thing bolted onto the MODEL wire instead, so it drops into the plain KSampler you already have.

Same trick, different socket

Mechanically it's the identical nudge. Within a window of the steps, the sigma handed to the model is scaled down by a small percentage driven by amount (0.25 = the model is told 2.5% less noise at the peak). It denoises as if the latent were already a bit cleaner, so pores, fabric weave and hair survive instead of getting sanded off.

The window is start / end (defaults 0.15 / 0.85), peak (0 = strongest at the start, on the noisy steps - that's the recommended setting), and exponent (0 = flat, full strength across the window). And you pick a mode:

  • look only (default) - the model is told less noise, but its answer is rescaled to the real sigma, so you get crispness without the composition drifting.
  • classic - the original Detail Daemon. More detail, and yes, small unprompted things can change.
  • keep structure - classic with only the fine part of the change kept. Layout stays put; it costs two model calls per step in the window, about 45% slower.

The change is not multiplied by CFG, so the same amount behaves the same at CFG 1 and CFG 7. On the flow-matching models most people are running now, that's the difference between a knob that works and a knob that keeps getting weaker as everyone drops their CFG.

Inputs and outputs

You give it model - from your loader or after your LoRA chain - and it returns a MODEL. That goes straight into KSampler's model input, or into another patch. Because it's a model patch, it stacks with the other patches people pile up on that wire (ModelSamplingAuraFlow, TorchCompile, attention patches, ControlNet application, LoRA). Order is worth a thought: whichever patch is closest to the sampler gets the last word, and the daemon works on the sigma it receives, so put it where it sees the real sampling schedule.

One honest consequence of patching the model rather than the sampler: any sampler that uses this patched model gets the daemon. Fan the same patched MODEL into two KSamplers and both get it. With the sampler version you attach the behaviour to one specific sampler instead. If you want the daemon on just one of a two-pass setup, that's your reason to pick the sampler variant (or to clone the model chain).

The optional sigmas input changes nothing about the result - the author wired it purely so the node can draw where your steps land.

Install

Same pack, same easy install. No requirements.txt; LC123 needs only what ComfyUI ships.

cd ComfyUI/custom_nodes
git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes.git

Restart, and check the console for [LC123] + lines. ComfyUI Manager users can search ComfyUI LC123 Nodes instead. If nothing loads, verify __init__.py is directly inside ComfyUI/custom_nodes/ComfyUI_LC123_nodes/ - one extra nesting level from a zip extract is the classic silent failure.

Dialing it in (and what goes wrong)

The author's defaults are aimed at Krea 2 / Krealism: look only, 1.0, start 0.15, end 0.85, peak 0, exponent 0. From there:

  • 16+ steps? Knock amount down. The same number at 30 steps is a heavier hand than at 12.
  • Running an ancestral or SDE sampler (euler_ancestral, dpmpp_2m_sde, er_sde)? Lower amount or you'll find specks in flat areas. The daemon's extra texture and the sampler's own injected noise multiply.
  • 4-step distilled models won't show much. There's almost no window to work in.
  • Flat 1.0 across the whole window at end 1.0 is the setting that makes people say it looks "crunchy". That's late-step noise being preserved, not detail.

And the usual warning that applies to any Detail Daemon: classic mode moves small things. If your subject's clothing or background focus changes in a way you didn't prompt, that's expected behaviour - switch to look only, which is why it's the default here.

CategoryLC123/sampling

Inputs (8)

NameTypeDefaultDescription
modelMODELThe model going into your KSampler.
amountFLOAT1.00-5–5How much detail. The same scale as the original Detail Daemon: 0.25 = the model is told 2.5% less noise at the peak. Negative = smoother. Not multiplied by CFG. Put it on the low pass sampler. Detail is made in the last steps; on the high pass it moves the layout. Krea 2 / Krealism: look only 0.5 to 1.0, start 0.15, end 0.85, peak 0, exponent 0. classic and keep structure hit harder: start lower. At 16+ steps use less. Samplers that add their own noise (dpmpp_2m_sde, euler_ancestral, er_sde, res_* / ClownSampler with eta): lower it, or it can leave specks.
startFLOAT0.150–1The step where it begins: 0 = first step, 1 = last. Early steps shape folds and fabric.
endFLOAT0.850–1The step where it ends. Leave the last steps alone, or noise can stay in the image.
peakFLOAT0.000–1Where in the window it is strongest (the original's bias): 0 = right at start, on the noisy steps, where it shapes things (works best); higher = later, a gentler sharpen.
exponentFLOAT0.000–10The ramp's curve: 0 = flat, full strength across the whole window (works best); 1 = a smooth bump; above 1 = narrower.
modeCOMBOlook onlylook only = the model sees less noise, but its answer is rescaled to the real noise: crisp, without big reshuffles. classic = the original Detail Daemon (more detail, small things shift). keep structure = classic, but only the fine part of the change is kept, so the layout stays (two model calls per step in the window).
sigmasoptSIGMASDraws the graph only. Wire the sigmas of the sampler this feeds (sigmas_low for the low pass). The window always follows that sampler's own steps.

Outputs (1)

NameTypeDescription
MODELMODEL—