跳到主要内容

语音文件同步接口

1. 接口介绍

该接口对语音内容进行检测识别,并同步返回识别结果,适用于时长小于 60 秒的短音频。

提示
  • 接口并发限制:默认每秒请求数不超过 50 次;
  • 语音文件大小限制:默认不超过 1M,请联系我们调整并发及文件限制;
  • 支持的编码格式:AACAC-3ADPCMAMRDSDMP1MP2MP3PCM
  • 支持的容器格式:flvmkvmp5rmvbaviwmv3gptsmov

2. 请求

2.1 请求地址

区域请求地址
国内http://api.speech.tuputech.com/v3/recognition/speech/<secretId>
国外http://api-us.open.tuputech.com/v3/recognition/speech/<secretId>
提示

<secretId> 需替换为您的应用 SID,请联系客户经理为您开通及配置。关于 SID 详见 常见问题(FAQ)

2.2 请求方法

POST

2.3 请求头

Content-Type: multipart/form-data 或 application/json

2.4 超时时间及异常处理

建议配置超时时间 60 秒,在 HTTP 响应状态码非 200 或业务状态码不为 0 时进行重试。

2.5 请求参数说明

参数名称类型是否必填说明
speechString 或 File语音文件内容或文件链接。

1. 提交语音文件时,指定 ContentType: multipart/form-data
2. 提交语音链接时,指定 ContentType: application/json
3. 支持的编码格式:AACAC-3ADPCMAMRDSDMP1MP2MP3PCM
4. 支持的容器格式:flvmkvmp5rmvbaviwmv3gptsmov
5. 出于安全考虑,语音链接端口除 80, 443 端口外,应在 1025-65535 范围内
timestampNumber当前服务器的 Unix 时间戳
nonceNumber随机数
signatureString

RSA-SHA256 算法签名。签名步骤:

  1. 将参与签名的参数(secretIdtimestampnonce)用英文半角逗号 , 拼接,得到 SignString
  2. 使用您的私钥以 RSA-SHA256 算法对 SignString 签名,然后进行 Base64 编码,得到 signature 字符串。
  • 点击 数字证书 下载私钥。私钥有 rsapkcs8 两种格式,通常 Golang,Python 使用 rsa 格式私钥,Java 使用 pkcs8 格式私钥
  • 点击 签名及验证示例 查看签名示例
taskString指定的任务 ID。通常单个应用(接口)下会配置多个识别任务,可根据业务需要指定其中的部分任务进行识别
languageString语言代码,在进行多语种语音转译或审核时必填。多语种语音转译类产品请联系客户经理进行配置使用。对应语言代码详见:语音转译审核(多语种)语言代码列表

2.6 请求示例

{
"speech": "<url>",
"task": "<taskId>",
"timestamp": 1685000000,
"nonce": 1685000000,
"signature": "<signature>"
}

3. 同步响应

3.1 响应参数说明

参数名称类型说明
signatureString

同步响应或回调请求签名,由图普使用私钥签名,在需要时,您可以通过 图普公钥 进行验签以确保此响应内容来自图普(与您调用接口时使用的公私钥不同)。验签步骤:

  1. json 字段内容为 SignString
  2. signature 字段内容进行 Base64 解码,得到 RawSignature
  3. 使用图普公钥以 SHA256 算法验证 RawSignatureSignString
jsonString

同步响应或回调请求经过 JSON 转义后的字符串,需进一步解析得到业务数据。

  • 字段内容示例:{\"code\":0,\"message\":\"success\"}
  • 字段详见下述 json 参数说明;
  • 为方便展示,同步响应及回调请求的示例中,均为解析后的 JSON

json 参数说明

参数名称类型是否必有说明
codeNumber状态码,详见 业务状态码
messageString状态信息
nonceNumber随机数
timestampNumber当前服务器的 Unix 时间戳
<任务 ID>Object识别任务结果,不同任务数据结构不同,详见 3.3 各识别任务回调参数

3.2 响应示例

{
"code": 0,
"message": "success",
"nonce": 1685000000,
"timestamp": 1685000000,
"5caee6b2a76925c55a09a6d2": {
"fileList": [
{
"file_name": "<url>",
"result": {
"content": "不要说这种话,今天聊了。",
"action": "pass",
"label": "Normal",
"review": false,
"rate": 1,
"startTime": 0,
"hasVoice": true,
"details": []
}
}
]
},
"5f59e4b71b29fa890e5472fb": {
"speeches": [
{
"name": "<url>",
"label": 0,
"review": false,
"rate": 0.9999165534973145,
"details": [
{
"startTime": 5.4,
"endTime": 10,
"label": 0,
"rate": 0.9999165534973145
}
]
}
]
},
"5c8213b9bc807806aab0a574": {
"speechs": [
{
"name": "<url>",
"label": 0,
"review": false,
"details": []
}
]
}
}

3.3 具体任务返回结果