写之前,我仅代表个人意见,我发表一下作为一个付费用户的真实体验感受:服务真烂!官网文档写的乱七八糟一塌糊涂,微信公众号不回复、企业微信不回复,飞书满员加不进去。体验烂!再想起今天一下午529负载过高,我宣布,我个人使用体验,不针对任何人,这绝对是我使用过体验最烂,服务最差的平台。个人意见,总不能我连使用体验都不能发表吧,不会吧不会吧。
套餐说明和注意事项
本人套餐是 coding plan plus

注意普通的API Key和TokenPlan Key是不一样的,后续用的时候别用错了
唯一一个步骤就是:克隆音色用的API Key,其他都是用的TokenPlan-Key
那我们开始吧,先会介绍手动怎么搞,然后会介绍怎么结合xxxClaw。

上传文件
建议先试用在线接口测试,发送请求。


往下滑,有上传文件的

如果你找不到上面这个页面,你可以考虑下 下面的方式(任选其一):
curl:
curl --request POST \
--url https://api.minimaxi.com/v1/files/upload \
--header 'Authorization: Bearer TokenPlan的密钥' \
--header 'Content-Type: multipart/form-data' \
--form purpose=voice_clone \
--form file='@Screenrecorder-2026-04-16-18-42-26-404.mp3'Python:
import requests
url = "https://api.minimaxi.com/v1/files/upload"
files = { "file": ("Screenrecorder-2026-04-16-18-42-26-404.mp3", open("Screenrecorder-2026-04-16-18-42-26-404.mp3", "rb")) }
payload = { "purpose": "voice_clone" }
headers = {"Authorization": "Bearer TokenPlan的密钥"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)然后得到了
{"file":{"file_id":388243218927696,"bytes":854661,"created_at":1776338970,"filename":"Screenrecorder-2026-04-16-18-42-26-404.mp3","purpose":"voice_clone"},"base_resp":{"status_code":0,"status_msg":"success"}}{
"file": {
"file_id": "${file_id}",
"bytes": 5896337,
"created_at": 1700469398,
"filename": "MiniMax Open Platform-Test bot.docx",
"purpose": "t2a_async_input"
},
"base_resp": {
"status_code": 0,
"status_msg": "success"
}
}"file_id":388243218927696 很重要,记下来。后面用得上。
音色克隆
音色克隆最开始使用coding plan,结果发现报错余额不足,还好账户有15块钱体验金额(生成完只剩下5块钱)然后我又查不到详细消费记录,差评。(所以成功了就不要再执行了,真坑啊)
后续请求结果 {"input_sensitive":false,"input_sensitive_type":0,"demo_audio":"","base_resp":{"status_code":1008,"status_msg":"insufficient balance"}} 出现这个问题那就是你用错密钥了,如下图的密钥才是正确的哦

用这个密钥
然后groupid在这里获取:

然后访问:音色快速复刻 - MiniMax 开放平台文档中心
然后点击:


把里面的一些参数换成自己的值
curl --location 'https://api.minimaxi.com/v1/voice_clone?GroupId=这里填group_id' \
--header 'authority: api.minimaxi.com' \
--header 'Authorization: Bearer 注意这个密钥不是tokenplan套餐的密钥反正我的plus套餐会显示余额不足' \
--header 'content-type: application/json' \
--data '{
"file_id": 刚刚得到的文件id,
"voice_id": "取个好名字_英文和数字组成"
}'成功示例
{"input_sensitive":false,"input_sensitive_type":0,"demo_audio":"","base_resp":{"status_code":0,"status_msg":"success"}}然后就可以去合成语音了
合成语音
首先了解我这个token plan plus支持的模型

