About music-generation
A skill that creates vocal or instrumental songs from a JSON specification using the MiniMax music generation API. It accepts a style, mood, and scene prompt, with optional lyrics or instrumental-only output.
Key features
- 01Generate songs from JSON specs
- 02Set style, mood, and scene
- 03Provide lyrics or generate them automatically
- 04Create instrumental tracks
- 05Output MP3 audio
Use cases
- 01Draft a song from a scene prompt
- 02Generate a vocal track from supplied lyrics
- 03Create an instrumental music track
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ bytedance/ deer-flow --skill music-generationAfter installing, type/music-generationin Claude Code to confirm it loaded.
Bundled filesscripts/generate.py
Details
From the project READMEMusic Generation Skill
Overview
This skill generates songs (vocal or instrumental) from a structured JSON spec using the
MiniMax music generation API (/v1/music_generation). You describe the style/mood/scene in
prompt, optionally provide lyrics, and the script returns an MP3.
Workflow
Step 1: Understand Requirements
Identify the desired style, mood, scene, language, and whether the user wants vocals or a pure instrumental track. Decide whether to supply lyrics or let the model write them.
Step 2: Create the Spec JSON
Write a JSON file in /mnt/user-data/workspace/ named {descriptive-name}.json:
{
"title": "Rainy Night Cafe",
"prompt": "indie folk, melancholic, introspective, walking alone, cafe",
"lyrics": "[verse]\nStreetlights glow the night wind sighs\n[chorus]\nPush the wooden door warm air inside"
}
Fields:
title(optional): a human-readable name.prompt(required): style, mood, and scene. Drives the musical character.lyrics(optional): song lyrics. Use\nbetween lines and structure tags such as[Intro],[Verse],[Pre Chorus],[Chorus],[Bridge],[Outro].is_instrumental(optional, bool): settruefor a pure instrumental track (no lyrics needed).
Behavior:
lyricsprovided → those lyrics are sung.is_instrumental: true→ instrumental, no vocals.- neither → the model auto-writes lyrics from
prompt(lyrics_optimizer).
Step 3: Execute Generation
python /mnt/skills/public/music-generation/scripts/generate.py \
--prompt-file /mnt/user-data/workspace/rainy-night-cafe.json \
--output-file /mnt/user-data/outputs/rainy-night-cafe.mp3
Parameters:
--prompt-file: Absolute path to the JSON spec (required).--output-file: Absolute path for the output MP3 (required).
[!NOTE] Do NOT read the python file, just call it with the parameters.
Environment
MINIMAX_API_KEY(required): your MiniMax interface key.MINIMAX_API_HOST(optional): defaulthttps://api.minimaxi.com.MINIMAX_MUSIC_MODEL(optional): defaultmusic-2.6-free(works for all API-key users); paid/Token-Plan users can setmusic-2.6for higher limits.
Output Handling
- Music is saved as MP3 (typically in
/mnt/user-data/outputs/). - Returned audio must decode to nonempty bytes and have an ID3 tag header or MPEG frame signature. This is a header sanity check, not complete audio decoding.
- Malformed, empty or unrecognized audio is rejected before creating the output directory or opening the output file; an existing output is preserved.
- Missing audio reports "MiniMax returned no audio data"; whitespace-only hex reports "MiniMax audio decoded to empty bytes".
- Share the generated file with the user using the present_files tool.
- Offer to iterate on style or lyrics if adjustments are needed.
Notes
- Keep
promptfocused on style/mood/scene; put the actual sung words inlyrics. - For non-English songs, write
lyricsin the target language.