语音合成声音定制

一、接口描述

1. 功能描述

此系统仅需要用户按照指定的文本提供录音数据(pcm),提交到京东云服务后,系统会自动完成模型训练,并完成服务部署,用户可迅速使用自己定制的语音合成服务。

2. 接口数据要求:

  • 文本仅支持UTF-8格式
  • 文本长度不能超过1000个字符(包含标点)
  • 音频数据使用pcm格式,单声道,16-bits,采样率:16000Hz
  • 支持语音合成标记语言 (SSML)

3. 接口使用:

平台为每个API提供试用体验服务,您在AI市场选择“免费试用”规格下单后,即可开始体验业内领先的人工智能API服务。 免费试用服务具有调用量、QPS限制,如需更高性能的API服务,可以提交咨询工单,联系京东AI扩容购买。

在获得使用权限后,您可使用已经封装好的SDK/参照接口鉴权规则进行相应开发,整体流程详见接入流程

二、请求说明

1.合成特色音频

1.1. 接口地址 :

https://aiapi.jd.com/jdai/tts_customize

1.2. 请求方式:

post

1.3. 请求参数

(1)query请求参数

公共请求参数

名称 类型 必填 示例值 描述
appkey string 80d2b762ecb86593f9668526920f46c 您的appkey,可在买家中心控制台中获
timestamp long 1541491668060 请求的时间戳,精确到毫秒,timestamp有效期5分钟
sign string 2e148773a0337a8f2200ba90d445f083 签名,根据规则MD5(sectetkey,timestamp)

(2)header请求参数

业务请求参数

名称 类型 必填 示例值 描述
Authorization string Bearer eyJhbGciOiJIUzUxMiJ9XXXX 用户登陆后获取的token,【Bearer 】这个字段要保留,Bearer后有一个空格
Route-Key string jdtts 用户路由信息,以用户名及模型ID的组合:userName_modelID
Service-Type string synthesis 服务类型,这里设置固定值synthesis
Request-Id string 65845428-de85-11e8-9517-040973d59a1e 请求语音串标识码。由客户端生成,代表完整的语音识别请求过程,需要注意:
- 需要全局唯一
- 对于同一次合成请求Request-Id需要保持一致
- 每个不同的合成请求都要新生成Request-Id,若多次请求使用同一个将会产生不可预知的错误。

生成方法:
- libuuid 库可以直接生成。Android 及 iOS 也有相关的生成函数。
Sequence-Id int 1 文本分段传输的分段号
-1表示非流式,一次性合成音频并返回。
1表示一次新的流式请求开始,分段合成音频返回,发送第二次请求获取第二段数据时Sequence-Id递增并可以不带text文本。
Protocol int 1 通信协议版本号,这里设置固定值1
Net-State int 1 客户端网络状态:1:WIFI,2:移动,3:联通,4:电信,5:其他
Applicator int 1 应用者,SDK 会提供给不同的应用者(渠道,例如:内部业务(0),外部业务(1))
Property string {"platform": "Linux", "version": "0.0.0.1", "parameters": {"aue": "1", "vol": "2.0", "sr": "24000", "sp": "1.0", "tim": "0", "tte": "1"}} 属性信息,json格式,platform和version为通用属性,parameters字段必填,其中的参数可选,Property允许用户同一个请求的不同包都携带该头,但是建议只在第一包携带
  • Property参数
名称 类型 必填 示例值 描述
platform string Android&Pixel&7.1 字符串类型,各平台的机型信息,格式为:{平台}&{机型}&{系统版本号}
- 平台:Android,iOS,Linux,Windows
- 机型:设备的机型名称,如Pixel,iPhoneX等
- 系统版本号:设备系统版本,如2.3.3,4.2.1等
version string 1.0.0 字符串类型,客户端版本号
parameters string {"aue": "1", "vol": "2.0", "sr": "24000", "sp": "1.0", "tim": "0", "tte": "1"} TTS参数
  • parameters参数
