Orion4D · SharpnessMax APP
A Lightroom-style sharpen pipeline that never leaves your GPU
- image
- mask
- image
- mask
Sharpening is where a good upscale becomes a great one - and where a lazy sharpen pass turns a clean render into a crunchy, halo-riddled mess. If you've ever upscaled with ESRGAN or SeedVR2, dropped the result straight into a save node, and wondered why it looks soft, this is the node you were missing. Orion4D_FXMax (displayed as "Orion4D · SharpnessMax APP") is the flagship of the Orion4D_FXMax pack: one node that stacks five sharpen algorithms the way Lightroom stacks its Detail panel, with an optional mask so you only sharpen the parts that need it.
What it actually does
Under the hood the node chains five passes - micro texture, midtone-gated clarity, unsharp mask, smart sharpen, and a high-pass overlay - and lets you pick how many run via a pipeline setting (Balanced, Texture + Clarity, USM Only, Smart Only, HighPass Only, or Maximum Stack). Default mode is Luma, meaning all the math happens on a luminance estimate and color channels ride along untouched. That's the classic trick for keeping skin from turning orange while edges get crisper.
Here's the part worth knowing before anything else: this is the fast one. Every sharpness node in this pack is written in native PyTorch and operates directly on the tensor in VRAM. No CPU round-trip, no PIL conversions. The README calls it "100% GPU," and it isn't marketing fluff - it's genuinely near-instant, which is why it's the pack's recommended node for AnimateDiff batches and 4K image passes. If you're doing video, this and its siblings are the only sharpening nodes in the pack you want near a frame loop.
Inputs and outputs
Every node in this pack shares the same skeleton, and it's refreshingly small:
- image - the IMAGE tensor to sharpen.
- preset - a dropdown. SharpnessMax ships with Soft Portrait, Product Crisp, Landscape Max, Micro Texture, and Clean Upscale.
- raw_settings - a hidden-ish multiline string that's "Embedded JSON settings used for workflow portability. Managed automatically by the APP." You normally never touch it; it's how your tweaks survive a workflow save.
- mask (optional) - a MASK tensor. Give it one and only the masked region gets sharpened, with blur/opacity/invert options you can dial in the APP.
Outputs are image and mask, so you can pass the result straight into a save or preview node, or chain more post.
The APP is the real interface
The headline feature: click Open APP on the node and you get a full-screen editor with pan, zoom, before/after toggle, and a split-screen comparison slider. You drag sliders, see the result instantly, and - this is the clever bit - the mathematical config gets injected into that raw_settings widget. Share the workflow PNG and anyone loading it gets your exact look even if they've never saved a preset. It's genuinely portable, which is more than you can say for a lot of ComfyUI niceties.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/Orion4D_FXMax.git
# restart ComfyUI
Or search "Orion4D_FXMax" in ComfyUI Manager. There are no model files to download and the only dependency is Pillow (numpy rides along with ComfyUI anyway) - one of the easier installs in the ecosystem.
Gotchas
The one real gotcha is a feature: if a workflow you downloaded references a preset name you don't have locally, the node still works because the embedded raw_settings carry the actual numbers. Don't panic if the dropdown shows a name with no matching JSON file - that's expected. And if a preset is empty, the node falls back to the local presets/ JSON, so your saved presets keep working offline.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| preset | COMBO | 5 options: Soft Portrait, Product Crisp, Landscape Max, Micro Texture, Clean Upscale | |
| 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 | — |