music · 2026-10-05
音乐生成
产品名 clavue-music = 集群 minimax-music3。单次成片 最长 260 秒(6500 帧,25 帧/秒)。不写时长时默认 30 秒。对外默认 MP3;混音用 wav,更小体积用 opus。响应头 X-Music3-Output-Format。一副本同时只跑一首。写词打裸 27b/35b(零注入);不要用 clavue-3-chat 写词。
| 项 | 值 |
|---|---|
| model | clavue-music 或 minimax-music3 |
| 入口 | POST https://ttkk.inping.com/v1/audio/speech(与 TTS 同路径,靠 model 分流) |
| 容量 | GET https://ttkk.inping.com/v1/music3/capacity。每路 max_connections=1,先看空位再发 |
| 时长 | audio_duration 秒,最大 260。大于 260 会收成 260,不报错 |
| 时长兜底 | voice 写同一个秒数:"120" 或 "dur120"。New API 会丢掉 audio_duration |
| 默认 | 两个都不传 = 30 秒。不要用 voice 填演唱者名字 |
| 格式 | response_format:mp3(默认,128 kbps)/ opus(96 kbps)/ wav(32 kHz 立体声 PCM) |
| 客户端超时 | 至少 1200 秒。集群网关单后端也是 1200 秒 |
项目里怎么调
时长两个字段写同一个数。audio_duration 能透传时用它;被网关丢掉时,voice 仍能把秒数送到引擎。风格只写在 instructions,歌词只写在 input。不要传 speed。
curl -sS -m 1200 -D /tmp/m3.hdr -o song.mp3 \
-H "Authorization: Bearer $CLAVUE_KEY" -H 'Content-Type: application/json' \
-d '{"model":"clavue-music","input":"[Verse]\n夜车穿过无人的站台\n雨把站名写成模糊的白\n[Chorus]\n我把今天折进外套口袋","instructions":"lo-fi, slow, rain, female vocal","audio_duration":120,"voice":"120","response_format":"mp3"}' \
https://ttkk.inping.com/v1/audio/speech
省略 response_format 等同 mp3。混音素材传 "response_format":"wav",保存为 .wav。转码不改变 GPU 生成时间。短测 5 秒成片:WAV ~640 KB,MP3 ~80 KB。ttqq / api.clavue.com 换主机名,body 相同。
最佳实践
| 目标成片 | 建议 |
|---|---|
| 30–120 秒 | 产品默认。歌词按主歌/副歌写完整。墙钟大约是成片的 4 倍(120 秒歌大约 8 分钟) |
| 180 秒 | 可以。歌词仍有余量,但客户端超时保持 1200 秒 |
| 260 秒 | 上限。歌词控制在 1500 字以内。实测约 1700 字已占 KV 约 95%,再长会顶满。空闲副本整单约 18 分钟,贴着网关 1200 秒 |
- 歌词短会提前结束,到不了你写的秒数。要长歌就把词写够,不要只丢一句主题。
- 歌词另有约 5000 token 的硬顶。超长文案先裁再生成。
- 一副本一首。并发打多首会在网关排队,排队时间算进 1200 秒,满长度更容易被掐断。先
GET /v1/music3/capacity。 max_new_tokens是帧数(25 帧 = 1 秒),最大 6500。大于 6500 返回 400。业务侧用秒,不要自己换算除非直连引擎。voice里的数字只认 5–360。写成演唱者名字、或大于 360 的数,会掉回默认 30 秒。- 260 秒那首实测:6500 帧跑满,成片 260.34 秒,32 kHz 立体声。
不要把 260 秒当成同步接口。网关 1200 秒只够空闲副本跑完一首满长度的歌,没有余量再排队。