Nodes/SongBloom_ComfyUI/SongBloom Batch Processor
ComfyUI Node

SongBloom Batch Processor

Queue up a dozen songs from one model load

By xuchenxu168·Created 11 months ago·Updated 10 months ago· 15
SongBloom Batch Processor
  • model
  • audio_prompt
  • batch_report
  • songs_generated
lyrics_list# Enter multiple lyrics separated by '---' # Example: Lyrics 1 here --- Lyrics 2 here --- Lyrics 3 here
batch_size1
cfg_coef1.5
steps50
base_filenamebatch_song

The boring truth about SongBloom is that each generation is a multi-minute GPU job, and the model load itself is the slow, VRAM-hungry part. If you want to try ten different lyrics against the same model and the same reference clip, the smart move is to load the model once and generate ten times. That's the entire point of this node: it takes a list of lyrics, runs them all through the same loaded model with the same audio prompt, and saves each result to disk.

It's a convenience, but a real one. The alternative - re-running the whole graph per lyric set, reloading weights each time - is the kind of thing that turns an afternoon experiment into a day. If you're hunting for the right words over a fixed musical idea, this is the node you reach for.

Inputs that matter

  • model (required) - the SONGBLOOM_MODEL from SongBloomModelLoader. Load once, batch many.
  • lyrics_list (required) - multiple lyrics in one multiline box, separated by a line containing ---. That's the delimiter; the node splits on it and each chunk becomes one song. The default text shows the format.
  • batch_size (required) - 1–10, default 1. Controls how the list is chunked for processing (mostly relevant to pacing/memory; it doesn't mean parallel GPU work, so don't expect a speedup).
  • audio_prompt (optional) - the AUDIO reference, shared by every song in the batch.
  • cfg_coef / steps (optional) - the generation knobs for the whole batch. Note there's no quality_preset or top_k here; you get these two dials and defaults otherwise.
  • base_filename (optional) - default batch_song. Outputs land as batch_song_001.flac, batch_song_002.flac, … in ComfyUI's output directory. The batch always saves FLAC.

Outputs are batch_report (STRING) - a summary of how many lyrics were found, processed, and where files went - and songs_generated (INT), the count, which you can route into anything that wants to know "did this work."

The honest warnings

  • This is a long-running job. One song at 50 steps on a mid-range card is minutes; a batch of ten is potentially an hour. Set steps accordingly and don't queue a batch of 10 at 200 steps unless you have a weekend.
  • It saves directly to the output folder - the node is its own saver, so you don't add a SongBloomAudioSaver after it. If you want songs elsewhere, move them after the run.
  • Each entry still needs to be valid SongBloom lyric format. The node doesn't run your list through the lyric processor; malformed lyrics just produce malformed songs. Pre-validate with SongBloomLyricValidator or run each chunk through SongBloomLyricProcessor before it lands in the list.
  • VRAM. A batch doesn't reduce per-song memory; it just avoids the reload cost. On a tight card, keep bfloat16 on the loader and keep steps modest.

Install

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/xuchenxu168/SongBloom_ComfyUI
cd SongBloom_ComfyUI
pip install -r requirements.txt

ComfyUI Manager: search "SongBloom_ComfyUI". Restart and it's under SongBloom/Utils. The batch node needs the model loaded (and its ~8GB download on first use), so it's not the first node you should try - get one song working in SongBloomGenerator first, then scale up.

CategorySongBloom/Utils

Inputs (7)

NameTypeDefaultDescription
modelSONGBLOOM_MODEL
lyrics_listSTRING# Enter multiple lyrics separated by '---' # Example: Lyrics 1 here --- Lyrics 2 here --- Lyrics 3 here
batch_sizeINT11–10
audio_promptoptAUDIO
cfg_coefoptFLOAT1.50.1–10
stepsoptINT5010–200
base_filenameoptSTRINGbatch_song

Outputs (2)

NameTypeDescription
batch_reportSTRING
songs_generatedINT