大模型服务平台 TokenHub MiniMax 同步语音合成

TokenHub 已上线 MiniMax Speech 系列模型,这篇基于 MiniMax T2A V2 接口编写,调用参数与原厂基本一致。

相关产品
大模型服务平台 TokenHub 产品页,含版本规格、价格与购买入口。

一、前提条件

·已 注册腾讯云 账号并开通 TokenHub 服务。

·已在 TokenHub 控制台 获取 API Key。

二、接口信息

项 值
地址 https://tokenhub.tencentmaas.com/v1/wand/minimax-tts/sync_tts
方法 POST
Content-Type application/json
鉴权 Authorization: Bearer YOUR_API_KEY

三、支持模型

注意:说明:

注意:2.8 为最新版本,也是 MiniMax 产品文档默认示例模型,能力最完整(唯一支持语气词标签),建议优先选用;Turbo 为极速版,适合对时延敏感的场景。

模型名称 model(调用参数) 能力说明
MiniMax-Speech-2.8-HD minimax-speech-2.8-hd 最新高保真版,支持情绪控制、语气词标签、声音效果器、字幕。
MiniMax-Speech-2.8-Turbo minimax-speech-2.8-turbo 最新极速版,能力同 2.8-HD,时延更低。
MiniMax-Speech-2.6-HD minimax-speech-2.6-hd 高保真版,支持情绪控制、声音效果器、字幕。
MiniMax-Speech-2.6-Turbo minimax-speech-2.6-turbo 极速版,能力同 2.6-HD。
MiniMax-Speech-02-HD minimax-speech-02-hd 高保真版,支持基础情绪控制与字幕。
MiniMax-Speech-02-Turbo minimax-speech-02-turbo 极速版,能力同 02-HD。

四、请求示例

注意:说明:

注意:TokenHub MiniMax Speech 系列模型当前支持流式和非流式(同步)语音合成,下文仅展示非流式用法。

非流式cURLcurl -X POST 'https://tokenhub.tencentmaas.com/v1/wand/minimax-tts/sync_tts' \\ -H 'Authorization: Bearer YOUR_API_KEY' \\ -H 'Content-Type: application/json' \\ -d '{ "model": "minimax-speech-2.8-hd", "text": "刚吹过晚风的巷口飘着糖炒栗子的香,连路灯都软乎乎的。", "voice_setting": { "voice_id": "minimax_55e81114-ce7e-4ca1", "speed": 1, "vol": 1, "pitch": 0 }, "audio_setting": { "sample_rate": 32000, "bitrate": 128000, "format": "mp3", "channel": 1 }, "subtitle_enable": false, "output_format": "hex"}

五、请求参数

注意:说明:

注意:以下为请求参数的简要说明,各参数的取值范围、枚举明细、音色列表等请参见 MiniMax API 文档。

