Nodes/ComfyUI-Darkroom/Clarity / Texture / Dehaze
ComfyUI Node

Clarity / Texture / Dehaze

The three sliders every photographer reaches for first

By jeremieLouvaert·Created 5 months ago·Updated 3 days ago· 101
Clarity / Texture / Dehaze
  • image
  • image
clarity0
texture0
dehaze0
strength1.00
presetCustom (manual)

Open any serious raw processor and there they are: Clarity, Texture, and Dehaze. Three sliders that fix the three most common problems in an image - flat midtones, soft fine detail, and hazy contrast - and until now ComfyUI didn't have a proper home for them. Clarity / Texture / Dehaze is exactly that: a single node with the three sliders photographers actually use, plumbed into ComfyUI's node graph.

The three knobs

  • clarity (−100 to +100) - large-scale local contrast. It's "midtone punch": it adds contrast at a broad radius, which makes an image feel three-dimensional without blowing out highlights or crushing blacks. Push negative and it softens. This is the slider that makes landscapes and architecture "pop."
  • texture (−100 to +100) - fine detail enhancement. Where clarity works at a large radius, texture works at a small one - it sharpens surface detail (skin pores, fabric, rock) without affecting edges or haloing. Negative smooths. This is the one that makes fabric look woven instead of painted.
  • dehaze (−100 to +100) - atmospheric haze removal. It estimates and removes the milky, low-contrast veil of atmospheric scattering. Negative adds haze, which is a genuinely useful way to fake atmospheric depth on a too-clean render.

All three work independently, and all three work in both directions - that's a nice trick, because most "dehaze" implementations can only subtract.

The strength slider blends the whole adjustment back toward the original, and there's a preset dropdown with three "AI Mitigation" tiers (Subtle / Standard / Strong). The author's tooltip is worth reading: those presets are designed to stack with the HSL Selective node's AI Mitigation preset of the same tier - the pack treats "this image came out of a diffusion model and has that AI look" as a real problem it actively mitigates. Pick the matching tier in both nodes and the result is a clean, photographic base.

How it works

Under the hood it's a frequency-based local adjustment - clarity modifies mid-frequency local contrast, texture modifies high-frequency detail, dehaze estimates the global haze veil and pulls it. The exact filter math is scipy-based, like the rest of the pack, and it runs fine on CPU. It's a pixel-neighborhood operation, which is why the README lists it among the nodes excluded from LUT bake chains - you can't bake spatial effects into a per-pixel .cube. Apply it to the photo after extraction if you're exporting a LUT.

How to use it

Wire image in, and start with texture at +10–25 on anything with fabric, skin, or foliage. Add clarity at +10–30 when the image reads flat. Use dehaze only when there's actual haze - or negative dehaze when you want atmospheric depth. The node outputs a single image, so it slots anywhere in the AKURATE/Darkroom/Raw chain, ideally after exposure and white balance and before any grain.

Installing it

Part of the full ComfyUI-Darkroom pack:

cd ComfyUI/custom_nodes
git clone https://github.com/jeremieLouvaert/ComfyUI-Darkroom.git
pip install -r ComfyUI-Darkroom/requirements.txt

Or search "Darkroom" in ComfyUI Manager. Needs scipy, opensimplex, rawpy, exifread, Pillow; restart after install; found under AKURATE/Darkroom/Raw. No GPU, no models, no API.

One caution: clarity and texture are addictive, and stacking both high on every image is how you get that overcooked "HDR filter" look that screams AI-processing. Use them until it looks like a photo - then back off one notch.

CategoryAKURATE/Darkroom/Raw

Inputs (6)

NameTypeDefaultDescription
imageIMAGE
clarityFLOAT0-100–100Large-scale local contrast (midtone punch). Negative = soften
textureFLOAT0-100–100Fine detail enhancement without affecting edges. Negative = smooth
dehazeFLOAT0-100–100Remove atmospheric haze. Negative = add haze effect
strengthoptFLOAT1.000–1Blend between original (0) and adjusted (1)
presetoptCOMBOCustom (manual)AI Mitigation presets stack with HSL Selective preset of the same tier. Manual sliders add on top

Outputs (1)

NameTypeDescription
imageIMAGE