Nodes/Gigachad Nodes/Gigachad Prompt Encoder
ComfyUI Node

Gigachad Prompt Encoder

The negative-prompt toggle that fixes Flux2, Kl-F8-Anime2 and Z-Image Turbo — and why it matters

By Winnougan·Created 4 months ago·Updated 4 months ago· 2
Gigachad Prompt Encoder
  • clip_pos
  • clip_neg
  • positive
  • negative
positive
negative
zero_negfalse

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 unless zero_neg is ON.
  • positive - your prompt text (multiline).
  • negative - your negative prompt text (multiline). Ignored when zero_neg is 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.

CategoryGigachad

Inputs (5)

NameTypeDefaultDescription
clip_posCLIPCLIP model for the positive prompt.
clip_negCLIPCLIP model for the negative prompt. Not used when zero_neg is ON.
positiveSTRINGPositive conditioning text.
negativeSTRINGNegative conditioning text. Ignored when zero_neg is ON.
zero_negBOOLEANfalseWhen ON: outputs ConditioningZeroOut for the negative slot (required for Flux2, Kl-F8-Anime2, Z-Image Turbo). The clip_neg input is ignored.

Outputs (2)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING