Nodes/Atom_AI/Detail Enhance
ComfyUI Node

Detail Enhance

A fast sharpen pass that doesn't need a model

By AtomAI-GR·Created 4 months ago·Updated 4 months ago· 1
Detail Enhance
  • image
  • enhanced_image
sharpen_strength1.5
detail_radius1.0
detail_strength0.4
contrast1.10
clarity0.30

Detail Enhance (class DetailEnhanceNode) is a post-processing node that sharpens and pops an image after it comes out of the VAE. You drop it between VAE Decode and Preview/Save, dial four sliders, and the output image looks crisper without you touching the sampler at all.

It's not a model, it doesn't add pixels, and the name oversells what it does - but for a quick "make this look less soft" pass, that's precisely why it's handy. No download, no VRAM, runs in milliseconds.

How it works

Everything happens in Python with Pillow, on CPU. The node converts the image tensor to a PIL image and applies four filters in sequence: a contrast adjustment, a sharpness adjustment, an unsharp-mask-style detail pass (it blurs the image, subtracts the blur to isolate fine detail, then adds that detail back scaled), and finally a "clarity" S-curve that pushes midtones apart for that snappy, high-contrast-of-detail look. Then it converts back to a tensor and hands the result onward.

None of this invents information - it's the same family of trick as a pixel upscaler, which exists to make existing detail read better rather than to hallucinate new detail. If you want the "add detail that was never there" job, that's a generative upscaler like SUPIR or SeedVR2 territory, and this is not that. This is the "finish the render before you save it" step.

Inputs and outputs

  • image - the IMAGE tensor from VAE Decode (or an image-loaded node).

Five sliders:

  • sharpen_strength (0–5, default 1.5) - the main sharpness amount; 1.0 is neutral.
  • detail_radius (0.5–5, default 1.0) - how wide an area the detail pass looks at. Small radius = fine texture; larger = broader edges.
  • detail_strength (0–2, default 0.4) - how much of that detail gets added back.
  • contrast (0.5–2, default 1.1) - global contrast; 1.0 is neutral.
  • clarity (0–1, default 0.3) - the midtone pop. Start here and at detail_strength, leave radius alone until something looks off.

The single output, enhanced_image, goes straight to Preview Image or Save Image.

Installing it

It's part of the Atom_AI pack - install once and you get the whole thing. In ComfyUI Manager, search Atom_AI, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/AtomAI-GR/Atom_AI

Then restart ComfyUI. There's no requirements.txt and nothing to download; the node uses Pillow, which ComfyUI already ships. It's under Atom_AI ▸ Image.

Common issues and honest caveats

  • It only enhances the first image in a batch. The code processes frame zero of the input and returns that single frame. If you feed it a batched image set or video frames, the rest of the batch effectively disappears from this node's output. For stills, fine; for batches, avoid it or run it per-frame.
  • Over-sharpening is real and it's the trap. The default stack is already fairly aggressive; push sharpen_strength or detail_strength too high and you'll see halos around edges and that crunchy, obviously-filtered look. The photorealism crowd's advice about over-processing applies here directly - when in doubt, sharpen less than feels right and let the image breathe.
  • It won't fix a low-res render. If the image is genuinely soft and small, this just makes the softness look crisp. That's the "more detail" job, and it belongs to a generative upscaler, not a Pillow filter.

The bottom line: it's a free, instant sharpen filter with a sensible default stack, and for finishing single stills it's exactly the tool you want. Just don't mistake it for an upscaler - and if you work with batches, keep the one-frame limitation in mind.

CategoryAtom_AI/Image

Inputs (6)

NameTypeDefaultDescription
imageIMAGE
sharpen_strengthFLOAT1.50–5
detail_radiusFLOAT1.00.5–5
detail_strengthFLOAT0.40–2
contrastFLOAT1.100.5–2
clarityFLOAT0.300–1

Outputs (1)

NameTypeDescription
enhanced_imageIMAGE