Nougan Text Encode + Zero Neg π―
Skip the CLIPTextEncode β ConditioningZeroOut two-node dance
- clip
- POSITIVE
- NEGATIVE
If you've run Flux, Krea 2, or any of the flow-model family at CFG above 1, you know the ritual: encode your prompt, then zero out the conditioning tensors for the negative because an empty-string negative does nothing useful on these architectures. The KB's Krea 2 panel flags it too - those models carry an "empty-negative-prompt requirement." NouganTextEncodeZeroNeg collapses that two-node chain into a single node that emits POSITIVE and NEGATIVE at once.
It's a small utility from Winnougan's Nougan_Nodes suite, and honestly it's one of the pack's quietly most-used nodes - the kind of thing you install, forget you have, and then miss every time you're on a graph without it.
How it works
Under the hood it does exactly what you'd do by hand. The positive prompt goes through the normal CLIP encode path. Then, for the negative, it picks one of two strategies:
- Zero Out (default): copies the positive conditioning and zeroes the main tensor and the
pooled_output, which is the same thing ComfyUI's built-inConditioningZeroOutdoes. This is the right call for Flux/Krea 2/Ideogram-style flow models where CFG > 1. - Empty String: encodes
""through CLIP properly, for models that genuinely expect a real empty-text embedding as their negative.
The inputs that matter
There are only three, which is the point:
clip- your CLIP from the loader.positive- the prompt. Encoded normally.negative_mode-Zero OutorEmpty String. Leave it on Zero Out unless you know your model wants the real empty embedding; the tooltip says as much, and it's right.
Outputs are POSITIVE and NEGATIVE conditioning, both ready to wire into your sampler or guider.
Installing
The whole suite in one shot, Manager search Nougan or:
cd ComfyUI/custom_nodes
git clone https://github.com/Winnougan/Nougan_Nodes
# restart ComfyUI
Zero dependencies beyond what ComfyUI ships. Each family loads in its own try/except, and this one lives in the core family so it's practically always available after boot.
Gotchas worth knowing
The one real trap is using Empty String mode on a model that wanted zeroing - you'll get weird, over-bright or prompt-flattened output and not immediately know why. If your results change for the worse after switching, switch back. Otherwise this is a zero-surprise node: it's a convenience wrapper, not a magic bullet, and the output conditioning is indistinguishable from doing the two-node chain by hand. Which is exactly what you want from it.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | β | |
| positive | STRING | Positive prompt. Encoded normally via CLIP. | |
| negative_mode | COMBO | Zero Out | Zero Out: zeros the conditioning tensors (standard for Flux/Krea2/Ideogram-style flow models with CFG > 1). Empty String: encodes "" through CLIP (use when the model expects a real empty-text embedding). |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| POSITIVE | CONDITIONING | β |
| NEGATIVE | CONDITIONING | β |