Nodes/ComfyUI TK3R Extensions/TK3R CFG Sigma Interpolate
ComfyUI Node

TK3R CFG Sigma Interpolate

A CFG dial that eases off as denoising finishes

By TK3R·Created 7 months ago·Updated 7 months ago· 2
TK3R CFG Sigma Interpolate
  • model
  • positive
  • negative
  • guider
cfg_start8.0
cfg_end1.0
linear_blend1.00

A single CFG value has to do two contradictory jobs. Early in denoising you want high guidance so the image commits to your prompt; late in denoising that same high value overcooks the fine detail and pushes saturation. The classic workaround is a "CFG fade" - start high, ease down as the sample progresses. TK3R CFG Sigma Interpolate is that, as a guider: it ramps the CFG from cfg_start down to cfg_end across the sampling trajectory, and lets you decide whether the ramp tracks the sigma curve or the step count.

It's the sibling of the Scheduled CFG Guider in the same pack. That one takes an explicit list of CFG values per step; this one takes just two endpoints and interpolates for you. If you want a controlled fade without thinking about schedules, this is the simpler of the two.

How it works

It's a subclass of ComfyUI's built-in CFGGuider. Each step it computes a progress value in 0–1: sigma_progress is 1 - current_sigma (normalized), and linear_progress is the step's position in the sampler's sigma list. The linear_blend slider mixes the two - at 1.0 (the default) you get pure sigma-based progress, at 0.0 you get pure step-count progress. The CFG for that step is then cfg_start + (cfg_end - cfg_start) * progress.

With the defaults (start 8 → end 1), the early structure-forming steps get strong guidance and the final steps run essentially ungated. One nice side effect: ComfyUI skips the unconditioned pass entirely at exactly CFG 1.0, so the tail of the sample gets a little faster too.

Inputs and output

  • model, positive, negative - the same three you'd feed any guider.
  • cfg_start (default 8) - CFG at the start of sampling.
  • cfg_end (default 1) - CFG at the end.
  • linear_blend (default 1.0) - 1.0 follows the sigma curve, 0.0 follows step count.

The single output is guider. That matters more than it looks: it's a GUIDER type, not a model wrapper, so it wires into a sampler node that accepts a guider - SamplerCustomAdvanced and friends - not into the plain KSampler.

Installing

Part of the TK3R Extensions pack:

  • ComfyUI Manager → search "TK3R Extensions" → Install, then restart.
  • Or cd ComfyUI/custom_nodes && git clone https://github.com/TK3R/ComfyUI_TK3R_Ext and restart.

Only dependency is rich; no models required.

Where it bites

The most common confusion is the wiring: people drop the guider into a KSampler's model port and get a type mismatch. Remember it's a GUIDER output. Second, think about your base model before you set the endpoints. This ramp-down pattern is tuned for models that want CFG at all - on a guidance-distilled model like Z-Image Turbo that runs at CFG 1 by design, starting at 8 and decaying to 1 is actively fighting the model. Use this on SD-lineage or non-distilled checkpoints where a CFG fade is a real improvement, and don't crank cfg_start past what the model's own sweet spot suggests.

CategoryTK3R/Advanced

Inputs (6)

NameTypeDefaultDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
cfg_startFLOAT8.00–30
cfg_endFLOAT1.00–30
linear_blendFLOAT1.000–1

Outputs (1)

NameTypeDescription
guiderGUIDER