Nodes/comfyui-musicflamingo/Music Flamingo Analysis
ComfyUI Node

Music Flamingo Analysis

Music Flamingo Analysis

By C0untFloyd·Created 7 months ago·Updated 4 days ago· 9
Music Flamingo Analysis
  • audio
  • description
promptDescribe this track in full detail - tell me the genre, tempo, and key, then dive into the instruments and describe the song structure.
max_new_tokens512
devicegpu
quantizationnone
use_torch_compiletrue
attentionnone

Stop describing tracks by hand

This is the closest ComfyUI has to "JoyCaption, but for music." You drop in a song, and out comes a paragraph - genre, tempo, key, instrumentation, song structure. Behind it is NVIDIA's Music Flamingo, a real audio-captioning model (Audio Flamingo 3) that got wrapped up as a single, dead-simple ComfyUI node. One audio input, one text output, nothing else in the way. If you've ever wanted to generate a Suno prompt from a reference track, caption a pile of music for a training set, or just get a second opinion on what a song actually is, this is the node you reach for.

The author, C0untFloyd (CountFloyd_ on Reddit), built it after asking r/StableDiffusion for a local "joycaption for audio" and then announcing it as vibe-coded. Take that framing seriously: it's a thin but genuinely working wrapper around a strong model, not a polished ecosystem. It does one thing, and it does it fine.

How it works

Mechanically it's a chat model wearing an audio hat. The node takes the standard Comfy AUDIO dict from a plain Load Audio node (a waveform tensor plus a sample rate), writes it to a temporary WAV file with torchaudio, then builds a chat-template conversation containing your prompt text and that audio file. AutoProcessor tokenizes it, and AudioFlamingo3ForConditionalGeneration generates a response token by token - which is why a full song takes minutes, not milliseconds. Only the generated continuation is decoded and returned.

Two nice touches buried in the source: it loads in bfloat16 when your GPU supports it (falling back to fp16, then fp32), and it wires a real ComfyUI progress bar plus the Stop button into generation via a custom stopping criterion. So at least it's honest about how long it's taking.

The inputs and output that matter

Only four inputs, and you'll mostly touch two:

  • audio - the AUDIO output of a Load Audio node. Single clip only; the code rejects anything that isn't shape [1, C, T], so don't try to batch.
  • prompt - the question you're asking the model. The default asks for genre, tempo, key, instruments, and structure, and it's a sensible starting point. This is where you tune the output: ask for "a Suno-style prompt" or "production notes" and you'll get very different answers.
  • max_new_tokens - 512 by default, up to 1024. Raise it if the description cuts off mid-thought.
  • device - gpu or cpu. Default gpu; CPU loads fp32 and crawls. Only use it to prove the model works on a cardless box.

The single output, description, is a plain STRING - wire it into a Show Text node to read it, or feed it onward if you're building prompts or logging captions.

Installing it

ComfyUI Manager (search "comfyui-musicflamingo"), or the manual way:

cd ComfyUI/custom_nodes
git clone https://github.com/C0untFloyd/comfyui-musicflamingo

Then restart ComfyUI. The catch is the first run: it downloads the NVIDIA weights, roughly 16 GB, and stashes them in ComfyUI/models/checkpoints/musicflamingo - not the standard Hugging Face cache, so it'll show up in your checkpoints folder. Go make a coffee.

Where people get burned

The real trap is the dependency: the pack requires transformers>=5.0.0, a very new release, because it imports AudioFlamingo3 straight out of transformers.models.audioflamingo3. If any of your other custom nodes pin an older transformers, that upgrade can silently break them - the classic Comfy dependency hell where fixing one node breaks two others. Worth knowing before you click install in Manager.

After that, set expectations: ~16 GB of disk, minutes per full-length track (the author quotes about five minutes on a 5060 Ti), and no batching. It's a captioning LLM for audio, not a fingerprinting tool. For anything real, use a GPU and give the prompt a moment to do its job.

Categoryaudio/MusicFlamingo

Inputs (7)

NameTypeDefaultDescription
audioAUDIO
promptSTRINGDescribe this track in full detail - tell me the genre, tempo, and key, then dive into the instruments and describe the song structure.
max_new_tokensINT5121–1024Number of tokens to generate. Automatically clamped so the input plus generated tokens stay within the model's maximum sequence length.
deviceCOMBOgpu2 options: gpu, cpu
quantizationCOMBOnoneQuantize the model to reduce VRAM usage. Requires bitsandbytes and accelerate (pip install bitsandbytes accelerate). Only applies when running on GPU.
use_torch_compileBOOLEANtrueCompile the model with torch.compile and a static KV cache for faster generation. Only takes effect on GPU with quantization set to none. The first generation after enabling is slower while the graph compiles.
attentionCOMBOnoneAttention implementation used when loading the model (attn_implementation). 'none' leaves Transformers' default. flash_attention_2 requires a compatible GPU and disables torch.compile.

Outputs (1)

NameTypeDescription
descriptionSTRING