YuE2 生成歌曲
Lyrics in, a 48 kHz stereo song out (eventually)
- model
- audio
- result
- metadata
- output_directory
This is the node the whole pack exists for: give YuE2-3B a style line and tagged lyrics, get a finished song with vocals and accompaniment. It's the local answer to Suno, and unlike ACE-Step - the other open music model the community actually uses, and the one that's genuinely strong at instrumentals while vocals are its known weak spot - YuE was built for full songs with sung lyrics from day one.
Be calibrated about the trade though. YuE's frame in the community has been "the best open source song generator," first showing up in early 2025 and immediately drawing low-VRAM forks; even those hacked-down paths were quoting one minute of music in under 30 minutes on a sub-10 GB card. This pack runs the real, unquantized YuE2-3B at bf16 and asks for 24 GB. It is not a fast node. Budget an evening for a first song, not a coffee break.
The inputs you actually set
- style - plain prose:
Mandarin pop, warm female vocal, piano, strings. Genre, instrumentation, vocal character. Keep it short and concrete. - lyrics - the text, with bracketed section tags (
[Verse],[Chorus], …). These tags are how the model learns structure; lyrics without them are the most common reason a song drifts. - cot - the planning mode, and the one setting newcomers get wrong.
fullwrites a melody-and-chords ABC plan first (best for a new song),melodyplans the melody only and lets the accompaniment wander,offskips the plan entirely and generates straight through. Settingoffwhile also filling in abc raises an error - pick one. - candidates - 1–8, serial, consecutive seeds. Two to four is the sane range.
- seed and cfg_scale (default 1.0) - the usual. Prompt adherence versus naturalness lives here; do a small sweep rather than trusting a single value.
- abc (optional) - paste an ABC score to force the melody. This is the same pathway
YuE2 旋律重制uses, just manual.
Under the hood, and the outputs
The worker runs four stages: an ABC plan, then semantic tokens from the autoregressive model, then acoustic latents from the non-autoregressive model, then VAE decode into 48 kHz stereo. You get four outputs: audio (the first candidate - straight into Preview/Save Audio), result for YuE2 导出工件, metadata (the whole job status as JSON, including per-stage timings and truncation flags), and output_directory (where the artifacts landed on disk).
Candidates are handled honestly, which is worth knowing on long runs: they're separate jobs, and if candidate 3 fails, candidates 1 and 2 are already saved and still returned. You lose the failed one, not the batch.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-YuE2-T8.git
Run install_runtime.bat once from the node directory - it pulls the model bundle from t8star/YuE2-Comfy, sets up the isolated Python 3.12.10 + CUDA 12.8 runtime, FFmpeg, and the offline score renderer - then restart ComfyUI. Registry equivalent is comfy node install yue2-t8. Windows 10/11, NVIDIA GPU, 24 GB VRAM and 60 GB free disk recommended. Start with YuE2 模型服务 and let it pass its self-check before you queue anything.
Where people get burned
Read truncated. A job can finish complete and still be truncated - the plan or token stream hit the context ceiling, and the song ends abruptly or wanders off in the last chorus. The WebUI badges those separately; in ComfyUI, check metadata. Shorten the lyrics and rerun rather than re-rolling the seed.
Generation is offline by design. Models are downloaded at install, not on first click, so a job that stalls forever on a cold service is a load problem, not a download. Look at logs/service.log.
Watch VRAM as a process ceiling, not a promise. The budget from the loader (default 23.5 GiB, 2 GiB of it reserve) is an upper bound for the worker; if another app is using the card, you can still OOM. Long songs peak in the acoustic stage - that's what the chunked attention and AR offload defaults are for, so don't turn them off to "speed up" a long track.
Cancelling works. Hitting ComfyUI's interrupt cancels the running job instead of leaving a zombie burning GPU, which is more than a lot of heavy node packs manage.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| model | YUE2_MODEL | — | |
| style | STRING | Mandarin pop, warm female vocal, piano, strings | — |
| lyrics | STRING | [Verse] 晚风穿过城市的灯 [Chorus] 让这首歌飞过长空 | — |
| cot | COMBO | full | 3 options: full, melody, off |
| seed | INT | 8310010–9223372036854776000 | — |
| cfg_scale | FLOAT | 1.000–20 | — |
| candidates | INT | 11–8 | — |
| abcopt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| result | YUE2_RESULT | — |
| metadata | STRING | — |
| output_directory | STRING | — |