名称 类型 必填 示例值 描述
tte int 1 文本编码格式 1:UTF-8 (目前仅支持UTF-8格式)
aue int 1 音频编码格式(默认值:0)
0:wav 1:pcm 2:opus
tim int 0 模型ID, 通过训练状态接口获取
vol string 2.0 音量(默认值:2.0)
取值范围:[0.1, 10.0]
sp string 1.0 语速(默认值:1.0)
取值范围:[0.5, 2.0]
sr int 24000 采样率(默认值:24000)
wav和pcm支持4k到24k的采样率
opus支持8k 12k 16k 和24k的采样率

(3)body请求参数

业务请求参数

类型 示例值 描述
string 你好,京东! 放置要合成的文本,长度不能超过1024字节,UTF-8编码

1.4、请求代码示例

curl https://aiapi.jd.com/jdai/tts_customize?appkey=68D8FB1BB8E415F1AC8090F527C28241&timestamp=1607050386070&sign=3d3ac6df6befcef25b4b269d2329b514 -v -H 'Service-Type:synthesis' -H "Authorization:Bearer eyJhbGciOiJIUzUxMiJ9XXXX" -H 'Route-Key:JDAI-TTS' -H 'Application-Id:123' -H 'user-id:456' -H 'Request-Id:56a847e6-84c0-4c01-bf4b-d566f2d2dd12' -H 'Sequence-Id:1' -H 'Protocol:v2.0' -H 'Net-State:2' -H 'Applicator:0' -H 'Property:{"platform" : "Linux","version" : "0.0.0.1","parameters": {"tte": 1,"tim":300,"vol":2.0,"sp":1.0,"sr":16000,"aue":1}}' -X POST  -d "京东语音智能"

1.5 成功返回值示例

{
    "code":"10000",
    "charge":true,
    "remainTimes":4984,
    "remainSeconds":32768246,
    "msg":"查询成功,扣费",
    "result":{
        "status":0,
        "message":"ok",
        "request_id":"a72ead09-9533-4744-9204-578723257579",
        "index":16,
        "progress":1,
        "audio":"BBEEEDYPHA7oDA4MAAv4CRQJrgcuBrwEXXXXXXXXXXXXXXXXXXXX"
    }
}

1.6 result返回值说明

状态码 示例值 描述
status 0 详情请参照【合成服务错误码】
message ok 错误码描述
request_id a72ead09-9533-4744-9204-578723257579 请求session的ID
index 16 请求session的索引值

2.系统用户注册

2.1. 接口地址 :

https://aiapi.jd.com/jdai/tts_customize_reg

2.2. 请求方式:

post

2.3. 数据格式:

json

2.4. 请求参数

(1)query请求参数

公共请求参数

名称 类型 必填 示例值 描述
appkey string 80d2b762ecb86593f9668526920f46c 您的appkey,可在买家中心控制台中获
timestamp long 1541491668060 请求的时间戳,精确到毫秒,timestamp有效期5分钟
sign string 2e148773a0337a8f2200ba90d445f083 签名,根据规则MD5(sectetkey,timestamp)

(2)body请求参数

公共请求参数

名称 类型 必填 示例值 描述
name string JDAI_TTS 系统的用户名
passwd string 1541491668060 用户密码
version string v1 签名规则,v1:md5
phone string 13811996992 手机号
devID string XXXXX 设备ID
authCode string XXXXX 认证ID

2.5、请求代码示例

curl  https://aiapi.jd.com/jdai/tts_customize_reg?appkey=80d2b762ecb86593f9668526920f46c&timestamp=timestamp&sign=2e148773a0337a8f2200ba90d445f083 -X POST -d '{"name":"JDAI_TTS","passwd":"12345678","version":"v1","phone":"13811996993","authCode":"XXXXXX", "devID":"XXXXX"}' --header "Content-Type: application/json"

2.6 成功返回值示例

{
    "code":"10000",
    "charge":true,
    "remainTimes":4984,
    "remainSeconds":32768246,
    "msg":"查询成功,扣费",
    "result": {
        "code":40000,
        "msg":"操作成功",
        "data":null  
    }
}

2.7 result返回值说明

状态码 示例值 描述
code 40000 详情请参照【定制服务错误码】
message 操作成功 错误码描述
data null

3.系统用户登陆

3.1. 接口地址 :

