Nodes/CFG Megapack/Early-high, late-unconditional (Ventura et al. 2026)
ComfyUI Node

Early-high, late-unconditional (Ventura et al. 2026)

The schedule that finishes with CFG off

By AbstractEyes·Created 5 days ago·Updated 5 days ago· 3
Early-high, late-unconditional (Ventura et al. 2026)
  • model
  • MODEL
◄switch0.50►
◄late_scale0.00►

Ventura, Achilli, Ambrogioni & Lucibello (arXiv 2026) went looking for where high guidance does its damage, and their answer is the part of the run most schedules ignore: the end. Guidance is applied normally early, then switched off, and the final steps run at a scale of zero - that is, the unconditional prediction alone, with the prompt contributing nothing. They report that this reduces distortions compared to holding guidance to the finish line.

I know how that reads. "Generate the last 20 steps without my prompt" sounds like a way to lose the prompt. Which is why the honest thing to say is that this is a schedule you test rather than one you reason your way into: render two seeds at late_scale = 0 and late_scale = 1, and either the distortions go away or the node isn't for you. The pack's example workflows exist precisely because side-by-side is the only convincing argument for a schedule.

Inputs

  • model - the model wire, before the sampler.
  • switch (default 0.5) - where guidance turns off, as a fraction of the run. The paper puts the useful region at 50–70% of the steps. Note this is ComfyUI's percent-by-noise-level, not a step index, so on a Karras scheduler the switch point moves relative to the step counter.
  • late_scale (default 0, range -1 to 1) - the scale after the switch. 0 is the unconditional prediction alone (the paper's setting), 1 is the conditional prediction alone (guidance off, but keeping your prompt), and values in between blend the two. That middle ground is the interesting part: late_scale = 0.5 is a half-guided finish, which is a gentler version of "cool it down at the end" than the paper's hard switch.
  • Negative values are accepted - that extrapolates away from your prompt in the final phase. Nobody is stopping you. Bring a seed you don't mind ruining.

There is no scale input: the first phase uses the sampler's cfg. Output is a MODEL.

Install

# ComfyUI Manager: search "CFG Megapack" -> Install -> restart
# or:
comfy node install comfy-cfg-megapack
# or by hand:
cd ComfyUI/custom_nodes && git clone https://github.com/AbstractEyes/comfy-cfg-megapack

The pack has no requirements.txt and nothing to download - torch and the standard library only. Requires ComfyUI 0.38 or newer; the nodes won't register on older builds.

Why the switch is where it is

The node's mechanism is the pack's shared window machinery. The scale runs from the sampler's cfg inside the window (here, the first switch fraction of the run) and takes late_scale outside it. That's why "the switch is ComfyUI's percent of the run (by noise level)" is in the description: the percentage is measured against the model's own noise schedule, the same convention ComfyUI's timestep-range nodes use, and it can disagree with the step count on karras-type schedulers.

The pack's docs also note that when the outside mode is "conditional alone", the unconditional pass can be skipped there - those steps get cheaper. That's the same trick CFG Truncation uses, and if speed is what you're after, the two nodes are near-neighbours. The difference is the destination: truncation leaves the prompt in charge after the cutoff; this node leaves the unconditional branch in charge, which is a very different picture.

Combining it with the rest of the pack

This writes the when stage, so a later schedule node replaces it - a paper node of the same stage wins by being chained last, not by being bigger. Corrections (the CFG Correct node, EP-CFG, CFG-Renorm) stack instead, and one of them is a natural pairing here: if your problem is that the early guided phase is over-saturating before the switch, a correction fixes that while this node fixes the finish.

Two diagnostics worth wiring once: CFG Plan Readout prints the whole installed plan on a model, so you can see whether your schedule survived the chain, and CFG Measure: Per-Step Probe writes the per-step scale and other numbers to output/cfg_probe/, which for a two-phase schedule is the quickest way to confirm the switch happens where you think it does. And the container-wide rule: ComfyUI has one CFG-function slot per model, so another pack's CFG node chained last wins silently.

CategoryCFG Megapack/papers/when to guide

Inputs (3)

NameTypeDefaultDescription
modelMODEL—
switchFLOAT0.500.05–0.95Where guidance switches off (paper 50-70% of the steps).
late_scaleFLOAT0.00-1–1The scale after the switch (0 = unconditional, 1 = conditional).

Outputs (1)

NameTypeDescription
MODELMODEL—