MiniMax Music-3 Runs on a 16 GB RTX 5060 Ti: Local AI Music That Actually Sounds Like a Song
A 16G card, a heart that wants to be a producer, and a 60-second song.
Column Purpose: Use my RTX 5060 Ti 16G + 64GB memory "budget battle-wagon" to do something novel that justifies the electricity bill.
In previous chapters, we made the graphics card "paint," "shoot videos," and "attend meetings." This chapter does something different—let the graphics card compose music. Yes, the kind of complete track with vocals, melody, and atmosphere, not the "ding-ding-dang-dang electronic sound effects" of AI music.
Foreword
A few days ago, MiniMax released Music-3, and Comfy-Org simultaneously packaged a ComfyUI version.
I took one look: music generation, runs locally, native ComfyUI support. Wasn't this prepared just for me?
But I was still a bit nervous: how big is this thing? Can my 5060 Ti 16G handle it? Will it max out VRAM the moment it runs, causing the fans to take off, temperatures to break 80, and the computer to ascend on the spot?
After actually running it—it was quite relaxed. VRAM didn't explode, temperatures didn't spike, and a song actually came out. This article documents the entire process and notes the pitfalls encountered along the way.
Hardware Environment
- GPU: NVIDIA GeForce RTX 5060 Ti 16GB (actual 15.9 GB, Jensen's traditional skill)
- CUDA: PyTorch 2.7.0 + cu128
- System: Windows 11 + PowerShell
- ComfyUI: Qiuye integrated package, version v0.31.1
Pitfall 1: Must Upgrade to the Latest ComfyUI
The official workflow uses several relatively new nodes: MiniMaxMusic3TextEncode, EmptyMiniMaxMusic3LatentAudio, VAEDecodeAudioTiled—all added in comfy-core 0.31.0.
Loading it in an older ComfyUI version will result in a sea of red errors, reporting "Unknown node type." The scene is like buying a new game cartridge and plugging it into an old console; the screen displays "This cartridge is incompatible"—the machine gives up before you do.
Solution: Go to ComfyUI Manager, click Update, and upgrade to the latest version. Don't be lazy; if you skip this step, all subsequent operations are wasted effort.
Downloading the Model: A 61.8 GB Repo, I Only Took 3 Files
The download used the domestic mirror modelscope, directly pulling the entire Comfy-Org/MiniMax-Music-3 repo from HF:
from modelscope import snapshot_download
snapshot_download('Comfy-Org/MiniMax-Music-3', cache_dir='F:/baidudownload')
The entire repo is 61.8 GB, 10 files. Note that modelscope uses Comfy-Org--MiniMax-Music-3 (double hyphen) instead of HF's slash. If you type it wrong, it will blankly tell you "repository not found."
After downloading, the default location is cache_dir/Comfy-Org--MiniMax-Music-3/snapshots/master/. You are looking for three specific files; the other 7 can be ignored—not because they are bad, but because 16G VRAM is unworthy. Running fp32/bf16 is a privilege for 4090/5090 players; know your card's station.
But downloading the full 61.8 GB is truly unnecessary. I only picked 3 int8 quantized versions:
| File | Size | Purpose |
|---|---|---|
diffusion_models/minimax_music3_dit_int8_convrot.safetensors |
2.3 GB | DiT int8 quantized version |
text_encoders/minimax_music3_text_encoder_pruned_int8_convrot.safetensors |
8.6 GB | Text encoder int8 |
vae/minimax_music3_dav.safetensors |
0.2 GB | Audio VAE |
Total 11.1 GB, leaving 4.8 GB for activations and cache, running a 60s single track without pressure.
The same repo also contains fp32/fp16 versions of the DiT and a non-pruned bf16 text encoder (9.2/4.6/17.2 GB respectively), prepared for the VRAM-rich 20/30/40 series users. For us 16G players, choosing int8 is rational, choosing fp16 is risky, choosing fp32 is suicide.
Installing into ComfyUI: Three Files, Three Directories, One Minute
ComfyUI's conventional model directories are these three:
ComfyUI/models/
├── diffusion_models/ ← DiT goes here
├── text_encoders/ ← Text encoder goes here
└── vae/ ← VAE goes here
Copy the above 3 files to the corresponding directories. You can also use symlinks, but Windows soft links require administrator privileges, so it's less hassle to just copy directly—after all, copying 11G takes only a few seconds.
A side note: I initially tried to be lazy and use hard links, but ran into permission errors, path errors, and symbolic link errors. After struggling for 20 minutes, I honestly used Ctrl+C, Ctrl+V. Some pitfalls you have to step into yourself to know how sweet "direct copy" really is.
Installing the Workflow: Change Two Things, Save Two Hours of Detours
The official workflow JSON is in the Comfy-Org/workflow_templates repository's templates directory, file named audio_minimax_music_3.json.
After pulling it locally, two changes must be made, otherwise a 16G card cannot run it:
- Replace
minimax_music3_dit_fp16withminimax_music3_dit_int8_convrot— 4.6 GB → 2.3 GB, immediately freeing up 2.3 GB of VRAM - Toggle the
tiled_decodeswitch to ON — VAE decoding uses tiling, preventing VRAM explosion for long songs
If you don't do these two steps, you will receive a CUDA OOM error when "generation is halfway done," and watch the progress bar stuck at 80%, wanting to cry but having no tears. A 2.3 GB difference is the gap between "finished running" and "crashed running."
Place the modified JSON into ComfyUI/user/default/workflows/. After ComfyUI starts, it will automatically appear in the Workflow panel.
First Song Output: Prompt is More Particular Than I Imagined
The prompt used the lo-fi chillhop template provided in the workflow documentation. The caption is divided into three sections: Global Metadata → Vocal Details → Arrangement. The more specific you write, the better.
Tags like [intro] [verse] [chorus] [bridge] [outro] in the lyrics are structural instructions that the model actually executes, not decorations. The lyric text itself conveys mood more than literal words; it won't be sung verbatim—this is completely different from Suno's logic of "what you write is what it sings." Music-3 is more like a composer who understands music theory; you give it imagery and structure, and it organizes the melody and expression itself.
max_duration was set to 60, and the model actually output 59s (the model automatically finds a natural ending at the latent chunk boundary, not rigidly stopping at 60s). For longer tracks, increase it: 2 minutes set 130-150, 3 minutes set 200, upper limit 300s (5 minutes).
Subjective Listening Impression (non-professional, purely personal):
The warm lo-fi noise floor, vinyl crackle, and tape hiss are all there, maxing out the atmosphere. The vocals are soft androgynous, half-spoken, half-sung, blending naturally with the beat—not the "plastic feel" of early AI music like MusicGen/AudioLDM.
Early AI music felt like: you know it's a song, the melody is right, the harmony is right, but it just sounds off. Like taking a bite of tofu shaped like meat—the shape is right, the texture isn't.
Music-3 this time felt like: it really sounds like "a song." It has atmosphere, breath, and lingering charm.
MP3 output is 4-5 MB, a normal size.
If you want to sync video to the beat, generative models like Music-3 aren't great for that; they can only float around the target duration by a few seconds. To rigidly match a duration, you can only post-process with trim + fade out—friends making videos, please keep Audition or CapCut's final step in your workflow.
License: Very Friendly for Individual Developers
Finally, let's talk about the license, because music generation is the easiest area to step on copyright landmines:
- Model weights (
minimax_music3_*): Apache-2.0 - Comfy-Org official workflow: Apache-2.0
- Generated audio:
- ✅ Commercial use, re-creation, closed-source allowed
- ❌ Cannot be used to train other AI models (without additional authorization)
- ❌ Cannot be used to impersonate real people/real works
- ❌ Cannot be used for illegal or non-compliant purposes
- Downstream derivative works: Commercial-friendly, no copyleft contagion
In summary: you can basically use the output with confidence, but don't use it to train other people's models, and don't impersonate a real singer to release tracks. If you want to release a song, honestly label it "AI Generated."
Summary: A 16G Sweet-Spot Card Can Also Be a Music Producer
Running Music-3 on a 5060Ti 16G doesn't consume as much VRAM as imagined. The key is choosing the right int8_convrot series + turning on tiled_decode.
Full checklist:
- ✅ Upgrade ComfyUI to v0.31.1+
- ✅ Use modelscope to pull HF models (domestic network friendly)
- ✅ Select 3 int8 files, totaling 11.1 GB
- ✅ Copy to the three subdirectories under ComfyUI/models/
- ✅ Modify the workflow's unet_name + tiled_decode
- ✅ Queue Prompt, wait 1-2 minutes per song
If you also want to try, follow this checklist and you'll likely get through it in one go. If you get stuck... then read it again; you probably missed a step—I missed two myself while writing this.
Extra: An Unexpected Discovery
After running the first song, I glanced at the GPU temperature—72°C.
Remember, in previous chapters running H3 video, the temperature was 78-80°C. Music-3 is a full 6-8°C lower than H3, and the fan speed is much quieter.
With the same 16G VRAM, the load from music generation is much gentler than video generation. Perhaps the DiT's attention computation is smaller than a video diffusion model, or maybe it's the power consumption dividend brought by int8 quantization.
Regardless, for the 5060 Ti, running songs is healthier than running videos. Video is a sprint; music is a steady jog—both can finish, but one leaves you panting like a dog, the other lets you hum a little tune.
If you successfully generated your first AI-composed song, or if this article helped you avoid a pitfall, likes, comments, and shares are all welcome.
Thank you everyone 🙏 May your prompts be precise, your arrangements on point, your lyrics not cringe, and your VRAM forever sufficient.