https://aiapi.jd.com/jdai/tts_customize_login

3.2. 请求方式:

post

3.3. 数据格式:

json

3.4. 请求参数

(1)query请求参数

公共请求参数

名称 类型 必填 示例值 描述
appkey string 80d2b762ecb86593f9668526920f46c 您的appkey,可在买家中心控制台中获
timestamp long 1541491668060 请求的时间戳,精确到毫秒,timestamp有效期5分钟
sign string 2e148773a0337a8f2200ba90d445f083 签名,根据规则MD5(sectetkey,timestamp)

(2)body请求参数

公共请求参数

名称 类型 必填 示例值 描述
name string JDAI_TTS 系统的用户名
passwd string 1541491668060 用户密码
version string v1 签名规则,v1:md5
phone string 13811996992 手机号
devID string XXXXX 设备ID
authCode string XXXXX 认证ID

3.5、请求代码示例

curl  https://aiapi.jd.com/jdai/tts_customize_login?appkey=80d2b762ecb86593f9668526920f46c&timestamp=timestamp&sign=2e148773a0337a8f2200ba90d445f083 -X POST -d '{"name":"JDAI_TTS","passwd":"12345678","version":"v1","phone":"13811996993" ,"authCode":"XXXXXX", "devID":"XXXXX"}' --header "Content-Type: application/json"

3.6 成功返回值示例

{
    "code":"10000",
    "charge":true,
    "remainTimes":4984,
    "remainSeconds":32768246,
    "msg":"查询成功,扣费",
    "result": {
        "code":40000,
        "msg":"操作成功",
        "data":{"token":"eyJhbGciOi.XXXXXXX"}

    }
}

3.7 result返回值说明

状态码 示例值 描述
code 40000 详情请参照【定制服务错误码】
message 操作成功 错误码描述
data {"token":"eyJhbGciOi.XXXXXXX"} 用户访问的token值

4.获取训练文本

4.1. 接口地址 :

https://aiapi.jd.com/jdai/tts_customize_train_txt

4.2. 请求方式:

get

4.3. 数据格式:

json

4.4. 请求参数

(1)query请求参数

公共请求参数

名称 类型 必填 示例值 描述
appkey string 80d2b762ecb86593f9668526920f46c 您的appkey,可在买家中心控制台中获
timestamp long 1541491668060 请求的时间戳,精确到毫秒,timestamp有效期5分钟
sign string 2e148773a0337a8f2200ba90d445f083 签名,根据规则MD5(sectetkey,timestamp)

(2)header请求参数

公共请求参数

名称 类型 必填 示例值 描述
Authorization string Bearer eyJhbGciOiJIUzUxMiJ9XXXX 用户登陆后获取的token,【Bearer 】这个字段要保留,Bearer后有一个空格

4.5、请求代码示例

curl  -H "Authorization:Bearer eyJhbGciOiJIUzUxMiJ9XXXX" https://aiapi.jd.com/jdai/tts_customize_train_txt?appkey=80d2b762ecb86593f9668526920f46c&timestamp=timestamp&sign=2e148773a0337a8f2200ba90d445f083"

4.6 成功返回值示例

{
    "code":"10000",
    "charge":true,
    "remainTimes":4984,
    "remainSeconds":32768246,
    "msg":"查询成功,扣费",
    "result": {
        "code":40000,
        "msg":"操作成功",
        "data":[{"id":79,"txtId":"10_02","txt":"我说道,“爸爸,你走吧。”","groupId":2,"createTime":"2020-12-07T22:14:20.000+00:00"}] 
    }
}

4.7 训练文本

