ComfyUI Node

Prompts

Prompts

By TW-CUI·Created 2 years ago·Updated 2 years ago· 1
Prompts
  • CLIP
  • prompt
  • neg_prompt
  • POSITIVE
  • NEGATIVE
prompt
neg_prompt

Every ComfyUI workflow needs two text encodes - one for your positive prompt, one for negative - feeding two CLIP Text Encode nodes into your KSampler's positive/negative conditioning slots. That's four nodes (two text boxes, two encoders) for what's conceptually one idea: what you want, and what you don't. Prompts collapses that down to one node - type both prompts in, plug in your CLIP, and get back both the encoded conditioning and the raw text strings in a single box.

Mechanism. It's doing exactly what two separate CLIP Text Encode nodes would do - running your prompt and negative prompt text through the checkpoint's CLIP model to produce conditioning tensors - just with both text fields and both encode calls living in one node instead of scattered across your graph.

Inputs and outputs. Two required inputs: CLIP (wire this from your checkpoint loader) and prompt, a multiline string for your positive prompt. One optional input, neg_prompt, also multiline, for what you don't want to see. Four outputs: prompt and neg_prompt come back out as plain strings, unmodified - the same "give me the typed value back so I can also feed a metadata node" pattern as this pack's other Generation* nodes - and POSITIVE / NEGATIVE come out as CONDITIONING, ready to wire straight into your KSampler. If you're also using Save Image (Advanced), the string outputs plug directly into its optional positive_prompt/negative_prompt inputs, so your saved files carry the exact prompt text you used instead of "unknown."

Installing it. Bundled with TW-CUI-Util. ComfyUI Manager: search "TW-CUI-Util", install, restart. Or manually, git clone https://github.com/TW-CUI/TW-CUI-Util into ComfyUI/custom_nodes, restart. No models to fetch, no extra dependencies - it leans entirely on the CLIP model you've already loaded from your checkpoint.

Troubleshooting.

  • If neg_prompt is left empty, you'll still get a NEGATIVE conditioning output - ComfyUI encodes an empty string just fine - but an empty negative prompt is doing essentially nothing for you on most SD1.5/SDXL-era checkpoints, since it's effectively just unconditional guidance. Don't be surprised if leaving it blank changes very little compared to filling it in.
  • Worth knowing if you're mixing model families in the same project: negative prompts stop doing anything meaningful on guidance-distilled models run at CFG 1, which describes a lot of the current Flux/Z-Image generation of checkpoints. The field's still there, still gets encoded, it's just architecturally inert at that CFG setting. If you migrate a workflow built around this node onto one of those checkpoints and negative prompting suddenly "stops working," that's why - it's not this node breaking.
  • If conditioning coming out of this node looks wrong - garbled output, prompt seemingly ignored - check the CLIP input first. Make sure it's wired from the same checkpoint you're sampling with; a CLIP from one checkpoint paired with a MODEL from a different one is a classic mismatch that produces confidently wrong results with no error message at all.
CategoryTW-CUI/generation

Inputs (3)

NameTypeDefaultDescription
CLIPCLIP
promptSTRING
neg_promptoptSTRING

Outputs (4)

NameTypeDescription
promptSTRING
neg_promptSTRING
POSITIVECONDITIONING
NEGATIVECONDITIONING