Nodes/Photography Nodes/Multi Scale Contrast
ComfyUI Node

Multi Scale Contrast

The 'clarity' slider your flat renders never had

By TrophiHunter·Created about a year ago·Updated about a year ago· 5
Multi Scale Contrast
  • image
  • IMAGE
sharpness_factor0.70
enhancement_strength0.50
brightness_boost0.00
effect_mode0

If you've ever dropped a finished render into Photoshop and hit the "Clarity" or "Texture" slider and watched it come alive, this is that effect, in ComfyUI. Multi Scale Contrast does local contrast - the kind that works region-by-region instead of slamming the whole image - and the node description is upfront about where it came from: "similar to the reshade effect." Reshade being the game post-processing injector whose MultiScaleContrast shader does exactly this: separate an image into a fine-detail layer and a coarse, blurred base, then boost the detail where it matters. AI renders come out of the sampler flat; this is the thing that makes them feel dimensional.

How it works

The node builds a blurred, low-frequency version of your image - it shrinks the frame with average pooling and stretches it back with bilinear upscaling - then does its work in a tone-mapped space (a Reinhard-style x / (x+1) curve) so contrast boosts don't blow out highlights. It's luma-weighted with Rec.709 coefficients, so it mostly acts on perceived brightness rather than hue. Then one of five effect_mode formulas applies. The short version: mode 0 is a classic local-contrast lift, modes 1–3 are variations on gating the boost by the blurred base, and mode 4 is the fancy one that blends edge detail against a screened result. Default is mode 0, which is a fine place to live.

Inputs that matter

  • image - the IMAGE in, IMAGE out.
  • enhancement_strength - this is your main amount knob, −1 to 1, default 0.5. It's subtle at default; that's the point. Negative values invert the effect and reduce local contrast.
  • sharpness_factor - 0 to 1, default 0.7. Feeds the edge-retention path; push it up if the result looks soft, down if it looks crunchy.
  • brightness_boost - 0 to 1, default 0. A gentle gamma-style brightening on top. Leave it at 0 unless the image reads dark.
  • effect_mode - the "0"–"4" dropdown. Don't overthink it on your first pass; pick one, get the look roughly right, then audition modes to see which formula suits the image.

Output is a single IMAGE, ready for a Preview node or the next effect. In the pack's example workflow it sits late in the chain, near the sharpen group - put it after upscaling, before your final grade.

Installing it

It ships with Photography Nodes, so it's a one-time install for everything:

cd ComfyUI/custom_nodes
git clone https://github.com/TrophiHunter/ComfyUI_Photography_Nodes
# restart, then find it under TrophiHunter/Photography

Or ComfyUI Manager → search "Photography Nodes" by TrophiHunter → install → restart. No extra Python deps, no models to download.

Troubleshooting

The most common complaint is "nothing happened," and the usual answer is that it did, just gently - the effect is deliberately mild at default. Crank enhancement_strength toward 1 before you start blaming the node. Don't stack it with a separate sharpener and another clarity filter, or you'll get halos and that overcooked "unsharp mask accident" look; this node plus a light Sharpen Simple is usually enough.

CategoryTrophiHunter/Photography

Inputs (5)

NameTypeDefaultDescription
imageIMAGE
sharpness_factorFLOAT0.700–1
enhancement_strengthFLOAT0.50-1–1
brightness_boostFLOAT0.000–1
effect_modeCOMBO05 options: 0, 1, 2, 3, 4

Outputs (1)

NameTypeDescription
IMAGEIMAGE