文本ID 文本
10_02 我说道,“爸爸,你走吧。”
10_03 他望车外看了看,说,“我买几个橘子去。你就在此地,不要走动。”
10_04 我看那边月台的栅栏外有几个卖东西的等着顾客。
10_05 走到那边月台,须穿过铁道,须跳下去又爬上去。
10_06 父亲是一个胖子,走过去自然要费事些。
10_07 我本来要去的,他不肯,只好让他去。
10_08 我看见他戴着黑布小帽,穿着黑布大马褂,深青布棉袍,
10_09 蹒跚地走到铁道边,慢慢探身下去,尚不大难。
10_10 可是他穿过铁道,要爬上那边月台,就不容易了。
10_11 他用两手攀着上面,两脚再向上缩;
10_12 他肥胖的身子向左微倾,显出努力的样子。
10_13 这时我看见他的背影,我的泪很快地流下来了。
10_14 我赶紧拭干了泪,怕他看见,也怕别人看见。
10_15 我再向外看时,他已抱了朱红的橘子望回走了。
10_16 过铁道时,他先将橘子散放在地上,自己慢慢爬下,再抱起橘子走。
10_17 到这边时,我赶紧去搀他。他和我走到车上,将橘子一股脑儿放在我的皮大衣上。
10_18 于是扑扑衣上的泥土,心里很轻松似的,
10_19 过一会说,“我走了;到那边来信!”我望着他走出去。
10_20 他走了几步,回过头看见我,说,“进去吧,里边没人。”
10_21 等他的背影混入来来往往的人里,再找不着了,

4.8 result返回值说明

状态码 示例值 描述
code 40000 详情请参照【定制服务错误码】
message 操作成功 错误码描述
data [{"id":79,"txtId":"10_02","txt":"我说道,“爸爸,你走吧。”","groupId":2,"createTime":"2020-12-07T22:14:20.000+00:00"}] 训练的文本数据

5.开始训练模型

5.1. 接口地址 :

https://aiapi.jd.com/jdai/tts_customize_start_train

5.2. 请求方式:

get

5.3. 请求参数

(1)query请求参数

公共请求参数

名称 类型 必填 示例值 描述
appkey string 80d2b762ecb86593f9668526920f46c 您的appkey,可在买家中心控制台中获
timestamp long 1541491668060 请求的时间戳,精确到毫秒,timestamp有效期5分钟
sign string 2e148773a0337a8f2200ba90d445f083 签名,根据规则MD5(sectetkey,timestamp)

(2)head请求参数

公共请求参数

名称 类型 必填 示例值 描述
Authorization string Bearer eyJhbGciOiJIUzUxMiJ9XXXX 用户登陆后获取的token,【Bearer 】这个字段要保留,Bearer后有一个空格

5.4、请求代码示例

curl -H "Authorization:Bearer eyJhbGciOiJIUzUxMiJ9XXXX" https://aiapi.jd.com/jdai/tts_customize_start_train?appkey=80d2b762ecb86593f9668526920f46c&timestamp=timestamp&sign=2e148773a0337a8f2200ba90d445f083

5.6 成功返回值示例

{
    "code":"10000",
    "charge":true,
    "remainTimes":4984,
    "remainSeconds":32768246,
    "msg":"查询成功,扣费",
    "result": {
        "code":40000,
        "msg":"操作成功",
        "data":null
    }
}

5.7 result返回值说明

状态码 示例值 描述
code 40000 详情请参照【定制服务错误码】
message 操作成功 错误码描述
data null

6.停止训练模型

6.1. 接口地址 :

https://aiapi.jd.com/jdai/tts_customize_cancel_train

6.2. 请求方式:

get

6.3. 请求参数

(1)query请求参数

公共请求参数

名称 类型 必填 示例值 描述
appkey string 80d2b762ecb86593f9668526920f46c 您的appkey,可在买家中心控制台中获
timestamp long 1541491668060 请求的时间戳,精确到毫秒,timestamp有效期5分钟
sign string 2e148773a0337a8f2200ba90d445f083 签名,根据规则MD5(sectetkey,timestamp)

(2)head请求参数

公共请求参数

名称 类型 必填 示例值 描述
Authorization string 用户登陆后获取的token,【Bearer 】这个字段要保留,Bearer后有一个空格 用户登陆后获取的token

6.4、请求代码示例

curl -H "Authorization:Bearer eyJhbGciOiJIUzUxMiJ9XXXX" https://aiapi.jd.com/jdai/tts_customize_cancel_train?appkey=80d2b762ecb86593f9668526920f46c&timestamp=timestamp&sign=2e148773a0337a8f2200ba90d445f083

6.5 成功返回值示例

