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 about 7 hours ago· 718
✂️ 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