VRGDG_MusicVideoPromptCreatorV2
Turn Lyrics and a Mood Board Into Scene Prompts
- signal
- concatenated_string
Here's the real bottleneck of any AI music video: coming up with a good, distinct prompt for every scene of a three-minute song. VRGDG_MusicVideoPromptCreatorV2 is the pack's answer - a prompt-building node where you describe your character, the song's mood, a set of environments, lighting, camera moves, interactions, expressions, and shots, and it assembles all of that plus your lyrics into a single structured instruction block for every scene. The idea is that the details don't all have to be written fresh each time; you curate the palette and it composes the prompts.
It's not an LLM itself - it's a prompt assembly node (the LLM that turns these instructions into prompts sits elsewhere in the workflow). What it does is take all your comma-separated option lists and generate per-scene instructions that mix them, with a list_handling_mode controlling how the options are used.
The inputs that matter
- pipe_separated_lyrics - your lyrics as
line1 | line2 | line3(pipe-separated). This is what gets paired with the visual instructions scene by scene. - character_description - who's in the video ("The Women." is the default, which should tell you a lot about the pack's typical output).
- song_theme_style - the overall look and mood.
- list_handling_mode - the interesting knob:
- Strict Cycle - use each list item once, then repeat in order.
- Reference Guide (default) - the LLM creates variations inspired by the list.
- Random Selection - pick randomly from the list.
- Free Interpretation - the LLM may ignore or combine items.
- environment, lighting, camera_motion, physical_interaction, facial_expression, shots, outfit_rules, character_visibility - your option lists. Defaults give you a solid cinematic starter set: open fields, neon reflections, zoom/pan/track, hair in wind, etc.
- word_count_min / word_count_max - how long each generated prompt should be (30–50 default).
- signal - an any-type trigger so the node only rebuilds when the workflow reaches it.
Output: concatenated_string - the full instruction block, ready to feed the LLM/prompt stage that turns it into per-scene prompts.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl
Or search vrgamedev in ComfyUI Manager. No special dependencies - it's pure string assembly.
Common issues
- Every scene looks the same: your lists are too short or your mode is Strict Cycle with few items - the LLM keeps cycling the same options. Add more variety to the lists or switch to Reference Guide.
- Prompts too long/short: adjust
word_count_min/word_count_max. - Lyrics and visuals don't match: the node pairs lyrics with instructions, but it can't understand the lyrics. If a scene's lyric is sad and the visual list is all fireworks, that's on your curation - pick options that fit the song's arc.
- Nothing outputs: check the
signalconnection; the node is gated on it.
Honest take: this is a "save the boring hour" node. Writing 40 unique prompts by hand is the worst part of the music-video workflow, and this shrinks it to "curate a good palette once." It won't write prompts you'd publish for a festival - but it'll keep a long pipeline running with decent, varied scene directions, which is exactly what the assembly line needs.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| character_description | STRING | The Women. | — |
| song_theme_style | STRING | cinematic realism, emotional storytelling, soft surrealism, naturalistic tone, dreamlike nostalgia, modern drama, poetic symbolism, intimate atmosphere | — |
| pipe_separated_lyrics | STRING | line1 | line2 | line3 | — |
| word_count_min | INT | 3010–200 | — |
| word_count_max | INT | 5010–200 | — |
| list_handling_mode | COMBO | Reference Guide (LLM creates variations inspired by list) | 4 options: Strict Cycle (use each once, then repeat), Reference Guide (LLM creates variations inspired by list), Random Selection (pick randomly from list), Free Interpretation (LLM can ignore or combine items) |
| environment | STRING | open field at dusk, dimly lit bedroom, empty city street at night, forest clearing with morning fog, seaside cliff at golden hour, rainy urban alley, sunlit living room, desert road at sunrise | — |
| lighting | STRING | warm amber glow, cool window light, neon reflections, diffused morning light, soft backlight haze, flickering streetlights, gentle afternoon sun, pink-orange dawn light | — |
| camera_motion | STRING | zoom in, zoom out, tilt down, rotate around, tilt up, pan, track | — |
| physical_interaction | STRING | walking through tall grass, lying on bed staring upward, leaning against a wall in stillness, reaching toward sunlight, hair moving in wind, footsteps in puddles, brushing hand across furniture, standing motionless in breeze | — |
| facial_expression | STRING | Intense raw emotion | — |
| shots | STRING | Close up, medium, wide angle, over the shoulder, point of view, overhead, ground level | — |
| outfit_rules | STRING | a white dress | — |
| character_visibility | STRING | mostly visible, half-shadowed, silhouetted, reflected or obscured, seen from behind, partially out of frame, emerging from light, fading into darkness | — |
| signal | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| concatenated_string | STRING | — |