{
    "code":"10000",
    "charge":true,
    "remainTimes":4984,
    "remainSeconds":32768246,
    "msg":"查询成功,扣费",
    "result": {
        "code":40000,
        "msg":"操作成功",
        "data":null
    }
}

6.7 result返回值说明

状态码 示例值 描述
code 40000 详情请参照【定制服务错误码】
message 操作成功 错误码描述
data null

7.上传文件

7.1. 接口地址 :

https://aiapi.jd.com/jdai/tts_customize_upload_file?txtID=xxxx

7.2. 请求方式:

post

7.3. 数据格式:

application/octet-stream

7.4. 请求参数

(1)query请求参数

公共请求参数

名称 类型 必填 示例值 描述
appkey string 80d2b762ecb86593f9668526920f46c 您的appkey,可在买家中心控制台中获
timestamp long 1541491668060 请求的时间戳,精确到毫秒,timestamp有效期5分钟
sign string 2e148773a0337a8f2200ba90d445f083 签名,根据规则MD5(sectetkey,timestamp)

业务参数

名称 类型 必填 示例值 描述
txtID string 1 文本ID, 请参照4.7服务器返回文本的文本ID, 必须使用服务器返回的txtID赋值, 不能改动

(2)head请求参数

名称 类型 必填 示例值 描述
Authorization string Bearer eyJhbGciOiJIUzUxMiJ9XXXX 用户登陆后获取的token,【Bearer 】这个字段要保留,Bearer后有一个空格

(3)body请求参数

名称 类型 必填 示例值 描述
file string xxxx.pcm 用户PCM数据
txtID string 1 文本ID

7.5、请求代码示例

curl -v --data-binary @100.pcm  -H "Expect: " -H 'content-type: application/octet-stream' -H "Authorization:Bearer eyJhbGciOiJIUzUxMiJ9XXXX" https://aiapi.jd.com/jdai/ttscustomize/audiomgr/audio/uploadAudioFile?appkey=80d2b762ecb86593f9668526920f46c&timestamp=timestamp&sign=2e148773a0337a8f2200ba90d445f083&txtID=100
#### 7.6 成功返回值示例

{ "code":"10000", "charge":true, "remainTimes":4984, "remainSeconds":32768246, "msg":"查询成功,扣费", "result": { "code":40000, "msg":"操作成功", "data":"1" } }


#### 7.7 result返回值说明
<table>
   <tr>
      <th>状态码</th>
      <th>示例值</th>
      <th>描述</th>
   </tr>
   <tr>
           <td> code </td>
          <td> 40000 </td>
          <td>详情请参照【定制服务错误码】</td>
       </tr>
    <tr>
        <td> message </td>
          <td>操作成功</td>
          <td>错误码描述</td>
       </tr>
    <tr>
        <td> data </td>
          <td>1</td>
          <td>上传的文本ID</td>
   </tr>

</table>

### 8.关键信息跟踪
#### 8.1. 接口地址 :

https://aiapi.jd.com/jdai/tts_customize_log


#### 8.2. 请求方式:

post


#### 8.3. 数据格式:

json


#### 8.4. 请求参数  
#### (1)query请求参数  
公共请求参数
<table>
   <tr>
      <th>名称</th>
      <th>类型</th>
      <th>必填</th>
      <th>示例值</th>
      <th>描述</th>
   </tr>
   <tr>
      <td>appkey</td>
      <td>string</td>
      <td>是</td>
      <td>80d2b762ecb86593f9668526920f46c</td>
      <td>您的appkey,可在买家中心控制台中获</td>
   </tr>
   <tr>
      <td>timestamp</td>
      <td>long</td>
      <td>是</td>
      <td>1541491668060</td>
      <td>请求的时间戳,精确到毫秒,timestamp有效期5分钟</td>
   </tr>
   <tr>
      <td>sign</td>
      <td>string</td>
      <td>是</td>
      <td>2e148773a0337a8f2200ba90d445f083</td>
      <td>签名,根据规则MD5(sectetkey,timestamp)</td>
   </tr>
</table>