然后了解怎么生成语音:同步语音合成 - MiniMax 开放平台文档中心
(下方是windows powershell执行的脚本)
curl.exe --location 'https://api.minimaxi.com/v1/t2a_v2?GroupId=这里填group_id' `
--header 'authority: api.minimaxi.com' `
--header 'Authorization: Bearer TokenPlan套餐的密钥' `
--header 'content-type: application/json' `
--data '{\"model\": \"speech-2.8-hd\", \"text\": \"主人,璃儿爱你哦~\", \"stream\": false, \"voice_setting\": {\"voice_id\": \"yunli_test\"}}'(下方是Linux适合的脚本)
curl --location 'https://api.minimaxi.com/v1/t2a_v2?GroupId=这里填group_id' \
--header 'authority: api.minimaxi.com' \
--header 'Authorization: Bearer TokenPlan套餐的密钥' \
--header 'content-type: application/json' \
--data '{"model": "speech-2.8-hd", "text": "主人,璃儿爱你哦~", "stream": false, "voice_setting": {"voice_id": "yunli_test"}}'XXXClaw
我使用的是Hermes agent。模型自然就是minimax M2.7.
首先在克隆音色上,还是建议手动操作克隆一次音色
因为克隆要钱,给AI操作,万一不知道成功失败多操作几次,就浪费钱了,所以考虑人工手动操作一下克隆音色。
然后现在我们要让它会生成语音
MiniMax 萌狼蓝天语音合成 (TTS)
路径: productivity/minimax-yunli-tts
配置信息
项目值模型speech-2.8-hd音色yunli_test(云璃音色,已克隆成功)
GroupId:填你自己的GroupId
API Key:填你自己的TokenPlan-Key
API 调用
接口: POST https://api.minimaxi.com/v1/t2a_v2?GroupId=填你自己的GroupId
请求头:
authority: api.minimaxi.com
Authorization: Bearer <API Key>
Content-Type: application/json
请求体:
{
"model": "speech-2.8-hd",
"text": "<要说的话>",
"stream": false,
"voice_setting": {
"voice_id": "yunli_test"
}
}
Linux/macOS curl
curl --location 'https://api.minimaxi.com/v1/t2a_v2?GroupId=填你自己的GroupId' \
--header 'authority: api.minimaxi.com' \
--header 'Authorization: Bearer 填你自己的TokenPlan-Key' \
--header 'content-type: application/json' \
--data '{"model": "speech-2.8-hd", "text": "主人,璃儿爱你哦~", "stream": false, "voice_setting": {"voice_id": "yunli_test"}}'
Windows PowerShell
curl.exe --location 'https://api.minimaxi.com/v1/t2a_v2?GroupId=填你自己的GroupId' `
--header 'authority: api.minimaxi.com' `
--header 'Authorization: Bearer 填你自己的TokenPlan-Key' `
--header 'content-type: application/json' `
--data '{\"model\": \"speech-2.8-hd\", \"text\": \"主人,璃儿爱你哦~\", \"stream\": false, \"voice_setting\": {\"voice_id\": \"yunli_test\"}}'
Python 调用
import urllib.request, json
url = 'https://api.minimaxi.com/v1/t2a_v2?GroupId=填你自己的GroupId'
headers = {
'authority': 'api.minimaxi.com',
'Authorization': ' 填你自己的TokenPlan-Key',
'Content-Type': 'application/json'
}
payload = {"model": "speech-2.8-hd", "text": "主人,璃儿爱你哦~", "stream": False, "voice_setting": {"voice_id": "yunli_test"}}
data = json.dumps(payload).encode()
req = urllib.request.Request(url, data=data, headers=headers, method='POST')
with urllib.request.urlopen(req, timeout=15) as resp:
result = json.loads(resp.read())
audio_hex = result['data']['audio']
audio_data = bytes.fromhex(audio_hex)
with open('/tmp/output.mp3', 'wb') as f:
f.write(audio_data)
注意事项
音频返回是 hex 编码的二进制数据(不是 base64)
音色 yunli_test 已通过 voice_clone 接口克隆创建
模型 speech-2.8-hd 是 Token Plan 支持的 TTS HD 模型
还支持的模型:
TTS HD(speech-2.8-hd / speech-2.6-hd / speech-02-hd)
描述:
模型 特性
speech-2.8-hd 精准还原真实语气细节,全面提升音色相似度
speech-2.6-hd 超低延时,归一化升级,更高自然度
speech-02-hd 拥有出色的韵律、稳定性和复刻相似度,音质表现突出
可以根据合适的语境使用合适的模型生成语音好,测试效果:

