Nodes/ComfyUI_FreeU_V2_advanced/FreeU V2 (TimestepAdd)
ComfyUI Node

FreeU V2 (TimestepAdd)

FreeU V2, but you get to say when it kicks in

By Shiba-2-shiba·Created 2 years ago·Updated 10 months ago· 2
FreeU V2 (TimestepAdd)
  • model
  • MODEL
b11.30
b21.40
s10.90
s20.20
start_percent0.000
end_percent0.350

FreeU is one of those rare nodes that's a genuine free quality bump: no model download, no extra VRAM to speak of, just a model patch that makes SD1.5 and SDXL U-Nets produce sharper, more coherent images. This node is the classic FreeU V2 patch with one big addition - a timestep window. Instead of FreeU's effect running over the whole denoising pass, you tell it when it's allowed to act, which is exactly the control people kept asking for when FreeU made their images look overcooked.

What it actually does

The stock ComfyUI FreeU node patches the model for its entire run. The thing people hit: FreeU's skip-connection dampening is aggressive, and by the late denoising steps it can smear fine detail into a waxy, oversharpened mess. This node wraps the same FreeU V2 math in a sigma gate. Internally it converts your start_percent / end_percent into sigmas via the model's own sampling schedule, and the patch only fires while the current sigma sits between them. Higher sigma means earlier in sampling, so the defaults (start 0, end 0.35) mean: FreeU applies during the first third-ish of the run, then backs off and lets the sampler finish cleanly. Same mechanism as the ComfyUI built-in, timestep-controlled - the reference is literally comfy_extras/nodes_freelunch.py.

The inputs that matter

There are seven, and the first six are the classic FreeU V2 set with SDXL-friendly defaults baked in:

  • b1 / b2 (defaults 1.3 / 1.4) - the backbone boost. The code keys these to the 1280- and 640-channel UNet blocks and scales the first half of the channels by a spatially-adaptive factor (the "V2" improvement over the original flat multiply).
  • s1 / s2 (defaults 0.9 / 0.2) - the skip (Fourier) dampening. Values below 1.0 mean "quiet the high frequencies coming in through the skip connections."
  • start_percent / end_percent (defaults 0 / 0.35) - the whole reason this pack exists. The effect's on/off window. Raise end_percent toward 1.0 to let FreeU work the whole pass; keep it low for the hands-off finish.

The single MODEL output is a patched clone of your model - wire it into the KSampler's model input, between the checkpoint loader and the sampler.

Installing it

Easiest via ComfyUI Manager: search "ComfyUI_FreeU_V2_timestepadd" and install. Or the old-fashioned way:

cd ComfyUI/custom_nodes
git clone https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_timestepadd.git

Then restart ComfyUI. No requirements.txt, no pip packages, no model files - it only uses torch's FFT and the ComfyUI API. It does use the newer V3 node API (comfy_api.latest), so it needs a fairly recent ComfyUI build; on an old install it just won't register.

Common issues

  • Node missing from the menu → update ComfyUI. This pack targets the modern node API, not the legacy one.
  • No visible effect → check your window. With the 0–0.35 default, FreeU is off for most of the pass. If you want to see what it does, push end_percent up.
  • Waxy/oversharpened output → over-attenuation. Drop s2 first (it's the most sensitive), or shrink the window. This is the exact failure mode this pack's sibling node, FreeU_S_Scaling_AdaptiveCap, was built to fix.
  • "Switching to CPU for FreeU" in the log → your GPU's torch build lacks torch.fft support; it falls back to CPU. Works, just slower.

One naming gotcha: the project was historically called ComfyUI_FreeU_V2_advanced, and that old name still shows up in pyproject.toml and module paths. If Manager finds a stale "FreeU_V2_advanced" install alongside this one, remove the old folder - they'll fight over the same class.

Categorymodel_patches/unet

Inputs (7)

NameTypeDefaultDescription
modelMODEL
b1FLOAT1.300–10
b2FLOAT1.400–10
s1FLOAT0.900–10
s2FLOAT0.200–10
start_percentFLOAT0.0000–1
end_percentFLOAT0.3500–1

Outputs (1)

NameTypeDescription
MODELMODEL