#### (2)head请求参数 
公共请求参数
<table>
   <tr>
      <th>名称</th>
      <th>类型</th>
      <th>必填</th>
      <th>示例值</th>
      <th>描述</th>
   </tr>
   <tr>
      <td> Authorization </td>
      <td>string</td>
      <td>是</td>
      <td>Bearer eyJhbGciOiJIUzUxMiJ9XXXX</td>
      <td>用户登陆后获取的token,【Bearer 】这个字段要保留,Bearer后有一个空格</td>
   </tr>
  </table>

#### (2)body请求参数 
公共请求参数
<table>
   <tr>
      <th>名称</th>
      <th>类型</th>
      <th>必填</th>
      <th>示例值</th>
      <th>描述</th>
   </tr>
   <tr>
      <td> name </td>
      <td>string</td>
      <td>是</td>
      <td>JDAI_TTS</td>
      <td>用户名</td>
   </tr>
   <tr>
      <td> devinfo </td>
      <td>string</td>
      <td>是</td>
      <td>小米mix2s</td>
      <td>设备名</td>
   </tr>
  <tr>
      <td> time </td>
      <td>string</td>
      <td>是</td>
      <td>2020-11-30 14:20:38</td>
      <td>时间</td>
   </tr>
  <tr>
      <td> log </td>
      <td>string</td>
      <td>是</td>
      <td>tts->delay->600ms</td>
      <td>关键信息</td>
   </tr>
  </table>

#### 8.5、请求代码示例

Curl -i -X POST -H "Authorization:Bearer eyJhbGciOiJIUzUxMiJ9XXXX" https://aiapi.jd.com/jdai/tts_customize_log -d '{"name":"JDAI_TTS","devinfo":"小米mix2s", "time":"2020-11-30 14:20:38","log":"tts->delay->600ms"}' --header "Content-Type: application/json"


#### 8.6 成功返回值示例

{ "code":"10000", "charge":true, "remainTimes":4984, "remainSeconds":32768246, "msg":"查询成功,扣费", "result": { "code":40000, "msg":"操作成功", "data":null } }

#### 8.7 result返回值说明
<table>
   <tr>
      <th>状态码</th>
      <th>示例值</th>
      <th>描述</th>
   </tr>
   <tr>
           <td> code </td>
          <td> 40000 </td>
          <td>详情请参照【定制服务错误码】</td>
       </tr>
    <tr>
        <td> message </td>
          <td>操作成功</td>
          <td>错误码描述</td>
       </tr>
    <tr>
        <td> data </td>
          <td>null</td>
          <td></td>
   </tr>

</table>

### 9.训练状态
#### 9.1. 接口地址 :

https://aiapi.jd.com/jdai/tts_customize_train_status


#### 9.2. 请求方式:

get




#### 9.4. 请求参数  
#### (1)query请求参数  
公共请求参数
<table>
   <tr>
      <th>名称</th>
      <th>类型</th>
      <th>必填</th>
      <th>示例值</th>
      <th>描述</th>
   </tr>
   <tr>
      <td>appkey</td>
      <td>string</td>
      <td>是</td>
      <td>80d2b762ecb86593f9668526920f46c</td>
      <td>您的appkey,可在买家中心控制台中获</td>
   </tr>
   <tr>
      <td>timestamp</td>
      <td>long</td>
      <td>是</td>
      <td>1541491668060</td>
      <td>请求的时间戳,精确到毫秒,timestamp有效期5分钟</td>
   </tr>
   <tr>
      <td>sign</td>
      <td>string</td>
      <td>是</td>
      <td>2e148773a0337a8f2200ba90d445f083</td>
      <td>签名,根据规则MD5(sectetkey,timestamp)</td>
   </tr>
</table>

#### (2)head请求参数 
公共请求参数
<table>
   <tr>
      <th>名称</th>
      <th>类型</th>
      <th>必填</th>
      <th>示例值</th>
      <th>描述</th>
   </tr>
   <tr>
      <td> Authorization </td>
      <td>string</td>
      <td>是</td>
      <td>用户登陆后获取的token,【Bearer 】这个字段要保留,Bearer后有一个空格</td>
      <td>用户登陆后获取的token</td>
   </tr>
  </table>


#### 9.5、请求代码示例

