MiniMax-Music3, bf16 β radiance container
MiniMaxAI/MiniMax-Music3 β songs with vocals from
lyrics and a description β as a single .rad container for the
radiance inference engine (AMD RDNA4, ROCm).
| File | minimax-music3-bf16.rad β 20.48 GiB |
| Weights | bf16 throughout: the language model and the depth decoder as they ship; the DiT, the condition encoder and the vocoder cast from f32 (their norms, snake alphas, Fourier projection and layer mix stay f32) |
| Audio | 44.1 kHz stereo, 16-bit; up to six minutes |
| Needs | radiance 1.8.0 or newer (MiniMax-Music3 support comes with 1.8.0); one card or two |
Serve
# two cards; one card works too (drop --tp 2)
radiance --model minimax-music3-bf16.rad --tp 2 --host 0.0.0.0 --port 8000
curl -s http://localhost:8000/v1/audio/speech -H 'Content-Type: application/json' -d '{
"input": "[verse]\nMorning light filtering through the pine\n[chorus]\nSoftly the world begins to breathe",
"instructions": "Genre: acoustic pop. BPM: 96. Warm and intimate. Vocals: soft female lead.",
"duration": 30, "seed": 7}' -o song.wav
The server answers OpenAI's POST /v1/audio/speech as SGLang-Omni reads it for music:
inputis the lyrics, with the model's section tags such as[verse]and[chorus];instructionsdescribe the song (genre, tempo, key, mood, vocals, instruments). Both are required.duration(seconds) ormax_new_tokens(frames, 25 a second) sets the length; without either the song runs until the model ends it, usually at the end of the lyrics.seedmakes a song repeatable on the same deployment;num_inference_steps(30) andguidance_scale(1.7) are the denoiser's;response_formatiswavorpcm."stream_format": "audio"sends the song as it is made, eight seconds at a time;"stream_format": "sse"sends it asspeech.audio.deltaevents.
On two Radeon AI PRO R9700s (gfx1201) a song is made at about the speed it plays: 10 s of audio in 10.8 s with the first audio at 8.5 s, 12 s in 12.7 s. On one card, 4 s in 7.3 s. Up to four songs are made at once.
Against diffusers' pipeline from the same seed, the language model's hidden state is 1.55% from the reference's (the reference's own bf16 against its f32: 1.27%), the DiT's velocity 1.3% (1.8%), and 100 frames of audio on one card are 29.0 dB SNR from it (28.7 dB).
How this file was made
rad-convert MiniMaxAI/MiniMax-Music3 --recipe minimax-music3-bf16.recipe -o minimax-music3-bf16.rad
MiniMaxAI/MiniMax-Music3 is the downloaded diffusers pipeline directory. The recipe
(minimax-music3-bf16.recipe in this repository) names what changes dtype; the vocoder's weight
norm is folded in f32 before its cast:
dit.*.ln1.* cast dtype=f32
dit.*.ln2.* cast dtype=f32
dit.t.fourier cast dtype=f32
dit.* cast dtype=bf16
cond.mix.* cast dtype=f32
cond.* cast dtype=bf16
voc.*.alpha cast dtype=f32
voc.* cast dtype=bf16
License
MiniMax-Music3 is licensed under the MiniMax-Music3 Community License (LICENSE in this repository,
Copyright (c) 2026 MiniMax), which includes its Acceptable Use Policy. A commercial product or
service that uses it must display "MiniMax-Music3" on its user interface, and one whose yearly
revenue exceeds 20 million US dollars needs MiniMax's prior written authorization. This container is
a modified copy: the DiT, the condition encoder and the vocoder are cast from f32 to bf16 (the
vocoder's weight norm folded first), and everything is repacked into one .rad file.
MiniMax-Music3 was fine-tuned from Qwen3-8B (Apache License 2.0).
Model tree for StillDeadcode/minimax-music3-bf16
Base model
MiniMaxAI/MiniMax-Music3