Nodes/MultiString Prompts/MultiString Prompts Encode
ComfyUI Node

MultiString Prompts Encode

Six conditioning blocks, one node — the CLIP encoder that ends the wiring marathon

By SquirrelRat·Created 11 months ago·Updated 10 months ago· 2
MultiString Prompts Encode
  • clip
  • positive_1
  • positive_2
  • positive_3
  • positive_4
  • positive_5
  • negative
enable_prefixtrue
enable_suffixtrue
prefix
suffix
positive_prompt_1
positive_prompt_2
positive_prompt_3
positive_prompt_4
positive_prompt_5
negative_prompt

MultiString Prompts Encode is the "stop wiring me six CLIPTextEncode nodes" answer to a workflow that keeps needing more than one prompt. It's the encode half of the SquirrelRat/MultiString-Prompts pack: drop in a CLIP model, type five positive prompts and one shared negative, and out the other side come six ready-to-sample CONDITIONING blocks. No string node in the middle, no encoder forest, no matching up which string feeds which encode.

If you've built a ComfyUI workflow with regional prompting or a prompt sequence, you know the pain this removes. The boring ComfyUI way is a CLIPTextEncode per prompt, all sharing the same CLIP wire - fine once, miserable when you're iterating on four or five texts. This node collapses that into one box you can edit in one place.

How it works

Under the hood it's the same prefix/suffix string logic as its sibling plus a standard CLIP encode. Each of the six prompts is processed to prefix, prompt, suffix, then tokenized and encoded via encode_from_tokens with return_pooled=True - the exact conditioning format stock CLIPTextEncode produces. Which means the outputs drop straight into a KSampler (or KSamplerAdvanced) positive and negative inputs with zero adaptation. It's not doing anything clever; it's just doing it six times so you don't have to.

One inconsistency with the sibling node is worth knowing before it bites you: the encode node doesn't treat empty prompts as empty. The plain string node returns "" for a blank box, but this one still applies the enabled prefix/suffix. Leave positive_prompt_3 blank with the prefix on, and you get a conditioning of just your prefix text - real, sampleable, and probably not what you meant.

The inputs and outputs that matter

  • clip - the CLIP model to encode with (from your checkpoint or the appropriate loader). Match it to your model family; you can't feed a random CLIP into this and get sane results.
  • positive_prompt_1 through positive_prompt_5 - five multiline positive prompts.
  • negative_prompt - one shared negative, applied to all.
  • prefix / suffix with their enable_prefix / enable_suffix toggles - the shared keyword blocks, run through every box.

Outputs are positive_1 through positive_5 and negative, all CONDITIONING. The classic wiring: each positive_N goes to a KSampler (or into ConditioningSetArea for regional prompting), and negative goes to the negative inputs of however many samplers you're running.

Installing it

Same pack, same install - it ships alongside MultiString Prompts:

cd ComfyUI/custom_nodes
git clone https://github.com/SquirrelRat/MultiString-Prompts

Restart ComfyUI. Or use Manager → Install Custom Nodes → search "MultiString Prompts". The encode node's only import is torch, which is already there, so there are no extra dependencies and no model files to fetch.

Gotchas

The empty-slot behavior above is the main one - check any slot you intend to leave blank, or disable the prefix for that node. The other caveat is broader and applies to every negative prompt you've ever written: on guidance-distilled, flow-matching models (most of the Flux/current-LLM-encoded family), negatives are essentially inert at CFG 1. If you're on that generation of models, the shared negative output is still handy plumbing - but the negative text itself may not be steering anything. On SD1.5/SDXL/Pony/Illustrious it works exactly as you'd expect.

CategoryMultiString Prompts

Inputs (11)

NameTypeDefaultDescription
clipCLIP
enable_prefixCOMBOtrue2 options: true, false
enable_suffixCOMBOtrue2 options: true, false
prefixSTRING
suffixSTRING
positive_prompt_1STRING
positive_prompt_2STRING
positive_prompt_3STRING
positive_prompt_4STRING
positive_prompt_5STRING
negative_promptSTRING

Outputs (6)

NameTypeDescription
positive_1CONDITIONING
positive_2CONDITIONING
positive_3CONDITIONING
positive_4CONDITIONING
positive_5CONDITIONING
negativeCONDITIONING