Skip to content

MiniMax 同步语音合成 API 文档

接口简介

在 HTTP 协议下进行同步语音合成(Text-to-Audio),支持流式非流式输出。

支持的模型

模型名称
MiniMax-Speech-2.8-hd
MiniMax-Speech-02-hd

请求参数

主请求体

参数名类型必填说明默认值取值范围/格式
modelstring模型版本-MiniMax-Speech-2.8-hd, MiniMax-Speech-02-hd
textstring待合成文本;段落用换行;支持 <#x#> 停顿时长(秒,x∈[0.01,99.99]);支持语气词如 (laughs)(chuckle) 等;长度 < 10000 字符,> 3000 建议流式-非空字符串
streamboolean是否流式输出falsetrue / false
stream_optionsobject流式选项,如 exclude_aggregated_audio-见下方
voice_settingobject音色与发音设置,其中voice_id必填-见「音色与发音」
audio_settingobject音频格式与采样等-见「音频设置」
pronunciation_dictobject发音/注音词典-见「发音词典」
timbre_weightsarray混合音色权重(与 voice_setting.voice_id 二选一)-最多 4 种音色,权重 1–100
language_booststring小语种/方言增强nullChineseEnglishauto 等,见官方枚举
voice_modifyobject声音效果器(音高/强度/音色/音效)-见「声音效果器」
subtitle_enableboolean是否开启字幕falsetrue / false
output_formatstring非流式时的输出形式hexurl(24 小时有效)/ hex;流式仅支持 hex
aigc_watermarkboolean非流式时是否在末尾加音频节奏标识falsetrue / false

音色与发音(voice_setting)

参数名类型必填说明默认值取值范围/格式
voice_idstring音色编号;混合音色时此处为空并填 timbre_weights-系统/复刻/文生音色,system 类型音色请参考 查询可用音色 ID
speednumber语速1[0.5, 2]
volnumber音量1(0, 10]
pitchinteger语调0[-12, 12],0 为原音色
emotionstring情绪-happysadangryfearfuldisgustedsurprisedcalm(本模型不支持 whisper
text_normalizationboolean中英文文本规范化(数字阅读等)false-
latex_readboolean是否朗读 LaTeX 公式(仅中文,公式首尾用 $$false-

音频设置(audio_setting)

参数名类型必填说明默认值取值范围/格式
sample_rateinteger采样率320008000、16000、22050、24000、32000、44100
bitrateinteger比特率(仅 mp3)12800032000、64000、128000、256000
formatstring音频格式;wav 仅非流式mp3mp3pcmflacwav
channelinteger声道数11(单声道)、2(双声道)
force_cbrboolean流式 mp3 是否恒定比特率false-

发音词典(pronunciation_dict)

参数名类型说明
tonearray of string注音/替换规则,如 ["燕少飞/(yan4)(shao3)(fei1)", "omg/oh my god"];中文声调 1–5 表示一声到轻声

流式选项(stream_options)

参数名类型说明
exclude_aggregated_audioboolean是否在最后一个 chunk 中排除拼接后的完整语音 hex;默认 false 即最后一块含完整 hex

声音效果器(voice_modify)

支持格式:非流式 mp3/wav/flac,流式仅 mp3

参数名类型说明取值范围
pitchinteger音高(低沉/明亮)[-100, 100]
intensityinteger强度(力量感/柔和)[-100, 100]
timbreinteger音色(磁性/清脆)[-100, 100]
sound_effectsstring音效spacious_echoauditorium_echolofi_telephonerobotic

请求示例

非流式

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)等。
  • providermodel:代理层返回的厂商与模型标识,便于对账与排查。

流式响应(多块 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输入参数信息不正常