Nodes/Comfyui-YuE2-T8/YuE2 生成歌曲
ComfyUI Node

YuE2 生成歌曲

Lyrics in, a 48 kHz stereo song out (eventually)

By T8mars·Created 3 days ago·Updated a day ago· 28
YuE2 生成歌曲
  • model
  • audio
  • result
  • metadata
  • output_directory
styleMandarin pop, warm female vocal, piano, strings
lyrics[Verse] 晚风穿过城市的灯 [Chorus] 让这首歌飞过长空
cotfull
seed831001
cfg_scale1.00
candidates1
abc

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. full writes a melody-and-chords ABC plan first (best for a new song), melody plans the melody only and lets the accompaniment wander, off skips the plan entirely and generates straight through. Setting off while 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.

CategoryYuE2 音乐

Inputs (8)

NameTypeDefaultDescription
modelYUE2_MODEL
styleSTRINGMandarin pop, warm female vocal, piano, strings
lyricsSTRING[Verse] 晚风穿过城市的灯 [Chorus] 让这首歌飞过长空
cotCOMBOfull3 options: full, melody, off
seedINT8310010–9223372036854776000
cfg_scaleFLOAT1.000–20
candidatesINT11–8
abcoptSTRING

Outputs (4)

NameTypeDescription
audioAUDIO
resultYUE2_RESULT
metadataSTRING
output_directorySTRING