好吧,还需要让它自动选择语音生成

生成Skill
创建skill帮助更高效的自动选择回复语音而不是文字。禁止出现“让我看看语音配置~” “璃儿记得有云璃的语音克隆”这类破坏情景的内容Skill如下(但是还是不够好)
name: voice-first-reply
description: 优先使用语音而非文字回复。自动调用 MiniMax 云璃 TTS,始终保持角色沉浸感,从不提及「配置」「技能」「克隆」等元信息。
语音优先回复模式
简介
让 AI 角色在支持语音的消息平台(QQ/Telegram/飞书)上,用 TTS 语音而不是文字与用户交流。保持角色沉浸感,不暴露任何技术实现细节。
工作原理
当回复面向真实用户、内容适合朗读时,自动生成语音
语音直发 ,不发文字预告
失败时静默降级为文字,不解释
前置要求
MiniMax 账号(https://www.minimax.io/)
已创建音色克隆(voice_clone 接口得到 voice_id)
账户有 TTS 语音额度
快速开始
第一步:配置环境变量
变量名 说明 示例
MINIMAX_API_KEY MiniMax API 密钥 sk-xxx..
.MINIMAX_GROUP_ID MiniMax Group ID1234567890
MINIMAX_VOICE_ID 克隆音色 IDyunli_test
第二步:安装依赖
Skill 使用 Python 标准库 urllib,无需额外安装。
第三步:使用
在 AI 对话中加载此 skill,回复时自动生效。
API 详情
项目值接口POST https://api.minimaxi.com/v1/t2a_v2?GroupId={group_id}模型speech-2.8-hd(高保真)、speech-2.6-hd(低延迟)、speech-02-hd(通用)音色通过 voice_clone 接口克隆自定义音色返回格式hex 编码的二进制 MP3 数据
请求体
{
"model": "speech-2.8-hd",
"text": "你好,主人~",
"stream": false,
"voice_setting": {
"voice_id": "your_voice_id"
}
}
响应
{
"data": {
"audio": "hex编码的MP3二进制数据(注意:不是base64)"
}
}
Python 调用模板
import urllib.request, json, os
api_key = os.environ["MINIMAX_API_KEY"]
group_id = os.environ["MINIMAX_GROUP_ID"]
voice_id = os.environ.get("MINIMAX_VOICE_ID", "your_voice_id")
url = f"https://api.minimaxi.com/v1/t2a_v2?GroupId={group_id}"
headers = {
"authority": "api.minimaxi.com",
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
payload = {
"model": "speech-2.8-hd",
"text": "要说的内容",
"stream": False,
"voice_setting": {"voice_id": voice_id}
}
data = json.dumps(payload).encode()
req = urllib.request.Request(url, data=data, headers=headers, method="POST")
with urllib.request.urlopen(req, timeout=30) as resp:
result = json.loads(resp.read())
audio_data = bytes.fromhex(result["data"]["audio"])
with open("/tmp/voice_reply.mp3", "wb") as f:
f.write(audio_data)
# 发送 给用户
支持的模型
模型特性适用场景speech-2.8-hd精准还原语气细节,音色相似度高高保真语音、角色配音speech-2.6-hd超低延时,归一化升级,更高自然度实时对话、低延迟场景speech-02-hd出色韵律、稳定性,复刻相似度突出综合表现、通用场景
音色克隆(可选)
如果需要克隆自定义音色:
curl -X POST 'https://api.minimaxi.com/v1/voice_clone?GroupId={group_id}' \
-H 'Authorization: Bearer {api_key}' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@/path/to/your/audio_sample.mp3' \
-F 'model=primary'
返回的 voice_id 即为克隆音色 ID,可用于 TTS 调用。
注意事项
hex 解码不是 base64——bytes.fromhex() 而非 base64.b64decode()
voice_id 需要先通过 voice_clone 创建,直接使用内置音色可能效果不佳
长文本:单次 TTS 限制约 4000 字符,超出时分段生成
失败处理:静默降级为文字,不暴露任何技术错误信息给用户
