YuE2 Official Generate Music
YuE2's Default Escape Hatch
- models
- text
- options
- audio
- abc
- report
Generate Music is the node most people should start with, and the one they should be slowest to abandon. It runs the entire official YuE2 pipeline in a single step: symbolic plan, semantic tokens, midpoint acoustic synthesis, FP32 decoding through the listening VAE. Four nodes total in the pack's own starter graph - loader, text encode, this, Save Audio.
If you came from the image side expecting a KSampler-style loop you can interrupt mid-song, this is the opposite experience. It's one long opaque operation that either produces a 48 kHz stereo track or an error.
Why it's the right first graph
YuE2 is not a fast model. It's a 3B joint transformer running two autoregressive passes and an ODE solver, and the recommended hardware baseline is a BF16-capable 24 GB card. That means the thing you'll do most is queue one whole song and listen. The staged nodes (Generate ABC → Semantic Tokens → Synthesize → Decode) exist for when you want to hold something still between attempts, and I'd argue you can't know what's worth holding still until you've heard a few complete flops.
What goes in and what comes out
Required: models from the Model Loader, and text from Text Encode. Optional: options from Generation Options - and if you omit it, the pack runs the official defaults, which is a perfectly reasonable place to live.
Three outputs. audio is a standard ComfyUI AUDIO - stereo, 48,000 Hz, no normalization, no limiting, no mastering. Wire it into Save Audio (Advanced); the shipped examples pick FLAC, and I'd keep that, since the model's output is clean enough that a lossy re-encode is just throwing detail away.
abc is the symbolic plan it generated, as a string. This is YuE2's party trick and the reason the pack exists: you get readable music notation out of the run, not just a waveform. Print it, keep it, and if you like the composition but not the performance, that string is your starting point for a re-run.
report is JSON metadata - token counts, timings, limits hit. Read it. It carries a truncated flag, and the README warns explicitly that playable audio can still be truncated: a track that sounds complete may have been cut off by a token ceiling. Before you call something finished, check the report.
The honest comparison
The open music space currently defaults to ACE-Step, which produces four minutes in about twenty seconds on serious hardware and runs on absurdly small cards by comparison. YuE2 is slower, bigger, fussier, and it plans. That symbolic middle layer is what buys you an editable score and score-conditioned covers - the things ACE-Step's audio-token pipeline doesn't hand you. If you want a quick vibe track, you're using the wrong pack. If you want to write notation and hear it performed, or turn an existing song into an ABC score and re-perform it, this is the open-weights route that exists.
Do note that YuE2's weights are CC BY-NC 4.0 with an additional individual-creator permission: individuals can publish and monetize output, companies need to talk to the licensors. Worth reading before you build a product on it.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/jeankassio/ComfyUI_YuE2
cd ComfyUI_YuE2
sh setup-runtime.sh # isolated .venv, pinned official engine
sh scripts/download-models.sh # ~11.08 GB, SHA256 verified
sh convert-models.sh # registers files in ComfyUI's model folders
Windows: the .bat launchers, in the same order. Then restart ComfyUI and drag example_workflows/01-text-to-music.json onto the canvas.
Where it goes wrong
First run failures are almost always setup, not sampling. "The isolated runtime is missing" means .venv isn't there. "Official models are not adapted yet" means you skipped conversion. Both messages name the script you need.
Out of memory on a 24 GB card: shrink memory_budget_gib, enable offload_ar, lower vae_core_frames, or drop semantic_max_tokens for a test run. FP8 exists as a quantization choice on the loader, but the author's stance is that it's a deliberate quality trade and never a fix for a memory failure - his words, and he's right.
And a thing that surprises people mid-session: before launching its worker, the pack frees ComfyUI's cached models on the target device. Queue a YuE2 song after a video graph and your other models get evicted. Iterating songs back-to-back? Do them in a dedicated YuE2 session, or accept the reload tax.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| models | YUE2_MODELS | — | |
| text | YUE2_INPUT | — | |
| optionsopt | YUE2_OPTIONS | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| abc | STRING | — |
| report | STRING | — |