VRGDG YuE2 Create Plan
Hear the melody before you pay for the render
- yue2_config
- abc_score
- plan_directory
- metadata_json
- truncated
Song generation is slow enough that iterating on lyrics by rendering full audio is a waste of your evening. This node exists to cut that cost: it runs only the first half of YuE2 - the symbolic planning stage - and hands you an ABC score. No audio, no VAE, no 48 kHz render. Just the melody and chord skeleton the model came up with for your words and style.
It's the equivalent of a KSampler preview pass, and it's the node you'll use most while you're still figuring out what a YuE2 style prompt actually does.
Why the split is worth caring about
YuE2 works in stages: plan first, then semantic tokens, then acoustic latents, then a VAE decode into audio. The plan stage is cheap and, crucially, readable. The output is ABC notation - pitches and durations as text - so you can look at the shape of the melody, see where a section wandered off, and decide before committing to a full render.
Two things you can do with that:
- Iterate on the plan. Change the style wording, change the seed, replan. Cheap.
- Edit it by hand. The
abc_scorestring is text. If a bridge is too long, or the model gave you a chord progression you don't want, you can hand it to an LLM, or your own eyes, and then feed the edited score into VRGDG YuE2 Render ABC. That's the whole reason the three nodes exist separately.
Inputs
yue2_config - the typed bundle from the installer or settings node. Wire it, don't type it.
style and lyrics behave exactly as on Generate Song: style carries language, genre, vocal character, instruments, production and BPM and must not contain lyrics; lyrics are sectioned words. style_preset will fill the style box from 35 prepared genre prompts, and editing the filled text switches it back to Custom / Keep typed style.
planning_mode is where this node differs from Generate. It only offers two values here - full for melody plus chords, melody for melody alone - with the tooltip's own framing: melody-only is what you want when you'll change the harmony or style later. If you're planning toward a cover, choose melody. (Generate adds a third off option for skipping symbolic planning; that's meaningless on a node whose entire job is planning.)
seed and cfg_scale work as on the other generation nodes: seed for reproducible A/B comparisons, cfg_scale left at -1 unless you're deliberately pushing the style conditioning harder, which can cost quality.
Outputs
abc_score is the plan - a string you can wire into VRGDG YuE2 Render ABC, or into any of the pack's text display nodes if you just want to read it. plan_directory is the folder the plan artifacts were written to, under ComfyUI/output/Yue2. metadata_json is the run record as a string. truncated is the one to watch: true means your lyrics ran past the length the plan could hold and got cut. If you see that, shorten sections rather than raising anything - there's no dial for it.
Install
The pack comes in through ComfyUI Manager (search vrgamedev) or the usual manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl.git
Then add VRGDG YuE2 Installer + Settings, set target_root to a dedicated folder, and click Install Generation + Models once. Planning still needs the real YuE2-3B model and the isolated virtualenv - the installer builds both, and none of it is in the pack's requirements file. Installation never triggers from queueing a graph; you press the button, you wait, you restart ComfyUI.
Gotchas
- Planning is cheaper than synthesis, not free. It still loads a 3B model into VRAM and still plans token by token, so a plan run on a long lyric sheet is not instant.
- The first run of a session reloads the model. In the recommended isolated mode, each node execution spawns a fresh worker that loads YuE2, does its job, and exits. Combine your plan into one queue where you can rather than queueing twelve times.
- Don't expect the plan to survive a style rewrite unchanged. Melody planning is conditioned on the style text, so re-running with a different genre will give you a different melody. Save the ABC somewhere if you liked it - the artifact folder keeps it, but the node output is only as stable as the run.
- Truncation looks like "the model ignored my bridge." It didn't ignore it; the plan got clipped. Check
truncatedbefore you go rewriting lyrics that were fine.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| yue2_config | VRGDG_YUE2_CONFIG | Runtime configuration from YuE2 Installer + Settings or YuE2 Settings. | |
| style | STRING | English, cinematic pop, expressive lead vocal, piano, bass and drums | Describe language, genre, vocal character, instruments, musical feel/production, and BPM. Do not put lyrics here. |
| lyrics | STRING | [Verse] Write your lyrics here. [Chorus] Write your chorus here. | The actual words to sing, organized with section tags such as [Verse], [Chorus], [Bridge], and [Outro]. |
| planning_mode | COMBO | full | Choose whether the planned ABC score contains melody plus chords (full) or melody only. Melody-only is useful when you want to change the harmony or style later. |
| seed | INT | 8310010–9223372036854776000 | Random seed for reproducible comparisons. Different prompts can still produce different audio with the same seed. |
| cfg_scale | FLOAT | -1.00-1–20 | Style/lyric classifier-free guidance. -1 uses YuE2 defaults; approximately 1.2–1.4 can strengthen style but may reduce quality. |
| filename_prefix | STRING | song | Safe name prefix for the unique output artifact directory. |
| style_preset | COMBO | Custom / Keep typed style | Select a prepared genre prompt. The style box is filled automatically and remains editable. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| abc_score | STRING | — |
| plan_directory | STRING | — |
| metadata_json | STRING | — |
| truncated | BOOLEAN | — |