主题模式
MiniMax 同步语音合成 API 文档
接口简介
在 HTTP 协议下进行同步语音合成(Text-to-Audio),支持流式与非流式输出。
支持的模型
| 模型名称 |
|---|
MiniMax-Speech-2.8-hd |
MiniMax-Speech-02-hd |
请求参数
主请求体
| 参数名 | 类型 | 必填 | 说明 | 默认值 | 取值范围/格式 |
|---|---|---|---|---|---|
model | string | 是 | 模型版本 | - | MiniMax-Speech-2.8-hd, MiniMax-Speech-02-hd |
text | string | 是 | 待合成文本;段落用换行;支持 <#x#> 停顿时长(秒,x∈[0.01,99.99]);支持语气词如 (laughs)、(chuckle) 等;长度 < 10000 字符,> 3000 建议流式 | - | 非空字符串 |
stream | boolean | 否 | 是否流式输出 | false | true / false |
stream_options | object | 否 | 流式选项,如 exclude_aggregated_audio | - | 见下方 |
voice_setting | object | 是 | 音色与发音设置,其中voice_id必填 | - | 见「音色与发音」 |
audio_setting | object | 否 | 音频格式与采样等 | - | 见「音频设置」 |
pronunciation_dict | object | 否 | 发音/注音词典 | - | 见「发音词典」 |
timbre_weights | array | 否 | 混合音色权重(与 voice_setting.voice_id 二选一) | - | 最多 4 种音色,权重 1–100 |
language_boost | string | 否 | 小语种/方言增强 | null | Chinese、English、auto 等,见官方枚举 |
voice_modify | object | 否 | 声音效果器(音高/强度/音色/音效) | - | 见「声音效果器」 |
subtitle_enable | boolean | 否 | 是否开启字幕 | false | true / false |
output_format | string | 否 | 非流式时的输出形式 | hex | url(24 小时有效)/ hex;流式仅支持 hex |
aigc_watermark | boolean | 否 | 非流式时是否在末尾加音频节奏标识 | false | true / false |
音色与发音(voice_setting)
| 参数名 | 类型 | 必填 | 说明 | 默认值 | 取值范围/格式 |
|---|---|---|---|---|---|
voice_id | string | 是 | 音色编号;混合音色时此处为空并填 timbre_weights | - | 系统/复刻/文生音色,system 类型音色请参考 查询可用音色 ID |
speed | number | 否 | 语速 | 1 | [0.5, 2] |
vol | number | 否 | 音量 | 1 | (0, 10] |
pitch | integer | 否 | 语调 | 0 | [-12, 12],0 为原音色 |
emotion | string | 否 | 情绪 | - | happy、sad、angry、fearful、disgusted、surprised、calm(本模型不支持 whisper) |
text_normalization | boolean | 否 | 中英文文本规范化(数字阅读等) | false | - |
latex_read | boolean | 否 | 是否朗读 LaTeX 公式(仅中文,公式首尾用 $$) | false | - |
音频设置(audio_setting)
| 参数名 | 类型 | 必填 | 说明 | 默认值 | 取值范围/格式 |
|---|---|---|---|---|---|
sample_rate | integer | 否 | 采样率 | 32000 | 8000、16000、22050、24000、32000、44100 |
bitrate | integer | 否 | 比特率(仅 mp3) | 128000 | 32000、64000、128000、256000 |
format | string | 否 | 音频格式;wav 仅非流式 | mp3 | mp3、pcm、flac、wav |
channel | integer | 否 | 声道数 | 1 | 1(单声道)、2(双声道) |
force_cbr | boolean | 否 | 流式 mp3 是否恒定比特率 | false | - |
发音词典(pronunciation_dict)
| 参数名 | 类型 | 说明 |
|---|---|---|
tone | array of string | 注音/替换规则,如 ["燕少飞/(yan4)(shao3)(fei1)", "omg/oh my god"];中文声调 1–5 表示一声到轻声 |
流式选项(stream_options)
| 参数名 | 类型 | 说明 |
|---|---|---|
exclude_aggregated_audio | boolean | 是否在最后一个 chunk 中排除拼接后的完整语音 hex;默认 false 即最后一块含完整 hex |
声音效果器(voice_modify)
支持格式:非流式 mp3/wav/flac,流式仅 mp3。
| 参数名 | 类型 | 说明 | 取值范围 |
|---|---|---|---|
pitch | integer | 音高(低沉/明亮) | [-100, 100] |
intensity | integer | 强度(力量感/柔和) | [-100, 100] |
timbre | integer | 音色(磁性/清脆) | [-100, 100] |
sound_effects | string | 音效 | spacious_echo、auditorium_echo、lofi_telephone、robotic |
请求示例
非流式
json
{
"model": "MiniMax-Speech-2.8-hd",
"text": "今天是不是很开心呀(laughs),当然了!",
"stream": false,
"voice_setting": {
"voice_id": "male-qn-qingse",
"speed": 1,
"vol": 1,
"pitch": 0,
"emotion": "happy"
},
"pronunciation_dict": {
"tone": [
"处理/(chu3)(li3)",
"危险/dangerous"
]
},
"audio_setting": {
"sample_rate": 32000,
"bitrate": 128000,
"format": "mp3",
"channel": 1
},
"subtitle_enable": false
}流式
json
{
"model": "MiniMax-Speech-2.8-hd",
"text": "今天是不是很开心呀(laughs),当然了!",
"stream": true,
"voice_setting": {
"voice_id": "male-qn-qingse",
"speed": 1,
"vol": 1,
"pitch": 0,
"emotion": "happy"
},
"pronunciation_dict": {
"tone": [
"处理/(chu3)(li3)",
"危险/dangerous"
]
},
"audio_setting": {
"sample_rate": 32000,
"bitrate": 128000,
"format": "mp3",
"channel": 1
},
"subtitle_enable": false
}响应格式
非流式响应(application/json)
json
{
"data": {
"audio": "<hex 编码的音频数据,或 output_format=url 时的下载地址>",
"status": 2,
"ced": ""
},
"extra_info": {
"audio_length": 3204,
"audio_sample_rate": 32000,
"audio_size": 52980,
"bitrate": 128000,
"word_count": 14,
"invisible_character_ratio": 0,
"usage_characters": 26,
"audio_format": "mp3",
"audio_channel": 1
},
"trace_id": "05f89015b71879f2fbf60a7dc0a71be5",
"base_resp": {
"status_code": 0,
"status_msg": "success"
},
"provider": "MiniMax",
"model": "MiniMax-Speech-2.8-hd"
}data可能为 null,需做非空判断。data.audio为 hex 编码的音频(或output_format=url时的 URL)。data.status:1 表示合成中,2 表示合成结束;非流式完成时为 2。data.ced为扩展字段,可为空字符串。data.subtitle_file:开启字幕时返回字幕下载链接(json,按句、毫秒)。extra_info:音频时长(毫秒)、采样率、大小、比特率、计费字符数(usage_characters)等。provider、model:代理层返回的厂商与模型标识,便于对账与排查。
流式响应(多块 application/json 或 text/event-stream)
每块示例:
json
{
"data": {
"audio": "hex编码的audio_chunk",
"status": 1
},
"trace_id": "01b8bf9bb7433cc75c18eee6cfa8fe21",
"base_resp": {
"status_code": 0,
"status_msg": ""
}
}最后一块 status: 2,并包含 extra_info(同非流式)。
错误码(base_resp.status_code)
| 状态码 | 说明 |
|---|---|
| 0 | 请求结果正常 |
| 1000 | 未知错误 |
| 1001 | 超时 |
| 1002 | 触发限流 |
| 1004 | 鉴权失败 |
| 1039 | 触发 TPM 限流 |
| 1042 | 非法字符超过 10% |
| 2013 | 输入参数信息不正常 |