Nodes/ComfyUI TK3R Extensions/TK3R Scheduled CFG Guider
ComfyUI Node

TK3R Scheduled CFG Guider

Per-step CFG, from a comma-separated list

By TK3R·Created 7 months ago·Updated 7 months ago· 2
TK3R Scheduled CFG Guider
  • model
  • positive
  • negative
  • guider
  • schedule
  • normalized_schedule
cfg_schedule3.0, 2.0, 1.5, 1.0
interpolate_steps0

Most CFG work is a single number for the whole sample, which is wrong in the same way one exposure is wrong for a whole photo. High CFG early locks in prompt adherence; high CFG late burns detail and saturation. TK3R Scheduled CFG Guider lets you write out the exact CFG you want at each stage: "3.0, 2.0, 1.5, 1.0" means "3 for the first chunk, fading through 2 and 1.5, down to 1 at the end." The node interpolates that list across the sample and applies the right value at each step.

It's the more explicit sibling of the CFG Sigma Interpolate in the same pack - that one takes two endpoints and blends; this one takes an arbitrary list and schedules it. If you've ever looked at a "dynamic CFG" workflow and wished you could just type the values, this is that.

How it works

The cfg_schedule string is parsed into floats, and if interpolate_steps is above 0 the list is linearly interpolated out to exactly that many steps. The guider then subclasses ComfyUI's CFGGuider and, each step, figures out which range of the sampler's sigma schedule the current sigma falls in and uses the matching CFG value. The author's own notes have the practical tips baked in: the schedule is interpolated over the set amount of steps, and if you want something like an exponential curve you just repeat the values - "3, 3, 3, 2, 1.5, 1" will approximate one.

Inputs and outputs

  • model, positive, negative - standard guider inputs.
  • cfg_schedule - comma-separated floats, default "3.0, 2.0, 1.5, 1.0".
  • interpolate_steps - 0 (use the list as-is, mapping each value to a step segment) or a step count to stretch/interpolate the list to.

Outputs:

  • guider - wires into a sampler node that accepts a GUIDER, like SamplerCustomAdvanced.
  • schedule - the CFG schedule as sigmas-typed data, mainly for info/debugging.
  • normalized_schedule - the schedule normalized to 0–1, which the author suggests feeding to a graph node to compare against the sigma schedule on models whose sigmas run 1.0 → 0.0. Useful if you're checking how your CFG curve lines up with the actual denoising trajectory.

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.

Where it bites

Wiring, again: it's a GUIDER, not a model wrapper, so it doesn't plug into KSampler's model port - use SamplerCustomAdvanced. And match the schedule to your model family. A descending schedule is built for models that want CFG and benefit from a fade. On a guidance-distilled model that runs at CFG 1 by design, writing "8, 4, 1" is asking for overcooked output at double the render time. Also note the interpolation behavior: with interpolate_steps at 0 and four values, each value governs a quarter of the steps - keep that in mind if your step count doesn't divide evenly.

CategoryTK3R/Advanced

Inputs (5)

NameTypeDefaultDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
cfg_scheduleSTRING3.0, 2.0, 1.5, 1.0
interpolate_stepsINT00–1000

Outputs (3)

NameTypeDescription
guiderGUIDER
scheduleSIGMAS
normalized_scheduleSIGMAS