Orion4D · Texture APP
The slider that puts pores back on faces
- image
- mask
- image
- mask
Two kinds of detail get lost in generation: big tonal structure and the tiny high-frequency stuff that tells your brain "this was shot, not painted." Texture is the second one. Orion4D_FXMax_Texture (displayed "Orion4D · Texture APP") is the micro-detail pass - pores, fabric weave, hair strands, bark. It's the difference between a face that looks airbrushed and one that looks like it has skin.
How it works
The mechanism is gloriously simple: blur the image, subtract the blur from the original, and the remainder is the high-frequency detail. Add that back at a strength you control and the fine stuff comes alive. What makes it distinct from the pack's Clarity node is scale and gating - Texture runs at a small radius (think fractions of a pixel to a few pixels, tunable in the APP) and has no midtone gate, so it's all about the high frequencies rather than tonal contrast. Lightroom's Texture slider is the same idea: detail, not edge.
Because it's working on tiny features, you want to reach for it in the same place photographers do: after an upscale, or on a render that came out too smooth. It's a great pairing with ADetailer-style face passes - sharpen the face region with Texture, leave the background soft, and the whole image reads more real.
Inputs and outputs
Pack-standard schema, small and honest:
- image - the IMAGE tensor.
- preset - Natural Texture, Fine Texture, or Strong Texture. "Fine" keeps the radius tight for subtle surface detail; "Strong" is for when you're deliberately going gritty.
- raw_settings - "Embedded JSON settings used for workflow portability. Managed automatically by the APP." Your slider positions live here.
- mask (optional) - restrict the effect to a region.
Outputs are image and mask. Wire the image into a preview or save and you're done.
The honest caveat
Texture is a spice, and it's the easiest one in this pack to overshoot. Crank it and the image gets noisy, not detailed - every bit of grain in the source gets amplified along with the real texture. If the image already has film grain or sensor noise, Texture will find it and turn it up. Start low, use the Open APP split-screen preview, and remember that a subtle version looks intentional while a heavy one looks crunchy.
Install and notes
cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/Orion4D_FXMax.git
# restart ComfyUI
ComfyUI Manager finds it under "Orion4D_FXMax". No models to download; the pack only needs Pillow (numpy is already in ComfyUI). Like all the pack's Sharpness nodes this one is pure PyTorch on the GPU, so it's video- and batch-safe - use it freely in frame loops, which is more than you can say for the pack's CPU-bound color nodes.
One workflow tip: if you run Texture and then the main SharpnessMax node's own texture stage, you're double-dipping. Pick one pipeline that includes texture and trust it, or the high-frequency band gets over-cooked.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| preset | COMBO | 3 options: Natural Texture, Fine Texture, Strong Texture | |
| 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 | — |