curl -H "Authorization:Bearer eyJhbGciOiJIUzUxMiJ9XXXX" https://aiapi.jd.com/jdai/tts_customize_train_status?appkey=80d2b762ecb86593f9668526920f46c&timestamp=timestamp&sign=2e148773a0337a8f2200ba90d445f083"


#### 9.6 成功返回值示例

{ "code":"10000", "charge":true, "remainTimes":4984, "remainSeconds":32768246, "msg":"查询成功,扣费", "result": { "code":40000, "msg":"操作成功", "data":{ "id":1, "userName":"JDAI_TTS-4", "modelId":470, "projectId":2600, "modelUrl":"", "ttsUrl":"", "status":2, "createTime":"2020-12-17T01:38:52.000+00:00", "updateTime":"2020-12-17T01:39:02.000+00:00" } }

}


#### 9.7 result返回值说明
<table>
   <tr>
      <th>状态码</th>
      <th>示例值/属性</th>
      <th>描述</th>
   </tr>
   <tr>
           <td> code </td>
          <td> 40000 </td>
          <td>详情请参照【定制服务错误码】</td>
       </tr>
    <tr>
        <td> message </td>
          <td>操作成功</td>
          <td>错误码描述</td>
       </tr>
    <tr >
        <td rowspan="9">data</td>
        <td> userName </td>
        <td>用户名</td>
    </tr>
    <tr>
        <td> modelId </td>
        <td>模型ID</td>
    </tr>
    <tr>
        <td> projectId </td>
        <td>训练项目ID</td>
    </tr>
    <tr>
        <td> modelUrl </td>
        <td>模型存储URL</td>
    </tr>
    <tr>
        <td> ttsUrl </td>
        <td>模型加载URL</td>
    </tr>
    <tr>
        <td> status </td>
        <td>模型训练状态</td>
    </tr>
    <tr>
        <td> createTime </td>
        <td>任务开始时间</td>
    </tr>
    <tr>
        <td> createTime </td>
        <td>任务最后更新时间</td>
    </tr>
</table>

#### 9.9 训练状态说明
<table>
   <tr>
      <th>状态码</th>
      <th>描述</th>
   </tr>
   <tr>
           <td> -1 </td>
          <td>未运行</td>
       </tr>
    <tr>
           <td> 0 </td>
          <td>运行等待中</td>
       </tr>
    <tr>
           <td> 1 </td>
          <td>开始运行</td>
       </tr>
    <tr>
           <td> 2 </td>
          <td>运行中</td>
       </tr>
    <tr>
           <td> 3 </td>
          <td>运行成功</td>
       </tr>
    <tr>
           <td> 4 </td>
          <td>模型运行失败</td>
       </tr>
    <tr>
           <td> 5 </td>
          <td>删除项目中</td>
       </tr>
    <tr>
           <td> 6 </td>
          <td>已删除</td>
       </tr>
    <tr>
           <td> 7 </td>
          <td>训练已取消</td>
       </tr>
    <tr>
           <td> 100 </td>
          <td>训练取消失败</td>
       </tr>
    <tr>
           <td> 101 </td>
          <td>TTSService加载模型失败</td>
       </tr>
    <tr>
           <td> 102 </td>
          <td>TTSService未注册</td>
       </tr>
</table>




## 三、返回说明
### 1、返回参数
#### (1)公共返回参数

<table>
   <tr>
      <th>名称</th>
      <th>类型</th>
      <th>示例值</th>
      <th>描述</th>
   </tr>
   <tr>
      <td>code</td>
      <td>string</td>
      <td>1000</td>
      <td>参见下方平台服务错误码</td>
   </tr>
      <tr>
      <td>charge</td>
      <td>boolean</td>
      <td>false 或 true</td>
      <td>false:不扣费, true:扣费</td>
   </tr>
      <tr>
      <td>remain</td>
      <td>long</td>
      <td>1305</td>
      <td>按天计算剩余调用次数</td>
   </tr>
      </tr>
      <tr>
      <td>msg</td>
      <td>string</td>
      <td>查询成功</td>
      <td>参见下方平台服务错误码数</td>
   </tr>
      </tr>
      <tr>
      <td>result</td>
      <td>object</td>
      <td>{...}</td>
      <td>查询结果</td>
   </tr>
