Nodes/SongBloom_ComfyUI/SongBloom Generator
ComfyUI Node

SongBloom Generator

The node at the center of every SongBloom workflow

By xuchenxu168·Created 12 months ago·Updated 10 months ago· 15
SongBloom Generator
  • model
  • audio_prompt
  • generated_audio
  • generation_info
  • saved_path
lyrics
quality_presetHigh
low_memory_modefalse
max_memory_retries2
prompt_max_seconds10
max_frames12000
cfg_coef3.0
steps100
top_k100
use_samplingtrue
seed-1
dtypefloat32

This is the node that does the actual song. Everything else in the pack - the lyric tools, the audio prompt, the savers - exists to feed this one thing. You hand it a model from SongBloomModelLoader, a chunk of tag-formatted lyrics, and optionally a 10-second audio reference, and it runs SongBloom's autoregressive sketch + diffusion refinement pipeline to produce up to about 2m30s of music. On a mid-range GPU that's a few minutes per song, so budget your queue accordingly.

The inputs that matter

Two are required, and then a long optional row that controls quality:

  • model - the SONGBLOOM_MODEL from the loader.
  • lyrics - must be in SongBloom's tag format: [intro], [verse], [chorus], [bridge], [inst], [outro], sections separated by commas, sentences by periods. Garbage in, garbage out - this format is not optional. Run it through SongBloomLyricProcessor first if you want it cleaned.

Then the ones you'll actually touch:

  • quality_preset - Ultra High (CFG 4.0 / 200 steps / top_k 50), High (3.0 / 100 / 100), Balanced (2.0 / 75 / 150), Fast (1.5 / 50 / 200), or Custom. High is the default and the right place to start. Steps are the vocal-quality knob - the community quickly learned that the 30-ish step defaults you see in some SongBloom wrappers make voices sound tinny and robotic; 100+ steps fixes most of it.
  • cfg_coef / steps / top_k - only read when quality_preset is Custom. CFG controls how hard the model follows your lyrics.
  • audio_prompt - the AUDIO output from SongBloomAudioPrompt. SongBloom is audio-prompted: it takes a short reference clip and sings your lyrics over a close cousin of that melody. Skip it and you get silence driving the song.
  • low_memory_mode and max_memory_retries - on an OOM, the node backs off (fewer steps, higher top_k, shorter prompt, cache cleared) and retries instead of dying.
  • prompt_max_seconds - caps how much of the audio reference gets fed in (default 10s). Lower it to 5s on tight VRAM.
  • max_frames - the song-length ceiling, roughly 25 frames per second. 12000 ≈ 150s. This is the biggest single VRAM lever; drop it for testing.
  • seed - -1 for random, or a number to reproduce a song.
  • dtype - float32 or bfloat16, mirroring the loader.

The outputs

  • generated_audio (AUDIO) - the song. Wire it into SongBloomAudioSaver or SongBloomAudioPreview.
  • generation_info (STRING) - duration and status text.
  • saved_path - comes back as "Not saved": this node deliberately does not write a file. That's the saver's job.

Honest troubleshooting

The pack's failure modes map to the model's weaknesses, not the node's. English lyrics often come out as gibberish while Chinese works well - the model is heavily trained on Chinese pop, and this is the #1 community complaint. Don't blame your workflow. Also: keep expectations realistic on the cap. The model name says 150s and it mostly refuses to meaningfully exceed that; the pack doesn't support the newer 240s weights. And if you're on 8GB of VRAM or less, treat bfloat16 + Fast/Balanced + low_memory_mode as the baseline, not the fallback.

Install is the same as the whole pack - clone https://github.com/xuchenxu168/SongBloom_ComfyUI into custom_nodes, run pip install -r requirements.txt, restart. ComfyUI Manager users can search "SongBloom_ComfyUI".

CategorySongBloom/Generation

Inputs (14)

NameTypeDefaultDescription
modelSONGBLOOM_MODEL
lyricsSTRING
audio_promptoptAUDIO
quality_presetoptCOMBOHigh5 options: Ultra High, High, Balanced, Fast, Custom
low_memory_modeoptBOOLEANfalse
max_memory_retriesoptINT20–5
prompt_max_secondsoptINT101–30
max_framesoptINT120001000–20000
cfg_coefoptFLOAT3.00.1–10
stepsoptINT10010–500
top_koptINT1001–1000
use_samplingoptBOOLEANtrue
seedoptINT-1-1–4294967295
dtypeoptCOMBOfloat322 options: float32, bfloat16

Outputs (3)

NameTypeDescription
generated_audioAUDIO
generation_infoSTRING
saved_pathSTRING