Nodes/ComfyUI/Dual Model CFG Guider
ComfyUI Node Runs on cloud

Dual Model CFG Guider

One model for the prompt, another for the blank

By Comfy-Org·Created 4 years ago·Updated 20 days ago· 121,575
Dual Model CFG Guider
  • model
  • positive
  • model_negative
  • negative
  • GUIDER
cfg4.0

Dual Model CFG Guider is the guider that runs the two passes of classifier-free guidance on two different models. The positive (conditioned) pass runs on your main model; the negative (unconditional) pass runs on a second model, model_negative. It exists because a handful of architectures ship a dedicated "unconditional" twin checkpoint - a version of the model that generates without text - and CFG between them gives you guidance the way the vendor intended. The most prominent example is Ideogram 4, which publishes conditional and unconditional weights as a pair.

It ships with ComfyUI core (comfy_extras.nodes_custom_sampler), and it's marked experimental - it was flagged as such in June 2026, right as Ideogram 4 landed. Don't expect it to carry a long-term stability guarantee.

How it works

Normal CFG runs one model twice: once with your prompt, once without, and amplifies the difference. Dual Model CFG Guider runs the same math but the "without" pass on a separate checkpoint. That matters when the unconditional pass is meaningfully better at being unconditional than blanking your main model would be - the uncond twin is trained image-only, no cross-attention to text.

The inputs:

  • model - the model for the positive pass. The tooltip is explicit: "Model used for the positive (conditional) pass."
  • model_negative (optional) - the model for the negative pass. The tooltip's note is the key one: "Use the same model for ordinary CFG." Leave it unplugged and you get a plain CFGGuider.
  • positive - the conditioning for the conditional pass.
  • negative (optional) - conditioning run on the negative model. The tooltip: "Leave unconnected for a text-free (image-only) unconditional pass." That's the whole point - the uncond model runs on its own, no text.
  • cfg - the CFG scale, default 4.

It outputs a GUIDER for SamplerCustomAdvanced.

The real-world pattern

Ideogram 4 ships, for each quantization, a conditional model and an "unconditional" model. The official workflow wires them into a dual model guider: positive pass on the conditional model with your JSON prompt, negative/unconditional pass on the twin with no text at all. The community found you can drop the unconditional twin and save ~10GB of disk - "I did not connect nothing to the neg in the Dual Model Guider and well it generates pretty decent" (thread 1tyda12) - but the honest caveat from the same discussions is that visual quality drops by a noticeable margin. The twin isn't decoration; it's what makes the guidance work properly.

Where people get burned

  • CFG 1 and the uncond model. The code skips the uncond model entirely when CFG is 1 - if you're at CFG 1 there's no guidance to compute, so model_negative does nothing. Don't expect the twin to matter at CFG 1.
  • Assuming it's a free accuracy boost. Two models means loading two checkpoints into VRAM. On a card that barely fits Ideogram 4's conditional model, the twin may not fit too - that's exactly why the "omit the unconditional model" trick spread.
  • It's experimental. Wrapped in is_experimental in core; treat behavior as subject to change between ComfyUI updates.
  • Not for normal models. If your checkpoint doesn't have an unconditional twin, this node buys you nothing over CFGGuider - which is the tooltip's point: same model for both passes is ordinary CFG.

If your model ships a conditional/unconditional pair (Ideogram 4 does; some audio models do), this is the guider for it. Otherwise, CFG Guider is your friend.

Categorymodel/sampling/guiders

Inputs (5)

NameTypeDefaultDescription
modelMODELModel used for the positive (conditional) pass.
positiveCONDITIONING
cfgFLOAT4.00–100
model_negativeoptMODELModel used for the negative (unconditional) pass. Use the same model for ordinary CFG.
negativeoptCONDITIONINGNegative conditioning run on the negative model. Leave unconnected for a text-free (image-only) unconditional pass.

Outputs (1)

NameTypeDescription
GUIDERGUIDER