Orion4D · Clarity APP
Local contrast that doesn't nuke your skin tones
- image
- mask
- image
- mask
Plain contrast sliders boost everything - including the flat, plastic look that makes AI images scream "generated." Clarity is the smarter sibling: it adds local contrast around midtone detail so edges and texture gain presence while skies, skin, and soft backgrounds stay calm. If you've ever wished your render looked "more there" without turning into an overcooked HDR mess, Orion4D_FXMax_Clarity (displayed "Orion4D · Clarity APP") is the one to reach for.
How it works
This is the Lightroom Clarity approach, ported to PyTorch. The node blurs a copy of the image with a Gaussian, subtracts it from the original to isolate detail, then - here's the trick - multiplies that detail by a midtone mask before adding it back. The midtone_softness control decides how hard that gate is: crank it and the effect lives only in midtones, sparing highlights from halos and shadows from getting gritty. A "Luma" mode keeps the math on luminance only, so color shifts stay out of it.
The result reads as texture and punch rather than "sharpness," which is why photographers treat Clarity and sharpening as different tools. The presets ship the intuition for you: Natural Clarity for a gentle nudge, Soft Portrait Clarity for exactly what the name says (skin-friendly, tuned for faces), Strong Local Contrast when you want an editorial crunch.
Inputs and outputs
The schema is the pack standard:
- image - the IMAGE to process.
- preset - Natural Clarity, Soft Portrait Clarity, or Strong Local Contrast.
- raw_settings - "Embedded JSON settings used for workflow portability. Managed automatically by the APP." Your APP tweaks live here, not as visible widgets.
- mask (optional) - apply Clarity only where the mask is white. Great for sharpening just a face or a product while leaving a soft background untouched.
Outputs are image and mask (the mask you fed in, processed), so it drops anywhere in a chain before a save node.
Where it fits
Clarity slots in after upscaling and before output - the same "detail pass" position as the main SharpnessMax node, but with a narrower job. It's also batch-friendly: like all the Sharpness nodes it's pure PyTorch on the GPU, so a 4K frame or a video pass barely notices it. That's not true of the pack's color nodes, but it's very true of these.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/Orion4D_FXMax.git
# restart ComfyUI
ComfyUI Manager's search also finds it ("Orion4D_FXMax"). No model downloads, no heavy deps - just Pillow, which you already have. Presets are saved as JSON under presets/, and anything you change in the Open APP editor is bound into raw_settings, so shared workflows reproduce exactly.
Gotchas
Don't stack Clarity at high strength with the pack's Texture or Smart Sharpen at full blast - they're all pulling detail out of the same pixels, and midtone-gated or not, three strong detail passes is how you get that crunchy "oversharpened" look. Start with one, evaluate in the split-screen preview, then add the second at half strength.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| preset | COMBO | 3 options: Natural Clarity, Soft Portrait Clarity, Strong Local Contrast | |
| raw_settings | STRING | Embedded JSON settings used for workflow portability. Managed automatically by the APP. | |
| maskopt | MASK | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |