π« Uncond Zero Controller
The zero-uncond controller
- model
- MODEL
Standard CFG pushes the image away from your negative prompt: it runs the model once with your prompt and once with the negative, then amplifies the difference. The Uncond Zero Controller asks a much lazier question - what if the "away from" target is just zero? Instead of computing the unconditional prediction at all, it treats the negative pass as pure zeros and steers away from nothingness. It's one of the oldest tricks in the diffusion playbook, and this is the pack's standalone implementation of it.
Why would you want that? Because it's fast and it's deterministic. The negative pass still costs a full forward pass of the UNet, and the result is often mush that only vaguely repels your bad tokens. Zeroing it saves that compute and gives you a cleaner, stronger "push toward the positive" signal. If you're on a model where your negative prompt barely matters anyway, this is a free speedup with a side of extra punch.
What it actually does
Wire a model in and set one number: scale, default 1.2. The node clones your model and installs its own CFG function that runs:
cond = input_x - cond_pred # predicted noise with your prompt
uncond = input_x - zeros # unconditional prediction = zeros
return uncond + scale * (cond - uncond) # = scale * cond
In other words, the effective guidance is just scale times the conditional prediction - no negative term at all. And in a nice touch, at sigma β€ 1 (the last, detail-refining steps) it switches to the plain conditional step input_x - cond_pred, so the tail end of generation isn't over-pushed.
About that scale value: don't confuse it with your KSampler's CFG. The node replaces the CFG function entirely, so your sampler's CFG dial is effectively bypassed and this scale is the guidance strength - the 1.2 default is a gentle boost, higher is stronger prompt adherence (0β10 range). Since it replaces the CFG function rather than layering on top, it also overrides whatever the Advanced CFG Controller nodes set. Use it alone, or deliberately.
Where it fits
This is a "skip the negative pass" philosophy in a single node, with none of the extra tuning of the Easy/Expert controllers. It's a good drop-in when you want to test how much your negative prompt was actually buying you - swap your normal sampler wiring for Model β Uncond Zero Controller β KSampler and compare. On a guidance-distilled model at CFG 1 there's no unconditional pass to skip, so it won't do anything for you there; this one is for the SD 1.5/SDXL world.
Install
Same pack as the rest of the Advanced CFG Controller family:
cd ComfyUI/custom_nodes
git clone https://github.com/FlareAI-Studios/advanced-cfg-controller
Or search Advanced CFG Controller in ComfyUI Manager, then restart. No models, no extra dependencies. You'll find it under model_patches/Advanced_CFG_Controller.
One honest note: this pack is new and largely untested in the wild, and the zero-uncond idea is a hack - it can over-saturate or change your composition's vibe because there's genuinely nothing pushing away from bad concepts. Start at scale 1.0β1.2, and keep your old workflow bookmarked so you can flip back if the punch turns to burnout.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | β | |
| scale | FLOAT | 1.200β10 | CFG scale multiplier (higher = stronger prompt adherence) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | β |