Nodes/ComfyUI-MixMod/MixMod FFT Guider
ComfyUI Node

MixMod FFT Guider

What the FFT modes actually do

By kantsche·Created about a year ago·Updated 11 months ago· 31
MixMod FFT Guider
  • component
  • GUIDER
mode
ratio1.00

The FFT guider is where MixMod stops being "a neat trick" and starts being experimental. Instead of blending predictions pixel-by-pixel in image space, it transforms each model's denoise prediction into the frequency domain with a 2D FFT, does the blending there, and transforms back. The pitch: low frequencies carry composition, lighting, and overall structure; high frequencies carry texture, edges, and fine detail. Split the spectrum the right way and each model owns what it's actually good at - the README's tip is exactly that: base models for low frequencies, style models for high.

The thing to know up front: this is the mode with the most knobs and the least hand-holding. The six mode options have different behaviors, several of them want at least two models, and one of the ratios only does something in some modes. Budget some fiddling time.

The modes and what each does

  • teamfft - the team-mode formula (weighted blend of unconditional predictions, then per-model CFG) but computed in the frequency domain. If it looks identical to plain team mode, you're not wrong - the math is a change of basis, not a new mix. Good for a baseline.
  • teamfft4freq - teamfft split into four frequency bands (low, low-mid, high-mid, high), each band blended separately with smooth transitions. Gives you per-band control without more inputs - the four bands are just handled internally.
  • 2model_fft - the pure two-model split: model 1 owns everything below the cutoff, model 2 owns everything above it, with a feathered transition band. This is the one where ratio is the frequency cutoff.
  • 2m2f - "two models, two frequencies": each model's prediction is split into low and high parts by the ratio cutoff, then the low parts are mixed with model 1 and the high parts with model 2. More graceful than a hard split, because both models contribute to both bands.
  • fft_overlap - divides the spectrum into overlapping bands, one per model, and blends them; ratio controls the overlap width. If you have three-plus models and want everyone touching the spectrum without hard boundaries, this is it.
  • fft_full - no band masks at all: the weight each model gets varies continuously with frequency. Heavier models lean low, lighter models lean high. The most "everyone everywhere" of the set, and the least predictable.

Under the hood each prediction is rfft2'd, blended per the mode's masks, then irfft2'd back. The ratio input (default 1.0, 0–1) drives 2model_fft, 2m2f, and fft_overlap; teamfft, teamfft4freq, and fft_full ignore it.

Inputs and wiring

One COMPONENT in (the chained component set), one GUIDER out - same as the plain MixMod Guider, so it feeds the guider input of SamplerCustomAdvanced or any guider-accepting sampler, alongside a noise source, sampler select, and sigmas.

Installing

Part of ComfyUI-MixMod. ComfyUI Manager → search "ComfyUI-MixMod" → install and restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/kantsche/ComfyUI-MixMod

No requirements.txt, no models to download - the FFT runs on torch's fft ops that ship with ComfyUI.

Troubleshooting

The single most common "why is it broken" report with FFT modes is using just one model - several modes fall back to a plain conditioned prediction when there's nobody to mix with, which looks like the mode did nothing. Mix at least two. Second: the hard-split modes (2model_fft) can produce ringing or seams around the cutoff when you use aggressive ratios; the feathered variants (2m2f, fft_overlap) exist precisely to avoid that. And when a mode ignores your ratio, that's not a bug - read the list above. Also keep in mind that every model is still loaded and denoising every step, so FFT modes cost the same VRAM as team mode; they change the math, not the memory bill.

Categorymixmod/special

Inputs (3)

NameTypeDefaultDescription
componentCOMPONENT
modeCOMBO6 options: teamfft, 2model_fft, 2m2f, teamfft4freq, fft_overlap, fft_full
ratioFLOAT1.000–1

Outputs (1)

NameTypeDescription
GUIDERGUIDER