Music-3: Pay Per Second, Five-Minute Songs, WAV Output
Music generation now runs MiniMax Music-3. You choose the length and pay for exactly that: 5 sats per second. A one-minute song costs 300 sats, down from a flat 500.
You pay for the length you ask for
Music used to cost 500 sats whatever you generated. A fifteen-second sting and a two-minute song were the same price, because the model billed us the same either way. Music-3 bills per second, so we do too.
| Song length | Price now | Price before |
|---|---|---|
| 15 seconds | 75 sats | 500 sats |
| 1 minute | 300 sats | 500 sats |
| 2 minutes | 600 sats | 500 sats (cheaper before) |
| 3 minutes | 900 sats | not available |
| 5 minutes | 1500 sats | not available |
Being straight about it: short songs got cheaper, long songs got dearer, and very long songs became possible at all. A one-minute track drops from 500 to 300 sats. A two-minute track rises from 500 to 600, because you are now buying twice as much audio. The old model returned about two and a quarter minutes at most; Music-3 goes to 5 minutes, and a five-minute song costs 1500 sats.
We could have kept the flat price and pocketed the difference on short songs. The pitch here is pay-per-call with no account and no card, and that only stays honest while the per-call price is obviously fair. The model got cheaper per unit, so you get the difference.
What else changed
WAV, not MP3
Every song comes back as 44.1 kHz 16-bit stereo WAV. If you are cutting the track into a video or a podcast, you are no longer starting from a re-compressed file.
Up to five minutes
15 to 300 seconds, your choice. Long enough for a real song rather than a demo of one.
Instrumentals are simpler
There is no flag any more. Send only structure tags and no words — [intro] [instrumental] [outro] — and you get music with no singing.
Written lyrics, +25 sats
Opt in and we write the words. Say what the song should be about, or leave it blank and we take the subject from your music description. Billed on the same invoice as the song.
One formatting rule worth knowing
Each structure tag has to sit alone on its own line, with the words on the lines after it. Text typed on the same line as a tag is discarded by the model — silently, with no error — and the song comes out short.
DROPPED
[verse] Neon rain on empty streets [chorus] Hold the line and let it burn
SUNG
[verse] Neon rain on empty streets [chorus] Hold the line and let it burn
We measured the difference on the same words at the same seed: the left-hand version returned 32.64 seconds of audio, the right-hand one 60.07. Same request, half the song. The API now rejects the left-hand shape before you pay, and names the line to fix.
Write enough words to fill the length you bought, too. The model stops when it runs out of lyrics, so a four-line lyric on a two-minute request gives you a short song. If you would rather not count syllables, the 25-sat add-on sizes the lyric to the length for you.
If you call the API
Three fields changed. is_instrumental and lyrics_optimizer are gone, because Music-3 does not have them. sample_rate, bitrate and audio_format are gone too — every song is WAV now, so there was nothing left for them to control.
In their place: duration (the price), lyricsAddon and lyricsAbout. Send the same duration to the payment call and the generate call — the price is bound to it, so a request longer than the one you paid for is refused rather than silently billed.
curl -X POST https://sats4ai.com/api/l402/generate-music \
-H 'Content-Type: application/json' \
-d '{
"prompt": "E minor, 90 BPM, acoustic guitar ballad, male vocal",
"lyrics": "[verse]\nWalking through the rain tonight\n[chorus]\nBut I still remember you",
"duration": 60
}'Full parameter list at /l402/generate-music, or generate_music over MCP.