Skills minimax-music
MiniMax AI 音乐生成技能。使用 MiniMax API 生成歌词、合成歌曲、批量生成样本曲目、支持纯音乐和人声歌曲。可用风格:古风、摇滚、流行、钢琴、催眠等。当用户要求"生成音乐"、"写首歌"、"生成歌词"、"合成歌曲"、"批量生成BGM样本"时触发。
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/838997125/minimax-music-ai" ~/.claude/skills/openclaw-skills-minimax-music && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/838997125/minimax-music-ai" ~/.openclaw/skills/openclaw-skills-minimax-music && rm -rf "$T"
manifest:
skills/838997125/minimax-music-ai/SKILL.mdsource content
MiniMax AI 音乐生成
快速开始
前置条件
- MiniMax API Key(Token Plan 用户可用
Key)sk-cp-F-... - Python 3.x +
库requests
(用于合并曲目)ffmpeg
基础调用流程
1. 歌词生成(如需要)→ /v1/lyrics_generation 2. 歌曲生成 → /v1/music_generation 3. 下载音频文件 4. ffmpeg 合并多首(如需要)
歌词生成
接口:
POST https://api.minimaxi.com/v1/lyrics_generation
payload = { "mode": "write_full_song", # 写完整歌曲 "prompt": "主题描述", "title": "歌名(可选)" }
响应:
{ "song_title": "歌名", "style_tags": "风格标签", "lyrics": "带结构的歌词(含 [Verse][Chorus] 等标签)", "base_resp": {"status_code": 0, "status_msg": "success"} }
歌曲生成
接口:
POST https://api.minimaxi.com/v1/music_generation
纯音乐(无人声)
payload = { "model": "music-2.6", "prompt": "风格描述", "is_instrumental": True, "output_format": "url" # 返回下载URL }
有歌词歌曲
payload = { "model": "music-2.6", "prompt": "风格描述(与歌词配合)", "lyrics": lyrics_text, # 歌词(带 [Verse][Chorus] 等标签) "output_format": "url" }
关键参数
| 参数 | 说明 |
|---|---|
| (Token Plan推荐)或 (限免,RPM低) |
| 音乐风格描述,1-2000字符,中英均可 |
| 歌词,结构标签: |
| =纯音乐,=有歌词歌曲 |
| (推荐,24小时有效)或 (返回十六进制字符串) |
| =同步等待完成,=流式(仅支持hex格式) |
生成时间:通常2-5分钟,
timeout建议设为 600秒
响应:
{ "data": { "audio": "https://...mp3", # 下载URL(output_format=url时) "status": 2 # 1=生成中,2=已完成 }, "extra_info": { "music_duration": 157335, # 时长(毫秒) "music_sample_rate": 44100, "bitrate": 256000, "music_size": 5036711 # 文件大小(字节) }, "base_resp": {"status_code": 0, "status_msg": "success"} }
批量生成脚本
使用
scripts/generate.py,支持:
- 单曲生成
- 批量生成多首
- 歌词生成 + 歌曲合成
- 多首合并成一首
# 查看用法 python scripts/generate.py --help # 生成纯音乐 python scripts/generate.py --prompt "欢快的流行音乐" --name "01_欢快流行" --save "D:\music_samples" # 生成带歌词的歌曲(先歌词后歌曲) python scripts/generate.py --lyrics-prompt "给唐晓加油打气的励志歌曲" --song-title "赠唐晓" --prompt "古风音乐" --name "赠唐晓_古风" --save "D:\music_samples" # 合并已有文件(先生成多个文件后合并) python scripts/generate.py --merge "D:\music_samples\01.mp3" "D:\music_samples\02.mp3" --output "D:\music_samples\merged.mp3"
FFmpeg 手动合并:
# 创建文件列表 # concat_list.txt 内容(每行 file '路径'): file 'D:\music_samples\曲1.mp3' file 'D:\music_samples\曲2.mp3' file 'D:\music_samples\曲3.mp3' # 合并 ffmpeg -y -f concat -safe 0 -i "D:\music_samples\concat_list.txt" -c copy "D:\music_samples\合并版.mp3"
完整工作流示例
生成古风励志歌曲《赠唐晓》
import requests import json API_KEY = "your_key_here" headers = { "Content-Type": "application/json", "Authorization": f"Bearer {API_KEY}" } # Step 1: 生成歌词 lyrics_payload = { "mode": "write_full_song", "prompt": "给唐晓加油打气的古风歌曲,温暖励志", "title": "赠唐晓" } r = requests.post("https://api.minimaxi.com/v1/lyrics_generation", headers=headers, json=lyrics_payload, timeout=60) lyrics = r.json()["lyrics"] # Step 2: 生成歌曲(API超时设为600秒) song_payload = { "model": "music-2.6", "prompt": "古风音乐,优雅励志,笛子古筝为主", "lyrics": lyrics, "output_format": "url" } r = requests.post("https://api.minimaxi.com/v1/music_generation", headers=headers, json=song_payload, timeout=600) audio_url = r.json()["data"]["audio"] # Step 3: 下载 audio = requests.get(audio_url, timeout=60) with open("D:\\music_samples\\赠唐晓.mp3", "wb") as f: f.write(audio.content)
生成催眠钢琴曲(合并成长曲)
# 先生成3首钢琴曲 prompts = [ "solo piano, slow tempo, sleep aid, relaxing", "solo piano, very slow 40-50 BPM, lullaby style", "ambient piano, meditative, rain sounds background" ] urls = [] for p in prompts: r = requests.post("https://api.minimaxi.com/v1/music_generation", headers=headers, json={"model":"music-2.6","prompt":p,"is_instrumental":True,"output_format":"url"}, timeout=600) urls.append(r.json()["data"]["audio"]) # 下载并用ffmpeg合并
常见问题
Q: 请求超时怎么办? A:
music-2.6 生成需要2-5分钟,务必将 timeout 设为 600秒,同步等待结果。
Q: 返回
?
A: 服务器在高负载时会主动断开,保持重试机制,通常2-3次重试后成功。RemoteDisconnected
Q: 如何生成更长的音乐? A: API单次上限约5分钟(157-200秒),可通过 FFmpeg 合并多首生成更长曲目。
Q:
Key 是否可用?
A: 可用,但这是 Token Plan 专属 Key,与普通按量计费 Key 不同,仅限音乐/图像等非文本模型使用。sk-cp-F-...
Q: URL 有效期多久? A: 音频下载 URL 有效期为 24小时,生成后请及时下载。
注意事项
- 纯音乐:设置
,is_instrumental: True
必填prompt - 有歌词歌曲:
必填,lyrics
可选(描述风格)prompt - 中文歌词标签支持:
、[Verse]
、[Chorus]
等[Bridge] - 请求频率:Token Plan 100次/5小时,注意不要超出限额