参数 类型 必选 说明
model string 是 模型版本。可选值见上文 支持模型。
text string 是 待合成文本,长度 < 10000;长文本建议合理分段调用。段落用换行分隔;停顿控制 <#x#>(秒);行内发音替换用括号包裹拼音/IPA;语气词标签仅 speech-2.8 系列支持(如 (laughs) 笑声)。
voice_setting object 是 音色设置(voice_id 必选)。
voice_setting.voice_id string 是 音色编号;混合音色时置空本参数并改用 timbre_weights。支持系统音色、复刻音色、文生音色。
voice_setting.speed float 否 语速,默认 1.0,范围 [0.5, 2]。
voice_setting.vol float 否 音量,默认 1.0,范围 (0, 10]。
voice_setting.pitch integer 否 语调,默认 0(原音色),范围 [-12, 12]。
voice_setting.emotion string 否 情绪:happy / sad / angry / fearful / disgusted / surprised / calm / fluent / whisper;分别对应 9 种情绪:高兴,悲伤,愤怒,害怕,厌恶,惊讶,中性,生动,低语。一般无需手动指定,默认由模型自动匹配。说明:minimax-speech-2.8-hd, minimax-speech-2.8-turbo 模型不支持 whisper。
voice_setting.text_normalization boolean 否 中英文文本规范化(提升数字阅读表现),默认 false。
voice_setting.latex_read boolean 否 朗读 LaTeX 公式(公式首尾加 $$),默认 false。
audio_setting object 否 音频设置。
audio_setting.sample_rate integer 否 采样率,默认 32000,可选 [8000, 16000, 22050, 24000, 32000, 44100]。
audio_setting.bitrate integer 否 比特率,默认 128000,可选 [32000, 64000, 128000, 256000](仅 mp3 生效)。
audio_setting.format string 否 格式,默认 mp3,可选 mp3 / pcm / flac / wav / pcmu_raw / pcmu_wav / opus。
audio_setting.channel integer 否 声道数,默认 1(单声道),可选 [1, 2]。
pronunciation_dict object 否 发音词典。
pronunciation_dict.tone array[string] 否 自定义发音规则,格式 原文/替换内容(替换内容可为纯文本/拼音/IPA/日语假名)。
timbre_weights array 否 混合音色权重,最多 4 种(每项含 voice_id + weight,取值 1–100)。
language_boost string 否 小语种/方言识别增强,默认 null,可设 auto。
voice_modify object 否 声音效果器。
voice_modify.pitch integer 否 音高调整(低沉/明亮),范围 [-100, 100]。
voice_modify.intensity integer 否 强度调整(力量感/柔和),范围 [-100, 100]。
voice_modify.timbre integer 否 音色调整(磁性/清脆),范围 [-100, 100]。
voice_modify.sound_effects string 否 音效:spacious_echo / auditorium_echo / lofi_telephone / robotic。
subtitle_enable boolean 否 开启字幕服务,默认 false。
subtitle_type string 否 字幕粒度,默认 sentence,可选 sentence / word 。
output_format string 否 输出形式,默认 hex,可选 url / hex(URL 有效期 24h)。
aigc_watermark boolean 否 末尾添加音频节奏标识,默认 false。
stream boolean 否 是否使用 SSE 流流式返回(建议输入超过5000字符选择此方式返回),默认 false。

六、返回示例

非流式流式{ "id": "th_1308104797_r00c00_minimax-tts_639a60274f89f7c5ed70c841f1f2e44d", "request_id": "794507bf-8995-43a7-ae4c-b37277c196e8", "trace_id": "th_1308104797_r00c00_minimax-tts_639a60274f89f7c5ed70c841f1f2e44d", "status": "completed", "error": null, "data": { "audio": "https://speech-1300828900.cos.accelerate.myqcloud.com/speech/test.mp3", "status": 2 }, "extra_info": { "audio_length": 4752, "audio_sample_rate": 32000, "audio_size": 0, "audio_format": "mp3", "word_count": 24, "usage_characters": 50 }, "base_resp": { "status_code": 0, "status_msg": "success" }, "usage": { "chars": 50, "total_tokens": 1750, "use_count": 0 }}data: {"base_resp":{"status_code":0,"status_msg":"success"},"data":{"audio":"<hex编码的audio0>","status":1},"request_id":"2d4e75ca-229e-4c77-9853-629f3b142786","trace_id":"th_251414125_r00c00_minimax-tts_96633db4153604d295fe0a565d0bea40"}data: {"base_resp":{"status_code":0,"status_msg":"success"},"data":{"audio":"<hex编码的audio1>","status":1},"request_id":"2d4e75ca-229e-4c77-9853-629f3b142786","trace_id":"th_251414125_r00c00_minimax-tts_96633db4153604d295fe0a565d0bea40"}data: {"base_resp":{"status_code":0,"status_msg":"success"},"data":{"audio":"<hex编码的audio2>","status":1},"request_id":"2d4e75ca-229e-4c77-9853-629f3b142786","trace_id":"th_251414125_r00c00_minimax-tts_96633db4153604d295fe0a565d0bea40"}data: {"base_resp":{"status_code":0,"status_msg":"success"},"data":{"audio":"<hex编码的audio3>","status":1},"request_id":"2d4e75ca-229e-4c77-9853-629f3b142786","trace_id":"th_251414125_r00c00_minimax-tts_96633db4153604d295fe0a565d0bea40"}data: {"base_resp":{"status_code":0,"status_msg":"success"},"data":{"audio":"<hex编码的audio4>","status":1},"request_id":"2d4e75ca-229e-4c77-9853-629f3b142786","trace_id":"th_251414125_r00c00_minimax-tts_96633db4153604d295fe0a565d0bea40"}data: {"base_resp":{"status_code":0,"status_msg":"success"},"data":{"audio":"<hex编码的audio5>","status":1},"request_id":"2d4e75ca-229e-4c77-9853-629f3b142786","trace_id":"th_251414125_r00c00_minimax-tts_96633db4153604d295fe0a565d0bea40"}data: {"base_resp":{"status_code":0,"status_msg":"success"},"data":{"status":2},"request_id":"2d4e75ca-229e-4c77-9853-629f3b142786","status":"completed","trace_id":"th_251414125_r00c00_minimax-tts_96633db4153604d295fe0a565d0bea40","usage":{"chars":50,"total_tokens":1750,"use_count":26}}data: [DONE]

