scenario-minimax-music
About scenario-minimax-music
scenario-minimax-music is a Scenario skill for music creators, covering MiniMax Music 3.0 song generation and Music Cover restyling. It distinguishes lyric, style-prompt, and audio inputs, and guides model-schema-based runs.
Key features
- 01Generate vocal songs
- 02Generate structured lyrics automatically
- 03Create instrumental tracks
- 04Restyle audio while preserving melody
- 05Estimate and run schema-based jobs
Use cases
- 01Create a complete song from a style prompt and lyrics
- 02Compose a song from a brief that the model turns into lyrics
- 03Make an instrumental track for video scoring
- 04Restyle an uploaded song while keeping its melody
MCP support
The skill describes connecting through the Scenario skill and using model tools to search, inspect schemas, run jobs, and wait for results; it is not itself an MCP server.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-minimax-musicAfter installing, type/scenario-minimax-musicin Claude Code to confirm it loaded.
Details
From the project READMEScenario MiniMax Music
Overview
MiniMax's music family on Scenario splits in two: Music 3.0 composes and performs a complete song
from a style prompt plus a lyric sheet, and Music Cover rebuilds an uploaded song in a new style
while keeping its melody. Discover both with search and treat model_schema_get as the contract:
the members share prompt, sampleRate, and bitrate and agree on nothing else.
Connection and the core loop: see the scenario skill; model-agnostic audio work: the
scenario-audio skill. If a sibling skill named here is missing from your available skills, ask the
user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from
tool schemas and flag the gap.
Quick reference
Four modes across two members (names from the live schema):
| Mode | Member | Inputs | Behavior |
|---|---|---|---|
| Vocal song | Music 3.0 | prompt + lyrics | sings your words; tags shape the arrangement |
| Auto lyrics | Music 3.0 | prompt + brief in lyrics + lyricsOptimizer: true | writes the structured sheet for you |
| Instrumental | Music 3.0 | prompt + isInstrumental: true | no lyrics; the prompt is the whole brief |
| Cover | Cover | audioUrl + prompt | keeps the melody, restyles everything else |
prompt is required on both members (10 to 2,000 characters at authoring time) and carries style
only: genre, mood, tempo in BPM, key, vocal timbre, instrumentation. The words go in lyrics (up to
3,500 characters), which also sets the bill: about 700 characters per billable minute at authoring
time, one to five minutes. Jobs run minutes, so launch with wait=false.
Writing the lyric sheet
The lyric sheet is an arrangement script, not plain text. Structure tags go on their own line in square brackets ([Intro], [Verse], [Pre Chorus], [Chorus], [Hook], [Drop], [Bridge], [Inst], [Outro]; the schema lists more). Newlines separate lines, a blank line between sections reads as a pause, and two to four lines per section sing better than a dense paragraph. Parentheses carry performance cues rather than sung words: (whispered), (belted), or a short direction inside an [Inst] or [Solo] passage. Close with [Outro] so the track resolves instead of cutting off. English and Mandarin sing the most consistently at authoring time.
With lyricsOptimizer: true the lyrics field flips meaning: pass a plain-language brief ("indie
folk breakup song, walking alone at night") and the model writes the structured sheet itself. With
it off, it sings whatever the field holds, briefs included.
Covers keep the melody
Music Cover takes its source through audioUrl: upload_asset the MP3 or WAV first (see the
scenario skill) and pass the asset id. It keeps the melodic line and regenerates the rest from the
prompt (genre, vocal character, instruments, production), so it fits genre swaps, not remixes that
change the tune. It works best on sources with clear vocals and melody, and there is no lyrics
field, so the prompt changes the style, never the words. Its cost sat flat per run at authoring time
while 3.0 scales with the sheet, so dry_run both when choosing.
Worked example: a trailer song with vocals
searchwithtarget="models",query="minimax music",public=true. Prefer the newest non-deprecated hit, e.g.model_minimax-music-3-0(a live hit at authoring time: re-discover each session); the cover member listsaudio2audioin capabilities.model_schema_getwith that id: fields, caps, and defaults before anything else.model_runwith thatmodel_id,dry_run=true, and the exactparameters={"prompt": "epic orchestral trailer, 140 BPM, D minor, female vocals, taiko and strings", "lyrics": "[Intro]\n(Low strings)\n\n[Verse]\nWe were born below the thunder\n...\n\n[Outro]\n(Choir fades)"}. Re-estimate after lyric edits: character count moves the price.- Repeat
model_runwithwait=false, thenjobs_waitwith the returned job id, re-called withpending_job_idson timeout, never a secondmodel_run. asset_displaythe output and listen before laying it under a cut.
Common mistakes
- Lyrics in
promptor genre words inlyrics: the model then describes a song, or sings your style brief. - Asking for "no vocals" in the prompt: unreliable; set
isInstrumental: true. - Passing finished lyrics with
lyricsOptimizer: true: they get rewritten; the flag expects a brief. - Faking instrumental passages with filler words: use [Inst] or [Solo] with a parenthetical cue.
- Sending a local path or external URL as
audioUrl: upload first, pass the asset id. - Covering a track with no clear melody: the cover keeps only what it can hear.