基于文本到语音(Text-to-Speech, TTS)的同步语音合成功能,单次请求支持的最大文本长度为 10000 字符,适用于短句生成、语音对话、在线社交等多种场景。
| 参数名 | 必填 | 说明 | 示例 |
|---|---|---|---|
| Authorization | 是 | 鉴权 Token。格式:Bearer SENSEAUDIO_API_KEY | Bearer sk-123456... |
| Content-Type | 是 | 内容类型。固定为 application/json | application/json |
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| model | string | 是 | 模型名称 | senseaudio-tts-1.5-260319 |
| text | string | 是 | 待合成的文本内容。支持中英文,最大 10000 字符。<break time=500>详解见下方停顿符说明 | 你好,<break time=500>世界 |
| stream | boolean | 否 | 非流式输出。固定为 false。 | false |
| voice_setting | object | 是 | 音色相关设置。详见下表。 | { "voice_id": "..." } |
| audio_setting | object | 否 | 音频格式设置。详见下表。 | { "sample_rate": 32000 } |
| dictionary | array | 否 | 多音字配置列表。详见下表(模型必须为senseaudio-tts-1.5-260319) | [{"original": "好干净","replacement": "[hao4]干净"}] |
<break> 用于在语音合成中插入停顿。
<break time=500>示例:
你好<break time=500>欢迎使用我们的服务| 参数名 | 类型 | 必填 | 描述 | 默认值 | 取值范围 |
|---|---|---|---|---|---|
| voice_id | string | 是 | 可用套餐音色ID、克隆音色ID,请参考 API音色服务说明。 | - | - |
| speed | float | 否 | 语速调节。 | 1.0 | [0.5, 2.0] |
| vol | float | 否 | 音量调节。 | 1.0 | [0.01, 10.0] |
| pitch | int | 否 | 音调调节。 | 0 | [-12, 12] |
| latex_read | boolean | 否 | 数学公式朗读,支持 LaTeX、MathML、Unicode 数学符号等格式。(会产生额外的性能损耗) | false | - |
| 参数名 | 类型 | 必填 | 描述 | 默认值 | 选项 |
|---|---|---|---|---|---|
| format | string | 否 | 音频编码格式。 | "mp3" | mp3, wav, pcm, flac |
| sample_rate | int | 否 | 音频采样率 (Hz)。 | 32000 | 8000, 16000, 22050, 24000, 32000, 44100 |
| bitrate | int | 否 | 比特率 (仅 MP3)。 | 128000 | 32000, 64000, 128000, 256000 |
| channel | int | 否 | 声道数。 | 2 | 1 (单声道), 2 (双声道) |
| 参数名 | 类型 | 必填 | 描述 | 默认值 | 示例 |
|---|---|---|---|---|---|
| original | string | 是 | 原始文本。 | 无 | 好干净 |
| replacement | string | 是 | 多音字配置。 | 无 | [hao4]干净 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| data | object | 返回的合成数据对象,可能为 null,需进行非空判断 |
| data.audio | string | 合成后的音频数据,采用 hex 编码,格式与请求中指定的输出格式一致 |
| data.status | int64 | 当前音频流状态:1 表示合成中,2 表示合成结束 |
| extra_info | object | 音频的附加信息。流式返回时只有最后一个 chunk 会返回 |
| extra_info.audio_length | int64 | 音频时长(毫秒) |
| extra_info.audio_sample_rate | int64 | 音频采样率 |
| extra_info.audio_size | int64 | 音频文件大小(字节) |
| extra_info.bitrate | int64 | 音频比特率 |
| extra_info.audio_format | string | 生成音频文件的格式。取值范围:mp3, pcm, flac, wav |
| extra_info.audio_channel | int | 生成音频声道数。1:单声道,2:双声道 |
| extra_info.word_count | int64 | 字数:按 grapheme cluster 统计合成文本内容,且排除纯空白/标点/控制符的簇 |
| extra_info.usage_characters | int64 | 字符数:按 Unicode 码点统计合成文本内容 |
| trace_id | string | 链路追踪 ID |
| base_resp | object | 本次请求的状态码和详情 |
| base_resp.status_code | int64 | 状态码(0:成功,非0:失败) |
| base_resp.status_msg | string | 状态详情 |
{
"data": {
"audio": "hex编码的音频数据...",
"status": 2
},
"extra_info": {
"audio_length": 3500,
"audio_sample_rate": 32000,
"audio_size": 56000,
"bitrate": 128000,
"audio_format": "mp3",
"audio_channel": 1,
"word_count": 24,
"usage_characters": 30
},
"trace_id": "69c20e38c8761996a85d57881fe4d817",
"base_resp": {
"status_code": 0,
"status_msg": "success"
}
}# 1. 发送请求并保存响应
curl -X POST https://api.senseaudio.cn/v1/t2a_v2 \
-H "Authorization: Bearer $SENSEAUDIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "senseaudio-tts-1.5-260319",
"text": "道可道,非常道。名可名,非常名。无名天地之始,有名万物之母。",
"stream": false,
"voice_setting": {
"voice_id": "male_0004_a",
"latex_read":false
}
}' -o response.json
# 2. 提取 hex 音频数据并解码为二进制文件
jq -r '.data.audio' response.json | xxd -r -p > output.mp3
# 3. 查看音频信息
jq '.extra_info' response.json