ComfyUI Node
LatentDetailer
A ComfyUI node in latent/postprocess with 42 inputs and 1 output.
LatentDetailer
- model
- latent
- positive
- negative
- LATENT
◄seed-1►
◄sigmas0.40►
◄luma_clarity0.00►
◄boost_confidence0.00►
◄bloom_strength0.00►
◄bloom_threshold0.65►
◄bloom_radius8►
◄color_drift0.25►
◄color_drift_radius16►
◄cfg7.00►
◄cfg_hf_boost5.00►
◄cfg_lf_boost0.00►
◄cfg_radius5►
◄cfg_radius_flat0►
◄cfg_radius_adaptivetrue►
◄cfg_adapt_feather2►
◄cfg_adapt_gamma2.00►
◄detail_strength0.65►
◄hf_radius4►
◄mid_strength0.05►
◄detail_chroma0.10►
◄chromatic_aberration0.00►
◄protect_lows0.90►
◄soft_clip_detailtrue►
◄soft_clip_detail_k2.20►
◄soft_clip_cfgtrue►
◄soft_clip_cfg_k2.00►
◄noise_scale0.10►
◄grain_luma0.00►
◄noise_tail-1.00►
◄noise_radius1►
◄noise_flat_suppress1.00►
◄hires_scale1.0►
◄hires_strength0.75►
◄hires_use_importance_masktrue►
◄hires_mask_strength1.00►
◄ignore_cond_timestep_rangetrue►
◄debugfalse►
Categorylatent/postprocess
Inputs (42)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | -1-1–2147483647 | Random seed for grain/color drift. Use -1 for random each run. |
| sigmas | STRING | 0.40 | Comma-delimited list of normalized sigma positions (0..1). Each entry runs one UNet evaluation and the denoised estimates are averaged. Example: 0.25,0.55. 0=start (noisiest), 1=end (cleanest). |
| model | MODEL | — | |
| latent | LATENT | — | |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| luma_clarity | FLOAT | 0.000–1 | Mid-band local contrast on latent channel 0. 1.0 is intentionally strong. |
| boost_confidence | FLOAT | 0.000–1 | Boosts UNet-proposed micro detail ONLY where it appears confident; suppresses flats and strong edges. |
| bloom_strength | FLOAT | 0.000–1 | Approximate photographic bloom/halation by spreading bright highlights (luma only). Best paired with a little noise_scale (e.g. 0.02–0.08) for a more convincing photographic rolloff. |
| bloom_threshold | FLOAT | 0.650–1 | Only highlights above this luma threshold contribute to bloom. |
| bloom_radius | INT | 80–64 | Blur radius for bloom spread. Larger is softer but slower. |
| color_drift | FLOAT | 0.250–1 | Noise-driven granular color drift (micro color distribution). Higher = stronger. |
| color_drift_radius | INT | 160–64 | Granular drift scale. 1..3 is typical; 16 is very broad/slow drift. |
| cfg | FLOAT | 7.000–10 | Base CFG. This node applies additional HF/LF shaping when cfg > 1. |
| cfg_hf_boost | FLOAT | 5.000–5 | How strongly to inject high-frequency CFG detail (from den_pos - den_neg). |
| cfg_lf_boost | FLOAT | 0.000–2 | How strongly to inject low-frequency CFG contrast (usually keep low). |
| cfg_radius | INT | 50–64 | CFG split radius. In adaptive mode, this is the DETAIL radius. |
| cfg_radius_flat | INT | 00–64 | CFG split radius used in flat/low-detail regions when adaptive mode is ON. |
| cfg_radius_adaptive | BOOLEAN | true | If ON, blends between cfg_radius_flat (flat) and cfg_radius (detail). |
| cfg_adapt_feather | INT | 20–32 | Blur radius applied to the adaptive mask. Higher reduces halos but can soften detail reach. |
| cfg_adapt_gamma | FLOAT | 2.000.5–3 | Mask curve. >1 shrinks 'detailed' regions (less spill/halo). <1 expands them. |
| detail_strength | FLOAT | 0.650–2 | Strength of injected high-frequency detail from denoised estimate. |
| hf_radius | INT | 40–64 | Detail split radius for base projection (larger = coarser separation). |
| mid_strength | FLOAT | 0.050–0.5 | Adds some mid/low component of the base projection (contrast/shape). |
| detail_chroma | FLOAT | 0.100–2 | Scales how much the detail + CFG injections affect chroma latent channels (1..3). This is NOT chromatic aberration (no spatial shift). |
| chromatic_aberration | FLOAT | 0.000–1 | Lens-like chromatic aberration (spatial misregistration) applied to chroma latent channels (1..3) after all other adjustments. Very subtle effects are usually best (0.02–0.10). |
| protect_lows | FLOAT | 0.900–1 | Prevents HF detail from over-applying in low-frequency regions (reduces harshness). |
| soft_clip_detail | BOOLEAN | true | Soft-limits HF detail to reduce halos/zipper edges. |
| soft_clip_detail_k | FLOAT | 2.200.5–8 | Detail soft-clip amount. Higher = weaker limiting. |
| soft_clip_cfg | BOOLEAN | true | Soft-limits HF CFG injection to reduce harsh edges and background speckle. |
| soft_clip_cfg_k | FLOAT | 2.000.5–8 | CFG soft-clip amount. Higher = weaker limiting. |
| noise_scale | FLOAT | 0.100–0.5 | Micrograin intensity in latent space. |
| grain_luma | FLOAT | 0.000–1 | Luma-dependent grain: increases grain in shadows and reduces it in highlights. This primarily modulates the grain injected by noise_scale (and shaped by noise_radius). |
| noise_tail | FLOAT | -1.00-1–1 | Tail-heaviness of the grain noise distribution. 0 = Gaussian. + = heavier tails (more occasional strong specks / grit). - = lighter tails (smoother). RMS-normalized so noise_scale stays comparable. |
| noise_radius | INT | 10–16 | Grain correlation radius. 0=white, 1..3 often looks most photographic. |
| noise_flat_suppress | FLOAT | 1.000–1 | Suppresses grain in flat regions (local smoothstep mode, always-on). |
| hires_scale | FLOAT | 1.01–4 | If >1, runs ONE UNet pass at upscaled latent resolution, then downsamples denoised estimates back to 1x before post-processing. |
| hires_strength | FLOAT | 0.750–1 | How much of the hires-derived correction to apply. 0=off, 1=full. |
| hires_use_importance_mask | BOOLEAN | true | If ON, applies hires correction mostly where small/foreground-ish features are detected (cheap heuristic). |
| hires_mask_strength | FLOAT | 1.000–1 | 0 = uniform hires blend, 1 = fully importance-masked blend. |
| ignore_cond_timestep_range | BOOLEAN | true | If ON, strips timestep limits from conditioning ranges (more consistent behavior). |
| debug | BOOLEAN | false | Prints diagnostics to console. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |