Nodes/ComfyUI_LC123_nodes/LC Sharpen Pro
ComfyUI Node

LC Sharpen Pro

Sharpening that doesn't commit a halo crime

By lonecatone23·Created 2 months ago·Updated about 9 hours ago· 26
LC Sharpen Pro
  • image
  • image
◄presetNatural►
◄clarity0.30►
◄sharpen0.35►
◄strength0.70►
◄halo0.60►
◄skin_protect0.50►
◄radius0.35►
◄blend_modeSoft Light►
◄shadow_protect0.25►
◄highlight_protect0.25►
◄texture0.25►

Sharpening is where most AI images get ruined. Crank a plain unsharp mask and you get white rims around every edge, crunchy hair, and faces that look airbrushed-by-blowtorch. LC Sharpen Pro (registered as LCClarity) is the LC123 pack's attempt to do the job like a photo editor instead of a chainsaw: it splits the work into two paths - mid-tone clarity and high-frequency edge sharpen - and spends most of its sliders protecting you from yourself.

It's a deterministic, no-model post node: feed it an image, get an image back. Drop it after a sampler, before Save Image. The signature LC123 "on-node preview" shows a before/after wipe when you hover.

How it works

The heavy lifting happens on luma only - the node separates luminance from chroma, processes the brightness channel, then re-attaches color. That alone is why it looks less plastic than sharpeners that chew RGB directly.

  • Clarity is a local-contrast pass: a guided filter + box blur hybrid builds a low-pass copy of the luma, subtracts it to isolate mid-tone detail, and blends it back via a blend mode (Soft Light by default, which the tooltip calls safest). Radius scales that detail from fine texture to broad structure.
  • Sharpen is a finer unsharp-style edge pass on the same luma, with a noise gate so AI's micro-grain doesn't turn into black specks.
  • Everything is clamped with a soft tanh curve, so no edge can blow out into an outline. That clamp is the halo slider's job - higher = stronger clamp = fewer fringes. Note it auto-rises when you push sharpen, which is the guardrail that keeps "Crisp" from becoming "cartoon ink".

The inputs that matter

The preset dropdown is the right place to start - Natural, Subtle, Portrait, Product, Landscape, Crisp, Lineart, and Anime sharp fill the sliders, and touching any slider flips it to Custom. From there, honestly, three controls do most of the work:

  • clarity - structure and punch. 0 is off. Raise this before sharpen.
  • sharpen - edge definition, 0 is off.
  • strength - the overall mix with the original, default 1.0. This is your bypasser; drop it to 0 for a hard off.

The ones beginners ignore at their peril: skin_protect (softens the effect on skin hues - keep it high on portraits), halo (fringe clamp), and shadow_protect/highlight_protect (let you leave dark and bright areas alone). The blend_mode menu is a "if you know you know" knob; leave it on Soft Light.

Output is a single image socket. Wire it to Save Image or into another FX node - LC123 nodes chain fine since they all pass IMAGE.

Install

ComfyUI Manager (search ComfyUI_LC123_nodes) or:

cd ComfyUI/custom_nodes
git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes

Restart ComfyUI. The pack is pure torch/numpy - no extra pip packages, no model downloads. MIT licensed.

Where people get burned

The pack has barely any Reddit footprint - this is a quiet utility pack from lonecatone23, more "installed because a workflow needed it" than "discussed." The real traps are all slider-based: cranking clarity to 1 with strength at 1 will make fabric and foliage look etched, and halo too low on a high-contrast subject reintroduces fringes. The pack's own settings (Settings → LC123 → Performance) let you hide on-node previews if a heavy graph gets sluggish - worth knowing before a 10-node FX chain starts stuttering.

CategoryLC123/image

Inputs (12)

NameTypeDefaultDescription
imageIMAGE—
presetCOMBONaturalStarting preset. Moving any slider switches this to Custom.
clarityFLOAT0.300–1Large-scale local contrast (punch, depth). 0 = off.
sharpenFLOAT0.350–1Capture sharpening. Undoes softness (deconvolution) instead of drawing outlines. 0 = off.
strengthFLOAT0.700–1Mix with the original. 0 = original, 1 = full effect.
haloFLOAT0.600–1Halo control. 1 = edges can not overshoot their neighbours (no bright/dark rims). 0 = allow punchy overshoot.
skin_protectFLOAT0.500–1Less texture and clarity on skin. Eyes, lashes and lips still get sharpened. 0 = off (use 0 for anime and lineart).
radiusFLOAT0.350–1Detail size. Low = fine lines and hair. High = softer images and broader structure. Scales with resolution.
blend_modeCOMBOSoft LightHow clarity is blended. Soft Light is the most natural, Overlay and Hard Light punch harder.
shadow_protectFLOAT0.250–1Less effect in dark areas (keeps shadow noise down). 0 = full effect.
highlight_protectFLOAT0.250–1Less effect in bright areas. 0 = full effect.
textureFLOAT0.250–1Mid-size detail: pores, fabric, fur, pencil hatching. 0 = off.

Outputs (1)

NameTypeDescription
imageIMAGE—