</table>

#### (2)业务返回参数
<table>
   <tr>
      <th>名称</th>
      <th>类型</th>
      <th>示例值</th>
      <th>描述</th>
   </tr>
   <tr>
      <td>status</td>
      <td>int</td>
      <td>0</td>
      <td>参照合成服务、定制服务错误码</td>
   </tr>
      <tr>
      <td>message</td>
      <td>string</td>
      <td>ok</td>
      <td>参照合成服务、定制服务错误信息</td>
   </tr>
      <tr>
      <td>request_id</td>
      <td>string</td>
      <td>65845428-de85-11e8-9517-040973d59a1e</td>
      <td>便于双方定位问题(与请求头部的request-id一致)</td>
   </tr>
   <tr>
      <td>index</td>
      <td>int</td>
      <td>-3</td>
      <td>分段序号,从1开始,负值表示最后一包(非流式直接返回-1)</td>
   </tr>
   <tr>
      <td>audio</td>
      <td>string</td>
      <td>Uv4I/mD+zf4…</td>
      <td>音频数据(base64编码)</td>
   </tr>
</table>


### 2、合成服务返回示例

{ "code":"10000", "charge":true, "remainTimes":4984, "remainSeconds":32768246, "msg":"查询成功,扣费", "result": { "status": 0, "message": "ok", "request_id": "65845428-de85-11e8-9517-040973d59a1e", "index": -3, "audio": "Uv4I/mD+zf4…" } }


### 3、定制服务返回示例

{ "code":"10000", "charge":true, "remainTimes":4984, "remainSeconds":32768246, "msg":"查询成功,扣费", "result": { "code": 0, "msg": "ok", "data": "65845428-de85-11e8-9517-040973d59a1e" or {"token" : "XXXXXXXXX"}
} } ```

四、错误码

1.平台服务错误码

错误码(code) 说明(message)
10000 操作查询成功
10001 错误的请求appkey
10003 不存在相应的数据信息
10004 URL上appkey参数不能为空
10010 接口需要付费,请充值
10020 系统繁忙,请稍后再试
10030 调用网关失败,请与NeuHub联系
10040 超过每天限量,请明天继续
10041 URL上timestamp参数不能为空
10042 URL上sign参数不能为空
10043 超过QPS限额,请降低调用频率或与NeuHub联系
10044 集群QPS超限额,请与NeuHub联系
10045 timestamp参数无效,请检查timestamp距离当前时间是否超过5分钟
10046 timestamp参数格式错误
10047 请求签名sign无效,请检查签名信息
10048 无接口权限,请下单购买
10049 超过每天最大调用量
10050 用户已注册
10049 用户已注册
10050 用户已被禁用
10060 发布方设置调用权限,请联系发布方
10090 文件大小超限,请上传小于5M的文件

2.定制服务错误码

错误码(status) 说明(message)
40000 操作成功
40001 操作失败
40002 参数检验失败
40003 暂未登录或token已经过期
40004 没有相关权限
40005 注册码已发送
40006 注册验证码超时
40007 用户已注册

3.合成服务错误码

错误码(status) 说明(message)
0 正常
11001 用户相关,参数错误
30201 服务器相关, 服务器未完成初始化
30202 服务器相关, 服务器忙
30203 用户相关,文本过短(没有文本时返回)
30204 用户相关,文本过长(超过1024字节)
30205 用户相关,seq_id不正确,如值为1但是当前已有相同session; 或值不为1但当前没有相同session
30206 TTS引擎相关,TTS引擎读取错误
30207 base64编码失败
30252 引擎错误,出现内部错误
30253 引擎错误,读取缓存超时
30255 引擎错误,SSML 参数错误,如指定了错误的发音人
30256 引擎错误,SSML 嵌套错误,如 say-as 下嵌套了 background
30257 引擎错误,URL 下载失败
30258 引擎错误,URL 下载文件格式不正确(格式不支持)
Copyright © JD AI Platform all right reserved,powered by GitbookFile Modify: 2021-05-21 22:10:38

results matching ""

    No results matching ""