一 简介
极限元 TTS REST API为开发者提供一个通用的开发接口,基于该接口,开发者可以方便的为应用集成TTS功能,本文档描述了使用TTS REST API的方法。
使用API需要以下条件:
1 需要申请 API Key 用于验证开发者
2 使用过程中应用需要通过互联网连接到极限元 云平台
二 访问控制
极限元 通过apiKey/apiSecretKey对称加密来验证某个请求的发送者身份,apiKey用来标示app,apiSecretKey是用来签名加密的密钥,所以apiSecretKey必须保密。
当用户发送一个请求时,首先按照极限元指定的格式生成签名字符串,然后使用apiSecretKey对签名字符串进行加密产生验证码。极限元收到请求后会根据apiKey找到对应的apiSecretKey,然后用同样的方式产生验证码,如果计算出来的验证码跟请求的一样则认为请求有效,否则拒绝这次请求,并返回403错误。
1 申请apiKey/apiSecretKey
开发者需要在极限元开发者平台( http://dev.jixianyuan.com/ 注册账号,并创建一个应用,即可获得对应的apiKey/apiSecretKey。
2 API验证机制
signature=HMAC-SHA1(arg1=v1&arg2=v2)
1 生成签名字符串
首先,对整个请求参数列表中的参数按照参数名字典序进行排序。
其次,把所有参数对以'&'字符连接起来,最终形成待签名字符串。
如:apiKey=o12345678&expires=1111222200& text=hello& voice=cnmale
这串字符串便是待签名字符串。
2 使用hmac-sha1方法签名,其中Key为apiSecretKey
3 把”signature=签名结果字符串” 加入请求参数列表
apiKey=o12345678&expires=1111222200& text=hello& voice=cnmale&signature=签名结果字符串
注意:待签名字符串必须是UTF-8编码
具体参数见API接口说明
三 API 接口说明
1 请求类型及URL
接口类型 | 输入数据格式 | URL |
---|---|---|
HTTP GET/POST | URL Encoded | http://api.jixianyuan.com/tts/api |
2 请求参数
参数 | 数据类型 | 是否必选 | 说明 |
---|---|---|---|
apiKey | String | 是 | Api key |
signature | String | 是 | 签名字符串 |
expires | Int | 是 | 请求超时时间,自UTC1970-01-01开始的秒数 |
text | String | 是 | 需要合成的文本 |
voice | String | 否 | 声音类型,语言+性别,默认cnmale |
format | String | 否 | 音频格式(WAV,MP3),默认MP3 |
speed | Float | 否 | 语音速度,0.5--5 默认1 |
Voice参数
取值 | 说明 |
---|---|
cnmale | 普通话男声 |
cnfemale | 普通话女声 |
cnctmale | 粤语男声 |
cnctfemale | 粤语女声 |
enmale | 英语男声 |
enfemale | 英语女声 |
3 响应结果
HTTP response | 说明 |
---|---|
200 | 成功,返回音频数据 |
202 | 失败,返回json数据,包含错误码及错误信息 |
403 | 签名验证失败,禁止访问 |
4 错误码
错误码 | 描述 |
---|---|
1001 | 非法请求 |
1002 | API key 非法 |
1003 | 鉴权验证失败 |
1004 | 转换文本失败 |
1005 | 非法文本 |
1006 | 文本超长 |
1007 | 非法参数 |
1008 | 不支持的voice类型 |