语音合成HTTP API
接口地址:
外网访问地址:
https://aibook-api.mthreads.com:32414/api/v1/tts/generate
注意: 访问令牌(Access Token)请联系我们获取。联系方式: meng.cai@mthreads.com, ye.wang@mthreads.com
TTS 音色列表
体验demo:https://voice.mthreads.com/
| 音色 | voice_name | 性别 | 备注 |
|---|---|---|---|
| 程小可 | AIBC006_llm | 女 | 大模型音色 |
| 程小清 | AIBF004_llm | 女 | 大模型音色 |
| 程小新 | AIBF105_llm | 女 | 大模型音色 |
| 程小艾 | AIBF111_llm | 女 | 大模型音色 |
| 程小曲 | AIBF001_llm | 女 | 大模型音色 |
| 程小园 | AIBF002_llm | 女 | 大模型音色 |
| 程小苏 | AIBF003_llm | 女 | 大模型音色 |
| 程小迪 | AIBM107_llm | 男 | 大模型音色 |
| 程小春 | AIBM115_llm | 男 | 大模型音色 |
| 程小虎 | AIBM101_llm | 男 | 大模型音色 |
| 程小帅 | AIBM103_llm | 男 | 大模型音色 |
| 晓凌 | LYG1004_llm | 女 | 大模型音色 |
| 穆莎 | SSB3001_llm | 女 | 大模型音色 |
| 米塔 | SSB3002_llm | 女 | 大模型音色 |
| 晓柒 | LYG3001_llm | 男 | 大模型音色 |
| BabyX | WSH0001_llm | 男 | 大模型音色 |
| BoyTen | WSH0002_llm | 男 | 大模型音色 |
| 程小可(lite) | AIBC006 | 女 | |
| 程小曲(lite) | AIBF001 | 女 | |
| 小美(lite) | NYS0001 | 女 | |
| 小雅(lite) | NYS0002 | 女 | |
| 穆莎(lite) | SSB3001 | 女 | |
| 米塔(lite) | SSB3002 | 女 | |
| 晓凌(lite) | LYG1004 | 女 | |
| 晓柒(lite) | LYG3001 | 男 | |
| BabyX(lite) | babyx | 男 | |
| BoyTen(lite) | boyten | 男 |
相关参数
| 参数 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
| text | string | 是 | 待合成文本,必须为 UTF-8 编码,长度不超过 300 字符(英文单词之间需空格)。支持 SSML。 |
| voice | string | 否 | 发音人。请参考上方音色表的 voice_name 字段填写。 |
| format | string | 否 | 输出音频格式,默认为 wav,仅支持 wav 和 mp3。 |
| volume | integer | 否 | 音量。仅限非大模型音色,取值范围 0~100,默认 50。 |
| speech_rate | integer | 否 | 语速。仅限非大模型音色,取值范围 -500~500,默认 0。 对应倍速区间 [-500, 0, 500] 分别为 [0.5, 1.0, 2.0]。 -500 表示 0.5 倍默认语速,0 表示 1 倍默认语速,500 表示 2 倍默认语速。 大约每秒合成 4 字,具体随发音人略有不同。 算法说明:小于 1 倍速时用 0.002 系数,大于 1 倍速时用 0.001 系数,结果取近似值。 |
调用示例
Bash
curl --location 'https://aibook-api.mthreads.com:32414/api/v1/tts/generate' \
--header 'Content-Type: application/json' \
--header 'Authorization: {ACCESS_TOKEN}' \
--data '{
"text": "摩尔线程自研语音合成系统",
"voice": "LYG3001",
"volume": 50,
"speech_rate": 0,
"format": "mp3"
}' \
--output "demo.mp3"
Python
import requests
api_address = "https://aibook-api.mthreads.com:32414/api/v1/tts/generate"
access_token = "<ACCESS_TOKEN>"
request_payload = {
"text": "摩尔线程自研语音合成系统",
"voice": "LYG1004",
"volume": 50,
"speech_rate": 0,
"format": "mp3"
}
resp = requests.post(
api_address,
json=request_payload,
headers={
'Content-Type': 'application/json',
'Authorization': access_token
}
)
if resp.status_code == 200:
print("Save synthesized audio to demo.mp3")
with open("demo.mp3", "wb") as f:
f.write(resp.content)
elif resp.status_code == 400:
print("Received a client error! [{}]".format(resp.content))
elif resp.status_code == 500:
print("Received server error! [{}]".format(resp.content))
else:
print("Received an unknown status code [{}] with content [{}]".format(resp.status_code, resp.content))

