Nodes/CFG Megapack/HiWave: wavelet detail guidance (Vontobel et al. 2025)
ComfyUI Node

HiWave: wavelet detail guidance (Vontobel et al. 2025)

HiWave guides only the detail bands — and that's a real caveat

By AbstractEyes·Created 5 days ago·Updated 5 days ago· 3
HiWave: wavelet detail guidance (Vontobel et al. 2025)
  • model
  • MODEL
◄scale-1.0►
◄w_low1.0►
◄waveletsym4►
◄spaceauto (the method's own)►

HiWave (Vontobel, Sadat, Salehi & Weber, SIGGRAPH Asia 2025) does the most selective thing in this pack: it splits both predictions into a coarse band and detail bands with one wavelet transform, applies guidance to the detail bands only, and leaves the coarse band sitting on the conditional prediction. By the default settings, the layout and colour of your image get no guidance whatsoever.

If that sounds alarming, it should - read the rest before you wire it up.

How it works

One level of a discrete wavelet transform turns each prediction into a low-band image plus a set of high-band images. HiWave then rebuilds them separately:

  • Low band: L(u) + w_low · (L(c) − L(u)), where w_low defaults to 1 - the conditional low band, untouched.
  • Each high band: B(u) + w · (B(c) − B(u)), the full guide strength.

Then it inverts the transform. Nothing else changes, and because a wavelet transform is linear there's no space weirdness to worry about: space on auto is fine and won't move your image.

So the detail - texture, edges, fine structure - is guided hard, and the structure those details sit on is not guided at all.

Why you'd still want it

Because that's exactly right for the second half of a two-stage pipeline. In the paper, HiWave is the guidance rule of an upscaling workflow: the coarse band comes from a base image that's been upscaled and inverted first, so the layout is already decided by the time the guidance stage runs. Guiding the coarse band again would just re-litigate decisions you already made. That pipeline - the upscale, the patch-wise inversion, the skip residual - is not part of this node. You're getting the guidance rule, not the workflow.

Used on its own in a plain text-to-image graph, the honest result is what the pack's own comparison shows: the layout and colour come out unguided, which is a different picture, not a sharper one. If you want "guide the coarse band less", use FDG, which scales the coarse level down (half by default) rather than switching it off. If you want to guide the whole thing at high strength with less damage to colour, FreSca splits the bands in the Fourier domain and keeps a factor on each. HiWave is the extreme end of that same family.

The inputs

  • scale - the guidance scale for this rule. -1 (default) uses the KSampler's cfg.
  • w_low - the coarse band's scale, default 1. Raise it if you want the layout guided after all - and note that setting it equal to scale gives you plain CFG back, which is the cleanest A/B control in this pack.
  • wavelet - sym4 (default) or haar. haar is the simple two-tap wavelet; sym4 is a smoother, longer filter. Different filter, subtly different band split.
  • space - leave on auto.

Output: one MODEL, patched.

Install

ComfyUI Manager: search CFG Megapack in the Custom Nodes Manager, install, restart. comfy-cli: comfy node install comfy-cfg-megapack. By hand:

cd ComfyUI/custom_nodes
git clone https://github.com/AbstractEyes/comfy-cfg-megapack

Restart and you get the whole pack, including the CFG Megapack menu folders. No requirements.txt, no model downloads, no extra pip packages - torch and the standard library against ComfyUI's newer comfy_api.latest node API. Tested on ComfyUI 0.38.0 / torch 2.11. CFG_MEGAPACK_VRAM_FRACTION=0.6 before launch caps the pack's GPU memory share if you share the card.

Traps

  • It's one node of a pipeline. The single most common disappointment with HiWave is judging it as a one-node upgrade. It isn't one.
  • It's a frequency node, and the frequency nodes share a slot. Chain HiWave after FDG or FreSca and you've replaced one with the other, not stacked them - a later node of the same stage wins.
  • ComfyUI has one CFG-function slot for the whole graph. Another pack's RescaleCFG, Mahiro or RenormCFG chained after this node takes it, and then everything HiWave did becomes the input to somebody else's rule.
  • Nothing here needs the paper's code or its checkpoints. It's pure tensor maths on whatever model you loaded, SDXL or a flow-matching transformer, as long as the latent layout divides sensibly - which for the wavelet path it does.
CategoryCFG Megapack/papers/frequency and space

Inputs (5)

NameTypeDefaultDescription
modelMODEL—
scaleFLOAT-1.0-1–100The guidance scale w for this rule. -1 uses the sampler's cfg value.
w_lowFLOAT1.00–20Scale on the coarse band (1 = conditional).
waveletCOMBOsym4The wavelet.
spaceCOMBOauto (the method's own)Where the rule is computed. Linear rules give the same image in any space; nonlinear ones do not. 'auto' uses the space the method was published in (noise for most, denoised for APG and the angle rule, velocity for flow models).

Outputs (1)

NameTypeDescription
MODELMODEL—