API文档
产品定价
Hi,您好,欢迎使用有道智云双向流式API-支持复刻(多音色)接口服务。
本文档主要针对需要集成HTTP API的技术开发工程师,详细描述双向流式API-支持复刻(多音色)相关的技术内容。
如果您有与我们商务合作的需求,可以通过以下方式联系我们:
商务邮箱: AIcloud_Business@corp.youdao.com
如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
客服QQ:1906538062
智云翻译技术交流QQ 3群: 807539209
智云翻译技术交流QQ 4群: 936752411
联系邮箱: zhiyun@corp.youdao.com
温馨提示:
双向流式API为用户提供文本转语音能力,支持多语种、支持WebSocket协议流式调用。
双向流式API调用地址:
wss://openapi.youdao.com/duplex_stream_tts/stream_tts
| 参数名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| appKey | String | 是 | 已申请的应用ID | ID |
| salt | String | 是 | UUID | uuid,唯一通用识别码,确保请求唯一性即可 |
| curtime | String | 是 | 时间戳(秒) | TimeStamp |
| signType | String | 是 | 数字签名类型 | 固定v3 |
| sign | String | 是 | 加密数字签名。 | sha256 |
| q | String | 是 | 调用类型 | 推荐为curtime |
签名sign生成方法如下: signType=v3; sign=sha256(appKey+q+salt+curtime+应用密钥)。
text message :json格式| 参数名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| text | String | 是 | 要合成的文本,长度不能超过2000字符 |
| voiceName | String | 是 | 合成使用的音色名 |
| userVoice | String | 否 | 指定克隆音色音频文件地址,是否必传参考下方支持的音色,要求是可下载的地址,音频格式可以是wav/mp3,建议3-7s |
| userVoiceText | String | 否 | 指定克隆音色音频的文本,是否必传参考下方支持的音色 |
| format | String | 否 | 目标音频格式。支持mp3, wav,不填则默认为mp3 |
| sampleRate | Integer | 否 | 目标采样率,可选范围视具体音色而定,不填已模型默认音色为准,具体参考下方支持的音色 |
| speed | Double | 否 | 目标语速,范围为[0.5, 2],不填则默认为1 |
| volume | Double | 否 | 目标音量,范围为[0.5,10],不填则默认为1 |
| pitch | Double | 否 | 目标声调,范围为[0.5,1.5],不填则默认为1 |
| lang | String | 否 | 语种,支持中文:zh-CHS、 英文:en,默认zh-CHS |
| stream | Boolean | 否 | 客户端推送文本的方式是否为流式,默认false。为 true表示服务端会持续接收客户端结果,等待时机进行处理并返回。为 false表示一旦接收到客户端消息就会处理并返回。 |
| end | Boolean | 否 | 表示客户端流式推送文本的最后一个包,只有stream=true才生效,默认true |
{
"text": "再见。",
"voiceName": "ONE_WORD_CHUNK_WAVE",
"lang": "zh-CHS",
"userVoice": "https://speech-custom-tts.nos-jd.163yun.com/test/test.mp3",
"userVoiceText": "你好",
"stream": true,
"end": true
}
{
// 错误码
"code": 0,
// 当前这句话是否处理完成,0-没有完成,1-完成
"finish": 1,
// 每一个回复消息的唯一标识
"messageId": "ade0af68-9003-4440-b4b8-7749f36679a5",
// 错误消息
"msg": "SUCCESS",
// 本次请求的唯一标识,如果是流式输入的场景(stream=true),在收集输入的过程中,requestId都是一样的,用于查问题
"requestId": "2b12ec51-61fe-4279-91a6-f236a83a8065",
// 处理结果
"result": {
// 音频类型
"format": "mp3",
// 采样率
"sampleRate": 16000,
// 处理的输入文本
"text": "再见。",
// 音频base64编码
"voice": "音频base64xxxx"
},
// 整个ws的id
"sessionId": "47e31f68-c641-390e-4fa8-2e5774ef6115"
}
| voiceName | 描述 | 是否必传克隆音频 | 采样率 | 默认采样率 |
|---|---|---|---|---|
| ONE_WORD_CHUNK_WAVE | 音色克隆 | 是 | 8000、16000、24000、44100、48000 | 16000 |
]
| 错误码 | 错误描述 |
|---|---|
| 101 | 缺少必填的参数,首先确保必填参数齐全,然后,确认参数书写是否正确。 |
| 102 | 不支持的语言类型 |
| 103 | 翻译文本过长 |
| 104 | 不支持的API类型 |
| 105 | 不支持的签名类型 |
| 106 | 不支持的响应类型 |
| 107 | 不支持的传输加密类型 |
| 108 | 应用ID无效,注册账号,登录后台创建应用和实例并完成绑定,可获得应用ID和应用密钥等信息 |
| 109 | batchLog格式不正确 |
| 110 | 无相关服务的有效实例,应用没有绑定服务。注:某些服务的结果发音需要tts,需要在控制台创建语音合成绑定应用后方能使用。 |
| 111 | 开发者账号无效 |
| 112 | 请求服务无效 |
| 113 | q不能为空 |
| 114 | 不支持的图片传输方式 |
| 115 | 语音包异常:不存在或者已删除或者不属于当前devId |
| 116 | referenceSynthesisId已存在 |
| 201 | 解密失败,可能为DES,BASE64,URLDecode的错误 |
| 202 | 签名检验失败 |
| 203 | 访问IP地址不在可访问IP列表 |
| 205 | 请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。 |
| 206 | 因为时间戳无效导致签名校验失败 |
| 207 | 重放请求 |
| 303 | 服务端的其它异常 |
| 401 | 账户已经欠费停 |
| 402 | offlinesdk不可用 |
| 403 | 无权限 |
| 404 | 资源不存在 |
| 405 | auth服务不可用 |
| 411 | 访问频率受限,请稍后访问 |
| 412 | 超过最大翻译字符数 |
| 110000 | 签名错误 |
| 110101 | 缺少合成文本 |
| 110101 | 缺少音色名 |
| 110101 | 语种错误 |
| 110102 | 音色名错误 |
| 110102 | 合成格式错误 |
| 110102 | 采样率错误 |
| 110102 | 语速取值错误 |
| 110102 | 音量取值错误 |
| 110102 | 声调取值错误 |
| 110102 | 情感取值错误 |
| 110103 | 合成文本长度超出限制 |