Gigachad Prompt Encoder
The negative-prompt toggle that fixes Flux2, Kl-F8-Anime2 and Z-Image Turbo — and why it matters
- clip_pos
- clip_neg
- positive
- negative
Gigachad Prompt Encoder is a positive + negative text encoder with one genuinely useful modern feature: a zero_neg toggle that outputs an empty negative conditioning instead of a real one. For a specific set of models - the tooltip names Flux2, Kl-F8-Anime2, and Z-Image Turbo - a real negative embedding actively breaks inference, and this is the switch that fixes it without you needing to know what a ConditioningZeroOut is.
Why the toggle exists
Here's the background you need. The KB's own sampler/concepts essay puts it bluntly: flow-matching models "invert" the old rules - on many of them, negative prompts do nothing by default, and on a few, a genuine negative conditioning can destabilize the whole generation. ComfyUI has a ConditioningZeroOut node precisely for those cases; it zeros every tensor in the conditioning so the model sees no guidance signal in that slot.
This node bakes that in. When zero_neg is ON, it takes your positive conditioning and produces a zeroed clone for the negative output - which is exactly what the models above need. The clip_neg input is then ignored entirely, so you don't have to feed a second CLIP that never gets used.
The inputs you set
clip_pos- CLIP model for the positive prompt. Required.clip_neg- CLIP for the negative prompt. Required unlesszero_negis ON.positive- your prompt text (multiline).negative- your negative prompt text (multiline). Ignored whenzero_negis ON.zero_neg- the toggle. Leave it OFF for SD1.5/SDXL where negatives still matter; turn it ON for the flow-matching family that chokes on them.
Outputs are positive and negative CONDITIONING, wired into your sampler's positive/negative inputs.
How it encodes
Nothing exotic: tokenize with the CLIP model, then encode_from_tokens_scheduled - the same scheduled-encoding path ComfyUI's own text encode uses, so it plays nicely with animated or per-frame conditioning. The "chad" part is purely the wrapper and the zeroing logic, which is implemented as an in-place zero of a clone so your positive conditioning is never mutated.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Winnougan/comfyui-gigachad.git
or install comfyui-gigachad from ComfyUI Manager and restart. Pure ComfyUI, no extra packages.
The honest take
If you only run SD1.5 or SDXL, this node is a cosmetic rebrand of the stock CLIPTextEncode - you're giving up nothing but also gaining nothing. But if you've been fighting a Flux2 or Z-Image Turbo workflow that produces garbage until you sprinkle ConditioningZeroOut in, this is the one node in the Gigachad pack that solves a problem you can't solve with the stock defaults. That alone justifies keeping the pack around.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_pos | CLIP | CLIP model for the positive prompt. | |
| clip_neg | CLIP | CLIP model for the negative prompt. Not used when zero_neg is ON. | |
| positive | STRING | Positive conditioning text. | |
| negative | STRING | Negative conditioning text. Ignored when zero_neg is ON. | |
| zero_neg | BOOLEAN | false | When ON: outputs ConditioningZeroOut for the negative slot (required for Flux2, Kl-F8-Anime2, Z-Image Turbo). The clip_neg input is ignored. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |