MiniMax Music 3 Audio Generate ⚡
Caption and lyrics in, 44.1kHz stereo out
- model
- clip
- vae
- audio
Music is the corner of local generation where the API (Suno, in practice) has historically owned "reliable." This node is the counterpoint: run MiniMax Music 3's full AR + flow DiT + DAV pipeline on your own GPU, caption plus lyrics in, a 44.1 kHz stereo track out, with everything offline after the models are downloaded. It's not "Suno at home with a worse model" - it's a genuinely different trade: you control the seed, the duration, the sampling knobs, and you don't upload your lyrics anywhere.
What it does
Feed it the model / clip / vae from MiniMax Music 3 Models Loader, plus two text fields, and it runs the whole chain:
caption- global metadata: genre, BPM, key, mood, production, vocal character, instruments, arrangement. The default is a well-structured example (dreamy synth-pop, 112 BPM) - copy its shape and you'll get better results than prose.lyrics- section-tagged lines. Tags it understands:[intro],[verse],[pre-chorus],[chorus],[bridge],[instrumental],[drop],[outro]. Leave it empty for an instrumental.
The knobs that matter
max_duration- seconds, up to 360 (6 minutes). Read the tooltip twice: it's an upper bound. The autoregressive model can decide the song is musically complete and end it earlier. That's a feature - songs that end on a cadence beat looping forever - but it means 120 won't guarantee you 120.seed- reproducibility. Same caption, same seed, same song.steps/guidance_scale- the DiT sampling knobs (30 steps, 1.7 CFG defaults).ar_cfg_scale/ar_top_k- the autoregressive conditioner's knobs (1.5 / 50). Lower top-k tightens the "vocabulary" of the plan; it's the closest thing here to a "how weird" dial.decode_mode-auto(default),tiled, ordense. DAV decoding flips to tiled mode automatically for long outputs to keep memory in check;tile_size(1536) andtile_overlap(64) only matter if you're forcing tiling by hand.
One output
audio (AUDIO) - 44.1 kHz stereo, straight into Save Audio, a video mux, or any AUDIO input in ComfyUI. This is standard comfy AUDIO, so it composes.
Installing it
Part of the ComfyUI-GGUF-Loader pack under 🤖 CCTech/MiniMax Music. ComfyUI Manager → search "ComfyUI-GGUF-Loader" → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/ChrisColeTech/ComfyUI-GGUF-Loader
cd ComfyUI-GGUF-Loader
pip install -r requirements.txt
Then download Comfy-Org/MiniMax-Music-3 and place its split files per the loader's tooltips (DiT → models/diffusion_models, pruned AR encoder → models/text_encoders, DAV → models/vae).
Common issues
Where people get burned: expecting max_duration to be exact, and treating lyrics like freeform text instead of tagged sections - untagged lyrics still work but you lose the structural control the tags buy you. If you want an instrumental, empty lyrics, not a blank-tagged mess. And if the sampler seems to stall on a long max_duration, check whether it's in tiled decode - the automatic switch is meant to handle exactly that, so leave decode_mode on auto unless you have a reason. Run tools/smoke_minimax_music3.py from the pack to validate the three load paths before blaming the sampler.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| vae | VAE | — | |
| caption | STRING | Global Metadata: Dreamy synth-pop, 112 BPM, warm analog production. Vocal Details: Expressive lead vocal with layered harmonies. Arrangement: Atmospheric intro, intimate verses, wide anthemic choruses. | Describe genre, BPM, key, mood, production, vocal character, instruments, and section arrangement. |
| lyrics | STRING | [intro] [verse] Write your first verse here [chorus] Write your chorus here [outro] | Use tags such as [intro], [verse], [pre-chorus], [chorus], [bridge], [instrumental], [drop], and [outro]. Leave empty for an instrumental track. |
| max_duration | FLOAT | 120.000.04–360 | Upper bound in seconds; the model may finish earlier. |
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 301–100 | — |
| guidance_scale | FLOAT | 1.70–100 | — |
| decode_mode | COMBO | auto | 3 options: auto, tiled, dense |
| ar_cfg_scale | FLOAT | 1.50–100 | — |
| ar_top_k | INT | 501–16384 | — |
| tile_size | INT | 153632–8192 | — |
| tile_overlap | INT | 640–1024 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |