Nodes/comfyui-prompt-assembler/🧩 Prompt Assembler Compact (4 slots)
ComfyUI Node

🧩 Prompt Assembler Compact (4 slots)

The 4-slot Prompt Assembler Compact is the one you'll actually drop into shared workflows

By jeremieLouvaertΒ·Created 6 months agoΒ·Updated 16 days agoΒ· 3
🧩 Prompt Assembler Compact (4 slots)
    • assembled_prompt
    β—„separatorcomma + spaceβ–Ί
    β—„enable_1trueβ–Ί
    β—„enable_2trueβ–Ί
    β—„enable_3trueβ–Ί
    β—„enable_4trueβ–Ί
    β—„custom_separator, β–Ί
    β—„prompt_1β–Ί
    β—„prompt_2β–Ί
    β—„prompt_3β–Ί
    β—„prompt_4β–Ί

    Same author, same pack, same idea - four slots instead of eight, one output instead of two, and none of the weight machinery. PromptAssemblerCompact is the "yes but smaller" version of the 8-slot Prompt Assembler, and for most people it's the better starting point.

    What it is

    It does exactly what the flagship does: take up to four prompt fragments, join them with a separator you choose, hand you one assembled string. Each slot has an ON/OFF toggle. Fragment disabled, fragment gone. That's it. Where the 8-slot node gives you a debug_info output for troubleshooting, the compact version strips it - you get a single assembled_prompt and nothing else.

    That's not a loss, it's the point. An eight-slot assembler with eight toggles and eight string fields is a wide, busy node on the canvas. The compact one takes up a fraction of the space, which matters more than it should in a workflow you're going to share or revisit months later. When the workflow does one job - a few fragments plus a quality block - the extra four slots are just visual noise.

    How it works

    Identical mechanism to the big one. Each run it walks the four slots, keeps anything toggled ON and non-empty, strips whitespace, and joins with the separator. The same five separator choices are there: comma + space, newline, space, period + space, and custom - and custom unlocks a custom_separator string field (default , ) so you can join with whatever you like.

    The inputs that matter:

    • prompt_1 … prompt_4 - wire string outputs from other nodes in, or type directly.
    • enable_1 … enable_4 - the toggles, ON by default.
    • separator - how the fragments are joined.

    One output, assembled_prompt, which feeds straight into CLIP Text Encode or whatever your sampler stack uses as the positive.

    Install

    It ships in the same pack, so there's nothing separate to install. Search Prompt Assembler in ComfyUI Manager, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jeremieLouvaert/comfyui-prompt-assembler.git
    

    Restart ComfyUI and all three nodes appear. Zero pip dependencies, zero model files - the entire pack is a couple of hundred lines of pure string handling, MIT-licensed, by a single author (jeremie louvaert, publishing under the "Akurate" label). Given how much garbage runs as custom-node dependencies these days, a pack with no install step beyond a git clone is quietly refreshing.

    When to pick this one over the 8-slot

    • Fewer than five fragments and no need for the debug readout β†’ compact.
    • You're sharing a workflow and want the graph readable β†’ compact.
    • You're actively troubleshooting which slot is doing what β†’ the 8-slot's debug_info earns its canvas space.

    One warning: all three nodes land under an "AKURATE" category in the node menu, which is not where you'll think to look. And remember the empty-output behavior - toggle every slot off and you get an empty string, which is correct but can look like a failure on first run. If you're on an LLM-encoded model like Flux or Anima, this plain assembly version (no weight wrappers) is the one you want; that's covered in the Weighted node's article, but it's worth knowing before you pick a variant.

    CategoryAKURATE

    Inputs (10)

    NameTypeDefaultDescription
    separatorCOMBOcomma + space5 options: comma + space, newline, space, period + space, custom
    enable_1BOOLEANtrueβ€”
    enable_2BOOLEANtrueβ€”
    enable_3BOOLEANtrueβ€”
    enable_4BOOLEANtrueβ€”
    custom_separatoroptSTRING, β€”
    prompt_1optSTRINGβ€”
    prompt_2optSTRINGβ€”
    prompt_3optSTRINGβ€”
    prompt_4optSTRINGβ€”

    Outputs (1)

    NameTypeDescription
    assembled_promptSTRINGβ€”