七、返回字段

注意:说明:

注意:以下为返回字段的简要说明,各字段的完整含义、类型细节与边界说明等请参见 MiniMax API 文档。

字段 类型 说明
data object 合成数据对象,可能为 null,需做非空判断。
data.audio string 合成音频数据。output_format=hex(默认)时为 hex 编码;output_format=url 时为下载链接(有效期 24 小时)。
data.subtitle_file string 字幕下载链接(JSON 格式,毫秒级时间戳,句级,每句不超过 50 字);仅 subtitle_enable=true 时返回。
data.subtitle object 流式返回时中间段返回字幕。
data.subtitle.text string 分段文本。
data.subtitle.text_begin integer 分段在本次合成文本中的起始字符位置(含)。
data.subtitle.text_end integer 分段在本次合成文本中的结束字符位置(不含)。
data.subtitle.time_begin double 分段起始时间,单位毫秒,相对本次合成音频的起点。
data.subtitle.time_end double 分段结束时间,单位毫秒,相对本次合成音频的起点。
data.subtitle.timestamped_words array 词级时间戳。
data.subtitle.timestamped_words[].time_begin double 该词起始时间,单位毫秒。
data.subtitle.timestamped_words[].time_end double 该词结束时间,单位毫秒。
data.subtitle.timestamped_words[].word string 词文本。
data.subtitle.timestamped_words[].word_begin integer 该词在本次合成文本中的起始字符位置(含)。
data.subtitle.timestamped_words[].word_end integer 该词在本次合成文本中的结束字符位置(不含)。
data.status integer 音频流状态:1 合成中 / 2 合成结束。
trace_id string 本次会话 ID,用于咨询/反馈时定位问题。
extra_info object 音频附加信息(详见下方子字段)。
extra_info.audio_length integer 音频时长(毫秒)。
extra_info.audio_sample_rate integer 音频采样率。
extra_info.audio_size integer 音频文件大小(字节)。
extra_info.audio_format string 音频格式:mp3 / pcm / flac 等。
extra_info.usage_characters integer 计费字符数。
extra_info.word_count integer 已发音字数(含汉字、数字、字母,不含标点符号)。
base_resp object 本次请求的状态码与详情。
base_resp.status_code integer 状态码(0 表示正常,详见下方错误码)。
base_resp.status_msg string 状态详情。
usage object 用量。
usage.total_token integer 消耗 token 总量。

八、错误码

请参见 API 错误码说明。

赞 (0)
上一篇 4天前
下一篇 4天前