Skip to content

MiniMax语音合成TTS

POST  v1/audio/speech

请求参数

Authorization

在 Header 添加参数 Authorization,其值为在 Bearer 之后拼接 Token。

Authorization: Bearer ******************

Header 参数

参数类型必填说明示例
Content-Typestring可选请求体的数据格式类型application/json
Acceptstring可选客户端期望接收的响应数据格式application/json

Body 参数

Content-Type: application/json

参数名类型必填说明
modelstring必需TTS 模型 ID。可选用 tts-1(标准)或 tts-1-hd(高清)。
inputstring必需文本内容。要生成音频的源文本,最大长度限制为 4096 个字符。
voicestring必需音色选择。支持的预设音色包括:alloyechofableonyxnovashimmer
streamboolean必需流式输出。设为 true 时,音频数据将通过服务器发送事件(SSE)流式传输。
metadataobject必需元数据。用于存储额外的配置或追踪信息。
voice_settingobject必需声音详细设置对象,包含以下核心参数:
├─ voice_idstring必需具体的声音角色 ID。
├─ speedinteger必需语速数值(整数型)。
├─ volinteger必需音量大小。
├─ pitchinteger必需音调高低。
├─ emotionstring必需情感风格(例如开心、悲伤、严肃等)。
└─ tonearray[string]必需语气特征数组。
pronunciation_dictobject必需发音字典。用于自定义特定词汇的读音或纠正多音字。
audio_settingobject必需音频工程设置对象,包含以下核心参数:
├─ sample_rateinteger必需采样率(例如 44100Hz)。
├─ bitrateinteger必需比特率(影响音质和文件大小)。
├─ formatstring必需原始音频编码格式。
└─ channelinteger必需声道数(如单声道 1,立体声 2)。
output_formatstring必需最终输出的文件格式标识。
subtitle_enableboolean必需字幕开关。是否同时生成与音频对应的字幕文件。
response_formatstring可选响应封装格式。默认为 mp3,其他支持格式有 opusaacflac
speednumber可选整体倍速。默认值为 1.0,可选择 0.254.0 之间的浮点数来调整整体播放速度。

请求示例 (JSON)

{
    "model": "speech-2.6-turbo",
    "input": "你好",
    "voice": "male-qn-qingse",
    "metadata": {
        "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
        },
        "output_format": "hex",
        "subtitle_enable": false
    }
}

返回响应

200 成功

Content-Type: application/json

响应参数

参数名类型必填说明
modelstring必需模型标识符。指定要使用的语音合成模型版本(例如 tts-1-hdIndexTeam/IndexTTS-2 等)。
inputstring必需文本内容。需要转换成语音的原始文字。通常有字符数限制(如最大4096字符),部分接口也支持传入 SSML 格式文本以实现更精细的控制。
voicestring必需音色/发音人。指定生成音频时使用的声音角色(例如 alloyzh-CN-XiaoxiaoNeural 或自定义音色ID)。不同的音色会带来不同的性别、年龄和情感风格。

响应示例

{
    "model": "tts-1",
    "input": "The quick brown fox jumped over the lazy dog.",
    "voice": "alloy"
}

示例代码

python
import http.client
import json

conn = http.client.HTTPSConnection("nxaiapp.com")
payload = json.dumps({
   "model": "speech-2.6-turbo",
   "input": "你好",
   "voice": "male-qn-qingse",
   "metadata": {
      "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
      },
      "output_format": "hex",
      "subtitle_enable": False
   }
})
headers = {
   'Authorization': 'Bearer <token>',
   'Content-Type': 'application/json'
}
conn.request("POST", "/v1/audio/speech", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))