Instructions to use mlx-community/MiniMax-Music3-bf16 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use mlx-community/MiniMax-Music3-bf16 with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir MiniMax-Music3-bf16 mlx-community/MiniMax-Music3-bf16
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
library_name: mlx-audio
pipeline_tag: text-to-audio
base_model: MiniMaxAI/MiniMax-Music3
license: other
license_name: minimax-music3-community-license
license_link: https://huggingface.co/MiniMaxAI/MiniMax-Music3/blob/main/LICENSE
inference: false
tags:
- mlx
- mlx-audio
- apple-silicon
- music-generation
- text-to-music
- text-to-audio
- bf16
MiniMax Music 3 路 MLX BF16
Native MLX BF16 weights for
MiniMaxAI/MiniMax-Music3,
converted for lyric-conditioned song generation on Apple Silicon with
mlx-audio.
Community conversion, not an official MiniMax release. All model credit goes to MiniMax. Review the original model card and license before use.
Other MLX variants:
8-bit
路 6-bit
路 4-bit
路 MXFP8 (recommended quantized)
路 MXFP4 (experimental)
路 NVFP4 (experimental)
Install
MiniMax Music 3 support was merged upstream in
Blaizzy/mlx-audio#888.
Until a PyPI release includes it, install the upstream merge commit directly:
python -m pip install "mlx-audio @ git+https://github.com/Blaizzy/mlx-audio.git@784b29e2691a93ca7483147d86f61859dfaa6296"
Generate
python -m mlx_audio.music.generate \
--model mlx-community/MiniMax-Music3-bf16 \
--caption "Warm acoustic pop, 96 BPM, intimate female vocal" \
--lyrics $'[verse]\nMorning light across the room\n[chorus]\nSing with me' \
--duration 30 \
--steps 30 \
--seed 7 \
--output song.wav
from mlx_audio.music import load
model = load("mlx-community/MiniMax-Music3-bf16")
result = next(
model.generate(
text="Warm acoustic pop, 96 BPM, intimate female vocal",
lyrics="[verse]\nMorning light across the room\n[chorus]\nSing with me",
duration=30,
steps=30,
seed=7,
)
)
print(result.audio.shape, result.sample_rate) # stereo, 44100 Hz
Lyrics are required by the checkpoint contract. Use [instrumental] explicitly
for instrumental generation. Duration is a requested upper bound: the
autoregressive stage may emit its end token early. Style, tempo, instrument, and
vocal controls are probabilistic rather than strict.
Conversion and verification
- Dense BF16; no weight quantization.
- Complete native pipeline: Qwen3 global autoregressive model, RVQ depth decoder, condition encoder, flow-matching DiT/Euler stage, and stereo vocoder.
- The actual component configs produce 44.1 kHz stereo output.
- Official-checkpoint conversion maps and strict-loads all 982 expected tensors.
- Full-checkpoint float32 maximum absolute differences against the official
PyTorch implementations: Qwen logits
1.45e-4, RVQ depth2.50e-5, condition encoder1.91e-6, flow transformer7.63e-6, vocoder8.57e-7. - The mlx-audio regression suite passed 1,742 tests with 34 expected skips; the focused music, converter, and registry suite passed 43 tests and 3 subtests.
- Real generation produced finite 44.1 kHz stereo audio. A 210-second request exercised 38 denoising windows and ended at 152.8 seconds when the model emitted EOS.
Converted with mlx-audio 0.4.8 development commit c2fa486 and MLX 0.31.2.
License
The weights remain subject to the
MiniMax-Music3 Community License,
including its acceptable-use and commercial terms. The full license text is
included in this repository.