Nodes/ComfyUI-FunPack/FunPack Prompt Combiner
ComfyUI Node

FunPack Prompt Combiner

One base prompt, five shot prompts, no copy-paste

By digital-garbage·Created about a year ago·Updated 2 days ago· 18
FunPack Prompt Combiner
    • out1
    • out2
    • out3
    • out4
    • out5
    • random
    main_promptmasterpiece, best quality, detailed background
    delimiter,
    prompt1
    prompt2
    prompt3
    prompt4
    prompt5

    FunPack Prompt Combiner is the glue node for anyone generating multi-shot video. It merges one shared base prompt with up to five per-shot additions, so your quality/style boilerplate lives in one place while each shot gets its own specific text. If you've ever hand-edited the same "masterpiece, best quality, detailed background" into six different prompt boxes, this is the node that retires that habit.

    How it works

    You put the text every shot should carry in main_prompt (default "masterpiece, best quality, detailed background"). Then each optional prompt1..prompt5 input holds that shot's specific content. The node joins main + addition using delimiter (default ,), and each output slot stands alone:

    • out1 = main_prompt + prompt1
    • out2 = main_prompt + prompt2
    • …and so on through out5

    The behavior is friendly in both edge cases: if an addition is empty, that output falls back to just the main prompt; if main is empty, the addition stands alone. No dangling commas, no manual cleanup.

    The one output that isn't a simple merge is random - a randomly selected one of the combined prompts. That's a nice touch for batch testing: wire random into a single sampler and rerun with different seeds to sample from your shot list without building a whole branch tree.

    Where it fits

    This node is the text-side counterpart to the video-side stitch nodes. You build your five scene descriptions with something like FunPack Story Writer (or by hand), feed them into prompt1..5, and out1..5 flow into the per-scene conditioning or the scene-chain pipeline. The shared base is where your character's anchor description lives - keeping it in main_prompt means every shot inherits it, which is the single cheapest character-consistency trick in the book.

    It's pure string manipulation: no LLM, no model download, no GPU. You could replicate it with a couple of text-concat nodes, but this does it in one place and keeps the whole shot list visible on a single node face.

    Install

    It ships in ComfyUI-FunPack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/olivv-cs/ComfyUI-FunPack
    pip install -r requirements.txt
    

    or ComfyUI Manager → search "ComfyUI-FunPack". No extra dependencies beyond the pack baseline, no optional installs.

    The honest take

    The only real design quirk to remember: an empty addition collapses to just the base prompt. If you intend a shot to have no shared boilerplate, you can't express that through this node - empty means "inherit base." For 95% of multi-shot video work that's the behavior you want anyway. Keep the character anchor in main_prompt, keep the per-scene action in the additions, and let the delimiter do the rest.

    CategoryFunPack

    Inputs (7)

    NameTypeDefaultDescription
    main_promptSTRINGmasterpiece, best quality, detailed background
    delimiterSTRING,
    prompt1optSTRING
    prompt2optSTRING
    prompt3optSTRING
    prompt4optSTRING
    prompt5optSTRING

    Outputs (6)

    NameTypeDescription
    out1STRING
    out2STRING
    out3STRING
    out4STRING
    out5STRING
    randomSTRING