开发者文档 语音合成
语音合成
按 MiniMax 官方格式把文本合成为语音,音频以十六进制编码放在 JSON 响应里。
请求
POST /minimax/v1/t2a_v2
Authorization: Bearer $MOSSHUB_API_KEY
Content-Type: application/json{
"model": "YOUR_MODEL_ID",
"text": "你好,欢迎使用语音合成。",
"voice_setting": { "voice_id": "YOUR_VOICE_ID" }
}请求体沿用 MiniMax 官方格式:MossHub 只把模型 ID 换成上游模型,text、voice_setting 等其余字段原样转发。音色 ID、语速和音频格式等以 MiniMax 官方文档为准。
响应
{
"data": { "audio": "4944…", "status": 2 },
"extra_info": { "audio_format": "mp3", "usage_characters": 22 },
"trace_id": "07053e4cf976",
"base_resp": { "status_code": 0, "status_msg": "success" }
}响应是 JSON,不是音频文件:data.audio 是十六进制编码的音频,格式见 extra_info.audio_format;base_resp.status_code 为 0 表示成功。
传 "stream": true 时按 SSE 分段返回,每段 data: 是同样结构的 JSON,最后一段带 extra_info。
错误
MiniMax 的参数错误以 HTTP 200 返回,base_resp.status_code 不为 0,MossHub 原样转发,不计费。MossHub 自己拒绝的请求也用 base_resp 表示,同时带 HTTP 状态:
| HTTP 状态 | base_resp.status_code | 原因 |
|---|---|---|
| 400 | 2013 | 请求体不是带 model 的 JSON 对象,或模型不走这个端点 |
| 401 | 1004 | 密钥无效或已过期 |
| 402 | 1008 | 额度已用完 |
| 403 | 1004 | 这把密钥不能使用该模型 |
| 404 | 2013 | 模型不存在 |
| 413 | 2013 | 请求体超过 32 MiB |
| 429 | 1002 | 线路繁忙,按 Retry-After 等待 |
| 502 | 1033 | 上游出错或拒绝了 MossHub 的上游账号 |
| 503 | 1000 | 暂无可用线路 |
| 504 | 1001 | 上游超时 |
流式返回中途出错时,最后一段的 base_resp.status_code 不为 0;由 MossHub 结束的流为 1033。
计费
按 MiniMax 返回的 extra_info.usage_characters 计费,单位是字符。上游没有返回这个值时(比如流式在最后一段之前中断),按请求的 text 估算:汉字算 2 个字符,其他字符算 1 个。客户端断开后请求仍会完成并计费。单价见控制台模型详情的「价格」。
完整调用示例
先替换密钥、授权模型 ID 与示例输入;不自动执行。
curl -sS "$MOSSHUB_API_BASE/minimax/v1/t2a_v2" \
-H "Authorization: Bearer $MOSSHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"YOUR_MODEL_ID","text":"你好,欢迎使用语音合成。","voice_setting":{"voice_id":"YOUR_VOICE_ID"}}' \
| python3 -c 'import json, sys
reply = json.load(sys.stdin)
if reply.get("base_resp", {}).get("status_code") != 0:
sys.exit(json.dumps(reply, ensure_ascii=False))
name = "speech." + reply["extra_info"]["audio_format"]
open(name, "wb").write(bytes.fromhex(reply["data"]["audio"]))
print("已保存", name)'实际可调用的模型、授权与价格以控制台为准。
页面字体:MiSans(小米,依《MiSans 字体知识产权许可协议》使用);Google Sans Flex(SIL Open Font License 1.1)。
页面字体:MiSans(小米,依《MiSans 字体知识产权许可协议》使用);Google Sans Flex(SIL Open Font License 1.1)。