Nodes/ComfyUI-TextureAlchemy/Frequency Recombine
ComfyUI Node

Frequency Recombine

Put the Bands Back, With the Balance You Actually Want

By amtarr·Created 9 months ago·Updated 4 months ago· 58
Frequency Recombine
  • low_frequency
  • high_frequency
  • result
high_freq_strength1.00
low_freq_strength1.00

The whole point of splitting an image into frequency bands is to adjust one band and put it back - and Frequency Recombine is the "put it back" half. It takes the low- and high-frequency outputs from the pack's FrequencySeparation node and rebuilds the image, but with independent strength controls for each band. That's where the real editing power lives: boost the high band for detail without touching color, or scale down the low band to change lighting without smearing texture.

It's in the Detail category of amtarr/ComfyUI-TextureAlchemy, and it's the other bookend of the retoucher's frequency-separation workflow. Separating is only half the story; this node is what makes separation useful.

How it works

The recombine math is exactly what it sounds like: result = low_frequency * low_freq_strength + high_frequency * high_freq_strength, clamped to valid range. With both strengths at 1.0 you get (approximately) your original image back - the separation/recombine round-trip is lossless enough for texture work. Dialing high_freq_strength above 1.0 is a local-contrast boost that adds crispness without the halo look of a global unsharp mask; dropping it below 1.0 smooths detail while keeping color and lighting intact.

The asymmetry in the sliders is worth noticing: high_freq_strength ranges 0–3 (there's a lot of headroom to add detail), while low_freq_strength only goes 0–2. That's a deliberate hint - the interesting direction is usually adding high-frequency punch.

The inputs that matter

  • low_frequency - the blur band from FrequencySeparation.
  • high_frequency - the detail band.
  • high_freq_strength (0–3, default 1) - detail gain; 1.2–1.5 is a good "pop" range for textures.
  • low_freq_strength (0–2, default 1) - base/color gain; lowering it softens the broad shading.

Output is result, a single IMAGE.

Where it slots in

The workflow it's built for: FrequencySeparation → tweak one band (recolor the low band, or blur it to fix uneven lighting) → Frequency Recombine to reassemble. Without the recombine step you'd have to do all your band editing blind, because the separated bands are only meaningful as a pair. It's also the poor-man's local contrast tool: separate, boost high_freq_strength to ~1.3, recombine - a texture with more perceived detail that never touches the overall brightness.

Installing it

Part of TextureAlchemy:

cd ComfyUI/custom_nodes
git clone https://github.com/amtarr/ComfyUI-TextureAlchemy

restart, and it's under Texture Alchemist → Detail. ComfyUI Manager: search "Texture Alchemy". No extra dependencies.

Gotchas

The bands must come from a matching separation - recombining a low band from one radius with a high band from a different radius still produces an image, but it's a Frankenstein that never quite reconstructs the original. And if your recombine output looks washed out at default strengths, it usually means one of the band inputs isn't a true band (i.e., you fed it the wrong output from the split node). Also mind the strength asymmetry: a high_freq_strength of 3.0 will aggressively amplify any noise the separator left in the high band, so pair aggressive recombine with the pack's Denoise Filter first.

CategoryTexture Alchemist/Detail

Inputs (4)

NameTypeDefaultDescription
low_frequencyIMAGE
high_frequencyIMAGE
high_freq_strengthFLOAT1.000–3High frequency detail strength
low_freq_strengthFLOAT1.000–2Low frequency base strength

Outputs (1)

NameTypeDescription
resultIMAGE