Nodes/VRGameDevGirl Video Enhancement Nodes/✂️ VRGDG_PromptSplitter
ComfyUI Node

✂️ VRGDG_PromptSplitter

Splitting one big prompt into N scene prompts, the original way

By vrgamegirl19·Created about a year ago·Updated a day ago· 742
✂️ VRGDG_PromptSplitter
    • text_output_1
    • text_output_2
    • text_output_3
    • text_output_4
    • text_output_5
    • text_output_6
    • text_output_7
    • text_output_8
    • text_output_9
    • text_output_10
    • text_output_11
    • text_output_12
    • text_output_13
    • text_output_14
    • text_output_15
    • text_output_16
    • text_output_17
    • text_output_18
    • text_output_19
    • text_output_20
    • text_output_21
    • text_output_22
    • text_output_23
    • text_output_24
    • text_output_25
    • text_output_26
    • text_output_27
    • text_output_28
    • text_output_29
    • text_output_30
    • text_output_31
    • text_output_32
    • text_output_33
    • text_output_34
    • text_output_35
    • text_output_36
    • text_output_37
    • text_output_38
    • text_output_39
    • text_output_40
    • text_output_41
    • text_output_42
    • text_output_43
    • text_output_44
    • text_output_45
    • text_output_46
    • text_output_47
    • text_output_48
    • text_output_49
    • text_output_50
    ◄prompt_text►
    ◄scene_count2►

    A music video has scenes, and each scene gets its own prompt. But it's a lot easier to write one big structured prompt - or have the LLM node in this pack generate one - than to wire up thirty separate text nodes by hand. VRGDG_PromptSplitter is the original node in the pack that does the cutting: it takes a block of prompt text and splits it into however many scene prompts you need, each on its own output port.

    It's the ancestor of a whole family of splitters in this pack (there are ten of them, no joke - V2, 4, JSON, ForFL, ForManual, and more). This one is the plainest: text in, numbered chunks out.

    How it works

    Two inputs:

    • prompt_text - your multiline prompt block. In the music video workflow this is the LLM-generated scene list, where each scene's prompt lives on its own line (or is otherwise delimited).
    • scene_count - how many scenes you're splitting into, from 1 to 50. Set it to match how many scenes the song has, and the node carves the text into that many chunks.

    Outputs: text_output_1 through text_output_50 - fifty fixed STRING ports. You don't use fifty; you use the first scene_count of them and wire those into your per-scene video generation. The unused outputs just stay empty. It's clunky but dead reliable, and it means you never have to rewire when the scene count changes - only the scene_count widget does.

    Where it sits

    Typical flow in this pack: the LLM node writes the scene prompts → the subject prepender stamps the character into each one → this splitter divides them → each text_output_N feeds scene N's video generation. Splitting late, right before generation, is deliberate: it keeps the whole scene list as one blob until the last second, so you can edit it as a unit.

    The honest take

    If you're building your own graph, this is the splitter to understand first - the others are workflow-specific variants of the same idea, and knowing this one means you'll recognize all of them. If you're using the shipped music video workflow, use whatever splitter that workflow references instead of swapping in this one; the variants exist because different workflow sections need different output counts and input formats. This one is the generic, teach-you-the-pattern version.

    Installing it

    It's part of the vrgamegirl19/comfyui-vrgamedevgirl pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl
    

    restart ComfyUI, or use ComfyUI Manager → search vrgamedev. No model downloads - it's a pure text split.

    CategoryVRGDG

    Inputs (2)

    NameTypeDefaultDescription
    prompt_textSTRING—
    scene_countINT21–50—

    Outputs (50)

    NameTypeDescription
    text_output_1STRING—
    text_output_2STRING—
    text_output_3STRING—
    text_output_4STRING—
    text_output_5STRING—
    text_output_6STRING—
    text_output_7STRING—
    text_output_8STRING—
    text_output_9STRING—
    text_output_10STRING—
    text_output_11STRING—
    text_output_12STRING—
    text_output_13STRING—
    text_output_14STRING—
    text_output_15STRING—
    text_output_16STRING—
    text_output_17STRING—
    text_output_18STRING—
    text_output_19STRING—
    text_output_20STRING—
    text_output_21STRING—
    text_output_22STRING—
    text_output_23STRING—
    text_output_24STRING—
    text_output_25STRING—
    text_output_26STRING—
    text_output_27STRING—
    text_output_28STRING—
    text_output_29STRING—
    text_output_30STRING—
    text_output_31STRING—
    text_output_32STRING—
    text_output_33STRING—
    text_output_34STRING—
    text_output_35STRING—
    text_output_36STRING—
    text_output_37STRING—
    text_output_38STRING—
    text_output_39STRING—
    text_output_40STRING—
    text_output_41STRING—
    text_output_42STRING—
    text_output_43STRING—
    text_output_44STRING—
    text_output_45STRING—
    text_output_46STRING—
    text_output_47STRING—
    text_output_48STRING—
    text_output_49STRING—
    text_output_50STRING—