ComfyUI Node

🩺 Multi Text

Twenty Labeled Prompt Slots in One Node, Joined by a Separator

By BlueprintCoding·Created 2 years ago·Updated about a year ago· 7
🩺 Multi Text
    • *

    If you build prompts out of parts - a base prompt, a quality-tag block, a style block, a "things to absolutely not include" block - you've probably ended up with six Text Multiline nodes feeding a concat chain. 🩺 Multi Text does that whole job in one node: up to 20 labeled, multiline text slots, each individually toggleable, joined together by a separator and spat out as a single string.

    It's the third node in "The AI Doctors Clinical Tools", and the most interesting of the three because of its ancestry. The README is upfront: MultiText is forked from ComfyUI_SKBundle, where the author had landed a few PRs before deciding to split into his own pack. SKBundle itself was a small dev's Cursor-built utility set from late 2024 that explicitly riffed on rgthree's workflow-organization ideas. So this is second-generation tooling, and it shows in the polish of the widget.

    How it works

    All the real inputs are hidden behind the widget. Each of the 20 slots has an enabled boolean (default on), a multiline text field, and a weight float (0.0–2.0, default 1.0). There's also a global separator string (default a single space) and an active master switch.

    The combine logic is simple: if active is false, output is an empty string. Otherwise it walks the 20 slots, skips any that are disabled or empty, and joins the survivors with the separator. One STRING output named * carries the result.

    One honest mechanic note: those per-slot weight fields exist in the schema, but in the shipped code every enabled slot is appended exactly as typed - the weight isn't actually applied. That's not a bug you'll care about, because prompt weighting is a model-dependent mess anyway: it does real work on CLIP-encoded TEs like SDXL's, but gets discarded or passed through as literal punctuation on the LLM-encoded encoders behind Flux and friends. Treat this node as a separator-based combiner, not a weighted prompt blender.

    What you'll actually set

    • The separator - swap the default " " for ", " and you've got a tag-style prompt builder instead of a sentence joiner.
    • Each slot's label and text - keep "Base", "Quality", "Negative" as named chunks.
    • The enable toggles - flip a whole block off to A/B test prompts without deleting anything.

    Wire the * output into a positive or negative prompt input. Need a second string later in the graph? This node gives you one output, so grab a second MultiText or route it through whatever string splitter you already use.

    Installing it

    No models, no API keys, no Python dependencies. Search "ComfyUI_AIDocsClinicalTools" in ComfyUI Manager, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/BlueprintCoding/ComfyUI_AIDocsClinicalTools
    

    Restart ComfyUI and it lives under the AIDoc category.

    Troubleshooting

    This node has the pack's one genuinely documented gotcha, and it's a doozy: the README's own most-recent-update note warns that the update may make MultiText forget the titles and text values in your existing nodes. Before you update this pack in Manager, export your workflow JSON or back up the node - it's the difference between a five-second reload and retyping every prompt you've ever saved. Also standard house rules: hard-refresh the browser if the widget renders blank after a ComfyUI update.

    CategoryAIDoc

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    *STRING