Nodes/comfyui-mudknight-utils/Multi-String Conditioning
ComfyUI Node

Multi-String Conditioning

Five text fields, one conditioning — keep your prompt chunks separate

By mudknight·Created 8 months ago·Updated 2 months ago· 1
Multi-String Conditioning
  • clip
  • conditioning
  • combined_text
  • lora_syntax
quality
style
trigger
character
prompt
modeconcatenate

Multi-String Conditioning is the non-pipe half of the pack's prompt machinery: a CLIP plus up to five labeled text fields (quality, style, trigger, character, prompt), all encoded separately and merged into one conditioning. It's the same concatenation trick the full-pipe Prompt node does internally, exposed as a standalone node for people who'd rather keep the text chunks in separate boxes than one blob.

Why separate boxes? Because in the Danbooru-tag world the ordering and grouping of a prompt genuinely matter, and keeping "quality tags" in its own field means you can flip or reorder a category without touching the rest. The node even strips comment lines and <lora:...> syntax from each field, so you can keep your prose notes and LoRA tags right in the boxes - the LoRAs get pulled out to a separate output instead of being encoded as garbage text.

The inputs that matter

  • clip - required; the text encoder you're conditioning with.
  • quality, style, trigger, character, prompt - all optional force-input strings (they expect wires, though typing works too). Any combination is fine; empty fields are skipped.
  • mode - the interesting one:
    • concatenate (default) - each non-empty field is encoded to its own conditioning and the tensors are concatenated along the sequence dimension. The model reads all of it, chunks stay coherent.
    • combine - encodes each field and averages the conditioning tensors. This blends the concepts together rather than stacking them; useful when you want "a style + a character" fused instead of read in sequence.
    • join - just joins all text into one string and encodes it once. The "I don't care, give me a CLIPTextEncode" option.

Outputs

  • conditioning - the merged result, ready for a KSampler.
  • combined_text - the cleaned, comma-joined text (LoRA tags and comments stripped). Feed it to a display node or metadata writer.
  • lora_syntax - the collected <lora:...> tags, so you can apply them elsewhere (that's exactly what the pack's Lora Extract node is for).

Installing

Part of the mudknight utils pack. ComfyUI Manager → search comfyui-mudknight-utils, or:

cd ComfyUI/custom_nodes
git clone https://github.com/mudknight/comfyui-mudknight-utils

Restart ComfyUI. No model downloads, no Impact Pack needed - pure CLIP encoding.

Gotchas

  • Empty output conditioning - if every field is empty, the node encodes an empty string and returns it, so your sampler runs on a blank prompt. Not a crash, but a mystery if you expected text. Check that your fields actually have content.
  • "combine" isn't "better" - averaging conditionings is a specific tool, not an upgrade. It can wash out detail on complex prompts; stick with concatenate unless you have a reason.
  • LoRA tags go to a separate output - if you wire conditioning straight to a sampler and ignore lora_syntax, your LoRAs are silently not applied. That's by design (this node doesn't have a model), but it's the classic "why is my LoRA doing nothing" moment.

A quiet utility in a zero-impression pack - it's for people who think in prompt categories rather than prompt strings, and it does exactly that job cleanly.

Categorymudknight/conditioning

Inputs (7)

NameTypeDefaultDescription
clipCLIP
qualityoptSTRING
styleoptSTRING
triggeroptSTRING
characteroptSTRING
promptoptSTRING
modeoptCOMBOconcatenate3 options: concatenate, combine, join

Outputs (3)

NameTypeDescription
conditioningCONDITIONING
combined_textSTRING
lora_syntaxSTRING