天翼云语音合成API文档
文档简介:
语音合成(Text To Speech,TTS)将文本转成拟人化的语音。目前仅支持中文语音合成,提供男、女两种音色的选择,支持自定义语调、语速等参数。
接口描述
语音合成(Text To Speech,TTS)将文本转成拟人化的语音。目前仅支持中文语音合成,提供男、女两种音色的选择,支持自定义语调、语速等参数,更符合业务场景的需要。
请求方法
POST
接口要求
目前仅支持 base64 编码方式请求,暂不支持 url 方式请求。一次请求仅支持一条数据。
请求URL
/v1/aiop/api/2z0yhhrzgv0g/tts/predict
请求参数
请求头header参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
Content-Type | 是 | string | json 格式 | "application/json" | |
appkey | 是 | string | 诸葛 AI 应用 appkey | "562b89493b1a40e1b97ea05e50dd8170" |
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
Action | 是 | string | 算法名称 | "TTS" | |
TextData | 是 | string | 合成语音的文本,按 UTF-8 编码。 最小支持 3 个汉字,最多支持 150 个汉字。 英文、数字、标点均等同于一个字符。 强烈建议输入文本加上标点符号,便于合成更正确的语音数据。 仅支持中文语音合成。 | "今晚去吃火锅吗" | |
VoiceType | 否 | int | 声音类型。目前仅支持两种声音。 0 表示男生声音,1 表示女生声音。 | 0 | |
Pitch | 否 | float | 语调。返回范围 [0.8, 2],默认值为 1.0,原调。 | 1.0 | |
Speed | 否 | float | 语速。返回范围 [0.5, 2],默认值为 1.0,原速。 | 1.0 |
请求代码示例
Curl -X POST
"https://ai-global.ctapi.ctyun.cn/v1/aiop/api/2z0yhhrzgv0g/tts/predict"
-H "Content-Type: application/json"
-H "ctyun-eop-request-id:33dfa732-b27b-464f-b15a-21ed6845afd5"
-H "appkey:XXX"
-H "Eop-Authorization:XXX"
-H "eop-date:20211109T104641Z"
-H "host:ai-global.ctapi.ctyun.cn"
--data '{"Action": "TTS", "TextData": "今晚去吃火锅吗"}'复制
返回值说明
请求成功返回响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
code | 是 | int | 返回状态,返回 0 表示成功,返回错误代码参考下面的错误代码列表。 | 0 | |
message | 是 | string | 如果 code 为 0,返回 success;如果 code 非 0,则返回对应的可读错误信息。 | "success" | |
result | 是 | object | 返回的识别结果对象 | result |
表result
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
Audio | 是 | string | **语音编码数据。**Base64 编码的 wav 格式音频数据。 | "_9j_4AAQSkZJRgA......Zuv_9k=" |
请求失败返回响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
code | 是 | int | 错误码,放置API对应的错误码 | 500001 | |
message | 是 | string | 返回对应的错误信息 | "服务接口异常,请联系管理员" | |
details | 是 | string | 返回对应的错误描述 | "需要联系管理员处理" |
返回值示例
请求成功返回值示例
{
"code": 0,
"message": "success",
"result": {
"Audio": "_9j_4AAQSkZJRgA......Zuv_9k="
}
}复制
请求失败返回值示例
{
"code": 400003,
"message": "Body 内容为空",
"details": "Body 请求数据为空,没有包含内容"
}复制
状态码
状态码 | 描述 |
---|---|
200 | 表示请求成功 |
错误码说明
6 位错误码。4 开头为业务错误码,5 开头为服务错误码。
错误码 | 错误信息 | 错误描述 |
---|---|---|
400003 | Body 内容为空 | Body 请求数据为空,没有包含内容 |
400004 | Body 请求体非 json 格式 | Body内容需要符合 json 要求 |
400005 | 请求体类型错误 | 请求体需为字典,不能为其他类型 |
410001 | 必传的参数未传 | 必须的参数(Action、TextData)未传 |
410002 | 请求体的字段类型错误 | 请求体的字段(Action、TextData)类型错误,类型只能为字符串,不能为其他类型 |
400009 | Action 值设置错误 | Action 值设置错误 |
410003 | TextData 字段值为空字符 | TextData 字段值为空字符 |
410006 | 文本输入过短 | 文本输入过短,请参考接口文档说明 |
410007 | 文本输入过长 | 文本输入过长,请参考接口文档说明 |
450001 | VoiceType 字段类型错误 | VoiceType 字段应该是 int 类型 |
450002 | VoiceType 字段不符合规范 | VoiceType 字段不符合规范,请参考接口文档说明 |
450003 | Pitch 字段类型错误 | Pitch 字段应该是 float 类型 |
450004 | Pitch 字段不符合规范 | Pitch 字段不符合规范,请参考接口文档说明 |
450005 | Speed 字段类型错误 | Speed 字段应该是 float 类型 |
450006 | Speed 字段不符合规范 | Speed 字段不符合规范,请参考接口文档说明 |
500001 | 服务接口异常,请联系管理员 | 需要联系管理员处理 |
base64 解码规则:使用常规的 safe base64 编码方式
- python 中推荐使用 base64.urlsafe_b64decode() 函数进行编码。
- java 中推荐使用 BASE64.getUrlDecoder().encodeToString() 函数进行编码。