#
智能音频文件识别产品API文档版权所有 翻版必究
#
上传音频识别请求#
接口描述该接口用于提交音频识别请求。
#
请求URL:集群 | URL | 支持语种 |
---|---|---|
新加坡 | http://api-audio-xjp.fengkongcloud.com/v2/saas/anti_fraud/audio | 中文、国际化 |
硅谷 | http://api-audio-gg.fengkongcloud.com/v2/saas/anti_fraud/audio | 中文、国际化 |
上海 | http://api-audio-sh.fengkongcloud.com/v2/saas/anti_fraud/audio | 中文、阿语 |
#
字符编码格式使用UTF-8字符集进行编码
#
请求方法POST
#
建议超时时长3s
#
音频格式限制WAV
、MP3
、AAC
、AMR
、3GP
、M4A
、WMA
、OGG
、APE
、FLAC
、ALAC
、WAVPACK
、SILK_V3
等
#
请求体限制所有请求参数大小总和不能超过18M
#
请求参数放在HTTP Body中,采用Json格式,具体参数如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
accessKey | string | Y | 服务密匙,开通账号服务时由数美提供 |
type | string | Y | 需要识别的违规类型,可选值: AUDIOPOLITICAL:一号领导人声纹识别 POLITY:涉政识别 ANTHEN:国歌识别 EROTIC:色情 DIRTY: 辱骂识别 ADVERT:广告识别 BAN:违禁识别 VIOLENT:暴恐识别 ADLAW:广告法识别 MOAN:娇喘识别 BANEDAUDIO:违禁歌曲 如需做组合识别,通过下划线连接即可,例 如 POLITY_EROTIC_MOAN用于涉政、色情和娇喘识别。 |
businessType | string | N | 识别类型,可选值: SING:唱歌识别 LANGUAGE:语种识别 GENDER:性别识别 TIMBRE:音色标签 (需要同时传入GENDER才能生效) VOICE:人声属性 MINOR:未成年识别 AUDIOSCENE:声音场景 AGE:年龄识别 如需识别音色、唱歌、语种GENDER必传 type和 businessType 必须填其一 |
appId | string | N | 需要联系数美开通,请以数美单独提供的传值为准 |
btId | string | Y | 音频唯一标识,超过128位将被截断, 不能重复,否则提示参数错误。 |
data | json_object | Y | 请求数据,最长1MB,详细内容参见下表 |
callback | string | N | 异步检测结果回调通知您的URL,支持HTTP和HTTPS。字段为空时,您必须通过查询接口主动查询结果。 |
callbackParam | json_object | N | 透传字段,当 callback 存在时可选,发送回调请求时服务将该字段内容同音频结果一起返回 |
data的内容如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
url | string | N | 待识别音频url地址,url和content至少提供一个 |
lang | string | N | 可选值如下,(默认值为zh): zh:中文 en:英文 ar:阿拉伯语 hi:印地语 es:西班牙语 fr:法语 ru:俄语 pt:葡萄牙语 id:印尼语 de:德语 ja:日语 tr:土耳其语 vi:越南语 it:意大利语 th:泰语 tl:菲律宾语 ko:韩语 ms:马来语 集群支持语种详见 请求URL支持语种,除中文外其他语言类型为国际化 |
content | string | N | 待识别音频的base64编码数据(上限15M,仅支持pcm、wav、mp3), pcm格式数据必须采用16-bit小端序编码。推荐使用pcm、wav格式传输。url和content至少提供一个,同时存在时仅支持content |
formatInfo | json_object | N | 当content存在时必须存在,本地语音文件格式信息。json内具体格式见下方说明 (另外,如有其他特定音频格式的需求,在与数美沟通后,可传入该字段表示特殊解码逻辑) |
audioName | string | N | 音频文件名称 |
tokenId | string | N | 用户账号标识 |
channel | string | N | 业务场景名称,见渠道配置表 |
returnAllText | bool | N | 取值为true时,返回所有音频片段识别结果(每10秒一个音频片段);取值为false时,返回风险片段(riskLevel为REJECT或REVIEW)识别结果。默认为false。 |
audioDetectStep | int | N | 间隔审核步长,取值范围为1-36整数,取1表示跳过一个10S的音频片段审核,取2表示跳过两个,以此类推,不使用该功能时音频内容全部过审。启用该功能时,建议开启returnAllText,采用每个片段的ASR识别结果。 |
receiveTokenId | string | N | 私聊场景下消息接收者的tokenId,由数字、字母、下划线、短杠组成的长度小于等于64位的字符串 |
nickname | string | N | 用户昵称 |
timestamp | int | N | 时间戳(毫秒级) |
room | string | N | 房间号 |
deviceId | string | N | 数美设备标识 |
dataId | string | N | 数据标识 |
ip | string | N | 发送该音频的用户公网ip地址,支持传入IPV4或IPV6 |
level | int | N | 可选值:0 :最低级用户,典型如新注册、完全不活跃或等级为0的用户等;1 :较低级用户,典型如低活跃或低等级用户等;2 :中等级用户,典型如具备一定活跃或等级中等的用户等;3 :较高级用户,典型如高活跃或高等级用户等;4 :最高级用户,典型如付费用户、VIP用户等 |
gender | string | N | 用户性别,可选值: male男性 female女性 |
formatInfo内容如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
format | string | Y | 语音数据格式,仅支持(取值)pcm、wav、mp3、opus-gin,严格小写。 |
rate | int | N | 语音数据采样率,当语音数据格式为pcm时必须存在,范围限制8000-32000。 |
track | int | N | 语音数据声道数,当语音数据格式为pcm时必须存在,支持单声道(取值1)或双声道(取值2)。 |
#
返回参数放在HTTP Body中,采用Json格式,具体参数如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
code | int | Y | 详见接口响应码列表 |
message | string | Y | 返回码详情描述 |
requestId | string | Y | 请求唯一标识 |
btId | string | Y | 客户上传音频唯一标识,与请求参数中的btId字段对应 |
#
主动查询识别结果#
接口描述该接口用于查询音频识别结果,最大支持10qps。
#
请求URL上海集群:
http://api-audio-sh.fengkongcloud.com/v2/saas/anti_fraud/query_audio
硅谷集群:
http://api-audio-gg.fengkongcloud.com/v2/saas/anti_fraud/query_audio
新加坡集群:
http://api-audio-xjp.fengkongcloud.com/v2/saas/anti_fraud/query_audio
#
字符编码格式请求及返回结果都使用UTF-8字符集进行编码
#
请求方法POST
#
建议超时时长1s
#
请求参数放在HTTP Body中,采用Json格式,具体参数如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
accessKey | string | Y | 服务密匙,开通账号服务时由数美提供 |
btId | string | Y | 音频唯一标识,用于查询识别结果 |
#
返回参数放在HTTP Body中,采用Json格式,具体参数如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
code | int | Y | 详见接口响应码列表 |
message | string | Y | 返回码详情描述 |
requestId | string | Y | 请求唯一标识 |
btId | string | Y | 音频唯一标识 |
audioText | string | Y | 整段音频转译文本结果 |
audioTime | int | N | 整段音频的音频时长,单位秒,code为1100时存在 |
labels | string | N | 音频识别结果标签 |
riskLevel | string | N | 识别结果,可能返回值: PASS:正常内容 |
detail | json_array | N | 风险详情 |
gender | json_object | N | 性别标签与概率值 |
isSing | int | N | 表示该条音频文件是否唱歌,0表示没有唱歌,1表示唱歌。 仅当type传入值包含SING时返回。 |
language | json_array | N | 语种标签与概率值列表 |
tags | json_array | N | 音色标签与概率值列表 |
businessLabels | json_array | N | 业务标签返回(目前只支持MINOR,策略命中返回标签内容,否则为空,历史遗留字段,不建议使用) |
auxInfo | json_object | N | 辅助信息 |
tokenProfileLabels | json_array | N | 账号属性标签,仅在开启功能时返回 |
tokenRiskLabels | json_array | N | 账号风险标签,仅在开启功能时返回 |
detail数组中每一项的具体参数如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
requestId | string | Y | 风险音频片段请求唯一标识 |
audioStarttime | string | Y | 风险音频片段在音频中的起始时间,单位秒 |
audioEndtime | string | Y | 风险音频片段在音频中的结束时间,单位秒 |
audioModel | string | Y | 规则标识,命中的最高优先级规则标识(废弃字段,不建议使用 ) |
audioUrl | string | Y | 风险音频片段地址,MP3格式 |
audioText | string | Y | 音频片段转译的文本内容 |
riskLevel | string | Y | 识别结果,可能返回值: REVIEW:疑似违规内容 PASS:正常内容 |
businessLabels | json_array | N | 业务标签返回 详见businessLabels参数 |
riskType | int | N | 标识风险类型,可能取值: 100:涉政/国歌 110:暴恐 200:色情 210:辱骂 250:娇喘 260:一号领导声纹 270:人声属性 280:违禁歌曲 300:广告 400:灌水 500:无意义 520:未成年人 600:违禁 700:其他 720:黑账号 730:黑IP 800:高危账号 900:自定义 |
audioMatchedItem | string | N | 音频中可能出现的敏感词 |
matchedList | string | N | 命中敏感词所在的名单名称 |
matchedDetail | string | N | 命中所有名单详情 详见matchedDetail |
description | string | Y | 音频片段风险原因描述,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理 |
gender参数结构如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
label | string | Y | 性别标签名称,可能取值: 男性 女性 |
confidence | int | Y | 对应性别可能性大小,取值0-100,数值越高表示概率越大。 |
language数组中每一项具体参数如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
label | int | Y | 语种识别类别标识,可能取值: 0:普通话 1:英语 2:粤语 3:藏语 4:维语 5:蒙语 6:朝鲜语 -1:其他语种 |
confidence | int | Y | 对应语种标签可能性大小,取值0-100,数值越高表示概率越大。 |
tags数组中每一项具体参数如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
label | string | Y | 音色标签类别,可能取值: 大叔 青年 正太 老年 女王 御姐 少女 萝莉 大妈 男性 女性 无人声 |
confidence | int | Y | 对应音色标签可能性大小,取值0-100,数值越高表示概率越大。 |
auxInfo数组中每一项具体参数如下:
参数名称 | 类型 | 是否必返 | 说明 |
---|---|---|---|
errorCode | int | Y | 状态码 2003:音频下载失败 2007:无有效数据 |
tokenProfileLabels,tokenRiskLabels 数组中每一项具体参数如下:
参数名称 | 类型 | 是否必返 | 说明 |
---|---|---|---|
label1 | string | N | 一级标签 |
label2 | string | N | 二级标签 |
label3 | string | N | 三级标签 |
description | string | N | 账号标签描述,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理 |
timestamp | int | N | 打标签时间戳 13位Unix时间戳,单位:毫秒 |
参数名称 | 类型 | 是否必返 | 说明 |
---|---|---|---|
listId | string | N | 返回码 |
matchedFiled | string_array | N | 标识昵称或文本内容命中了敏感词(该参数仅在命中敏感词时存在),可选值: text:文本命中敏感词 nickname:昵称命中敏感词 |
name | string | N | 命中敏感词所在的名单名称 |
organization | string | N | 命中名单所属的公司标识,其中“GLOBAL”为全局名单 |
words | string_array | N | 命中的对应名单中的所有敏感词 |
wordPositions | json_array | N | 命中的对应名单中的所有敏感词及位置。详见wordPositions |
参数名称 | 类型 | 是否必返 | 说明 |
---|---|---|---|
word | string | N | 命中的敏感词 |
position | string | N | 敏感词所在位置 |
#
异步回调识别结果用户如果需要服务端主动对音频检测结果进行回调,则需要在请求参数中传入callback参数,服务端审核完成后将识别结果主动回调到该地址。
#
支持协议HTTP 或 HTTPS
#
字符编码格式请求使用 UTF-8 字符集进行编码
#
请求方法POST
#
建议超时时长5s
#
推送策略当用户收到推送结果,并返回 HTTP 状态码为200时,表示推送成功;否则系统将进行最多20次推送。
#
返回字段放在HTTP Body中,采用Json格式,具体参数如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
code | int | Y | 详见接口响应码列表 |
message | string | Y | 返回码详情描述 |
requestId | string | Y | 请求唯一标识 |
btId | string | Y | 音频唯一标识 |
audioText | string | Y | 音频转译文本结果 |
audioTime | int | N | 整段音频的音频时长,单位秒,code为1100时存在 |
labels | string | N | 音频片段风险原因汇总 |
riskLevel | string | N | 识别结果,可能返回值: PASS:正常内容 |
detail | json_array | N | 风险详情 |
gender | json_object | N | 性别标签与概率值 |
language | json_array | N | 语种标签与概率值列表 |
tags | json_array | N | 音色标签与概率值列表 |
callbackParam | json_object | Y | 客户传入的透传字段 |
auxInfo | json_object | N | 辅助信息 |
detail数组中每一项的具体参数如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
audioStarttime | int | Y | 风险音频片段在音频中的起始时间,单位秒 |
audioEndtime | int | Y | 风险音频片段在音频中的结束时间,单位秒 |
audioUrl | string | Y | 风险音频片段地址 |
audioText | string | Y | 音频片段对应的文本内容 |
riskLevel | string | Y | 识别结果,可能返回值: REVIEW:疑似违规内容 |
businessLabels | json_array | N | 业务标签返回 详见businessLabels参数 |
riskType | int | N | 标识风险类型,可能取值: 100:涉政/国歌 110:暴恐 200:色情 210:辱骂 250:娇喘 260:一号领导声纹 270:人声属性 280:违禁歌曲 300:广告 400:灌水 500:无意义 520:未成年人 600:违禁 700:其他 720:黑账号 730:黑IP 800:高危账号 900:自定义 |
audioMatchedItem | string | N | 音频中可能出现的敏感词 |
matchedList | string | N | 命中敏感词所在的名单名称 |
matchedDetail | string | N | 命中所有名单详情 详见matchedDetail |
description | string | Y | 风险原因描述,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理 |
gender参数结构如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
label | string | Y | 性别标签名称,可能取值: 男性 女性 |
confidence | int | Y | 对应性别可能性大小,取值0-100,数值越高表示概率越大。 |
businessLabels数组中每一项具体参数如下:
参数名 | 类型 | 是否必返 | 说明 |
---|---|---|---|
businessLabel1 | string | Y | 一级标签 |
businessLabel2 | string | Y | 二级标签 |
businessLabel3 | string | Y | 三级标签 |
businessDescription | string | Y | 格式为"一级标签:二级标签:三级标签"的中文名称 |
confidenceLevel | int | N | 可选值在0~2之间,值越大,可信度越高 |
probability | float | N | 可选值为0~1,值越大,可信度越高 |
businessDetail | json_object | N | 详细信息,保留字段 |
language数组中每一项具体参数如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
label | int | Y | 语种识别类别标识,可能取值: -1:其他语种 0:普通话 1:英语 2:粤语 3:藏语 4:维语 5:蒙语 6:朝鲜语 |
confidence | int | Y | 对应语种标签可能性大小,取值0-100,数值越高表示概率越大。 |
tags数组中每一项具体参数如下:
参数名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
label | string | Y | 音色标签类别,可能取值: 大叔音 青年音 正太音 老年音 女王音 御姐音 少女音 萝莉音 大妈音 |
confidence | int | Y | 对应音色标签可能性大小,取值0-100,数值越高表示概率越大。 |
auxInfo数组中每一项具体参数如下:
参数名称 | 类型 | 是否必返 | 说明 |
---|---|---|---|
errorCode | int | Y | 状态码 2003:音频下载失败 2007:无有效数据 |
参数名称 | 类型 | 是否必返 | 说明 |
---|---|---|---|
listId | string | N | 返回码 |
matchedFiled | string_array | N | 标识昵称或文本内容命中了敏感词(该参数仅在命中敏感词时存在),可选值: text:文本命中敏感词 nickname:昵称命中敏感词 |
name | string | N | 命中敏感词所在的名单名称 |
organization | string | N | 命中名单所属的公司标识,其中“GLOBAL”为全局名单 |
words | string_array | N | 命中的对应名单中的所有敏感词 |
wordPositions | json_array | N | 命中的对应名单中的所有敏感词及位置。详见wordPositions |
参数名称 | 类型 | 是否必返 | 说明 |
---|---|---|---|
word | string | N | 命中的敏感词 |
position | string | N | 敏感词所在位置 |
#
接口响应码列表code和message的列表如下:
code | message |
---|---|
1100 | 成功 |
1101 | 正在处理中 |
1901 | QPS超限 |
1902 | 参数不合法 |
1903 | 服务失败 |
1904 | 下载失败 |
1905 | 处理失败 |
9100 | 余额不足 |
9101 | 无权限操作 |