# MiniMax Music 3 - Core.Today AI API > MiniMax Music 3 via Fal.AI. Generates complete songs with vocals up to five minutes long from a music description (genre, mood, BPM, key, vocals, arrangement) and structured lyrics. Returns 44.1 kHz stereo WAV. - **Provider**: MiniMax - **Model ID**: minimax/music-3 - **Category**: Audio & TTS - **Credits**: 280 per 60s track — billed per second of the requested duration (4.65 credits/s) - **Speed**: Medium - **Quality**: High ## Features - Complete songs with vocals up to 300 seconds - Structured lyrics with [verse], [chorus], [bridge] and more - Structured captions for genre, BPM, key and arrangement control - 44.1 kHz 16-bit stereo WAV output ## Use Cases - Original songs for videos, ads and short-form content - Demo tracks for songwriting and lyric drafts - Jingles and branded theme songs - Background songs for games and events ## API Endpoint Base URL: https://api.core.today/v1 Create Prediction: POST /predictions Get Status: GET /predictions/{job_id} ## Authentication Header: X-API-Key: YOUR_API_KEY ## Input Parameters ### Required - **prompt**: string - Music description: style, mood, vocals, instrumentation and arrangement. For precise control, use a structured caption (genre, BPM, key, emotional progression, vocal details, section-by-section arrangement). - **lyrics**: string - The lyrics to sing. Structure tags such as [intro], [verse], [pre-chorus], [chorus], [bridge], [instrumental], [solo] and [outro] must each be on their own line. ### Optional - **duration**: number (default: 60) - Upper bound on the generated audio length in seconds (1-300). Billed per second of this requested value; the actual length is returned in the output. - **num_inference_steps**: integer (default: 30) - Flow-matching steps per 8-second chunk (1-100). More steps improve quality at the cost of speed. - **guidance_scale**: number (default: 1.7) - Classifier-free guidance scale of the flow-matching stage (0-20). - **seed**: integer - Random seed for reproducibility. A random seed is used when omitted. ## Examples ### Acoustic pop song A one-minute acoustic pop song driven by a structured caption and tagged lyrics. ```json { "model": "minimax/music-3", "input": { "prompt": "Genre: acoustic pop. BPM: 96. Key: C major. Warm and intimate, building gently into the chorus. Vocals: soft female lead, close and breathy, light stacked harmonies in the chorus. Arrangement: fingerpicked guitar and soft piano; brushed drums and upright bass enter in the chorus.", "lyrics": "[verse]\nMorning light filtering through the pine\nEvery quiet street is yours and mine\n[chorus]\nSoftly the world begins to breathe", "duration": 60 } } ``` ### Short upbeat jingle A 20-second jingle — a shorter duration also lowers the charge. ```json { "model": "minimax/music-3", "input": { "prompt": "Genre: upbeat synth-pop jingle. BPM: 120. Bright male and female duet, catchy hook.", "lyrics": "[chorus]\nOne key, every model\nBuild it today", "duration": 20 } } ``` ## Response Format ```json { "job_id": "abc123", "status": "pending | processing | completed | failed", "result": "URL or data (when completed)" } ``` ## Usage Flow 1. POST /predictions with model and input -> receive job_id 2. GET /predictions/{job_id} -> poll until status is completed or failed 3. Result contains output URL(s) ## Tips - Set duration close to the length you actually need — billing uses the requested value, not the shorter length the model may return. - Put each structure tag ([verse], [chorus], ...) on its own line; text on the same line as a tag is dropped. - Describe genre, BPM, key and vocal character in the prompt for more predictable results. - For an instrumental passage, use an [instrumental] section in the lyrics. ## Documentation https://fal.ai/models/minimax/music-3