Nodes/comfyui-character-suite/πŸ“‚ Load Prompt Segments
ComfyUI Node

πŸ“‚ Load Prompt Segments

Load Four Saved Prompt Pieces Without Copy-Pasting Anything

By DrkSun81Β·Created 2 months agoΒ·Updated 27 days agoΒ· 0
πŸ“‚ Load Prompt Segments
    • combined_prompt
    • load_log
    β—„category_1clothingβ–Ί
    β—„label_1β–Ί
    β—„category_2(skip)β–Ί
    β—„label_2β–Ί
    β—„category_3(skip)β–Ί
    β—„label_3β–Ί
    β—„category_4(skip)β–Ί
    β—„label_4β–Ί
    β—„separator, β–Ί

    The read side of the comfyui-character-suite segment system. Save Prompt Segment writes to the library; this node pulls from it - up to four saved fragments by category + label - and joins them into one string. It's the difference between retyping plate armor fantasy, dim candlelight, dramatic pose from memory and picking it from a dropdown.

    How it works

    You get four category/label pairs, category_1/label_1 through category_4/label_4. The categories are the same ten the suite uses everywhere: quality, style, character, hair, clothing, action, pose, scene, lighting, misc. For each pair, the node looks up the saved segment with that category and label (case-insensitive match) and collects its content. Then it joins whatever it found with separator - default , .

    The design detail that saves your sanity: (skip). Set a category to (skip) and that slot does nothing, so you can wire a four-slot node into a workflow and only populate the two slots you're using today. Empty labels are skipped too, which is why the default state (category_1 set to "clothing" with an empty label) is harmless rather than an error.

    Outputs:

    • combined_prompt - all loaded segments joined by the separator. This is the one you wire into Prompt Builder (CharacterSuite)'s segment_a, or straight into a CLIPTextEncode if you're keeping it simple.
    • load_log - a per-slot report: [βœ“] clothing/plate armor fantasy β†’ 5 tags or [βœ—] Not found: pose/dramatic pose. Wire it into a Show Text node once while you're building, then ignore it.

    Installing it

    cd ComfyUI/custom_nodes/
    git clone https://github.com/DrkSun81/comfyui-character-suite
    

    Restart, find it under CharacterSuite (or ComfyUI Manager β†’ search "character suite"). No pip dependencies. Python 3.9+.

    Where people get tripped up

    • A miss is silent in the output. If you set a category and the label doesn't exist in the library, that slot contributes nothing to combined_prompt - no error, no placeholder. The only trace is load_log, which is exactly why it exists. Check the log when your final prompt looks short.
    • Labels must match what you saved. The match is case-insensitive but otherwise exact - plate armor won't find plate armor fantasy. The suite doesn't autocomplete labels in this node, so this is the one place your own naming discipline pays off. (If you forget what's in the library, SegmentBrowser is the memory.)
    • Duplicates are your responsibility. Load the same clothing segment into two slots and it appears twice in combined_prompt; nothing dedups. The (skip) option makes leaving a slot unused the default, which mostly prevents this.
    • Order follows slot number. segment_1 goes in before segment_2, joined by the separator. If you want "clothing, then scene, then lighting," fill the slots in that order.

    It's a small node with a narrow job, and it does that job without ceremony. Combined with Prompt Builder's insert_mode, it's how you get "same outfit, different scene" workflows without a single copy-paste.

    CategoryCharacterSuite

    Inputs (9)

    NameTypeDefaultDescription
    category_1COMBOclothing11 options: (skip), quality, style, character, hair, clothing, +5
    label_1STRINGβ€”
    category_2COMBO(skip)11 options: (skip), quality, style, character, hair, clothing, +5
    label_2STRINGβ€”
    category_3COMBO(skip)11 options: (skip), quality, style, character, hair, clothing, +5
    label_3STRINGβ€”
    category_4COMBO(skip)11 options: (skip), quality, style, character, hair, clothing, +5
    label_4STRINGβ€”
    separatorSTRING, β€”

    Outputs (2)

    NameTypeDescription
    combined_promptSTRINGβ€”
    load_logSTRINGβ€”