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:

  • input is the lyrics, with the model's section tags such as [verse] and [chorus]; instructions describe the song (genre, tempo, key, mood, vocals, instruments). Both are required.
  • duration (seconds) or max_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.
  • seed makes a song repeatable on the same deployment; num_inference_steps (30) and guidance_scale (1.7) are the denoiser's; response_format is wav or pcm.
  • "stream_format": "audio" sends the song as it is made, eight seconds at a time; "stream_format": "sse" sends it as speech.audio.delta events.

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).

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for StillDeadcode/minimax-music3-bf16

Finetuned
(24)
this model