智能音频文件识别产品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:违禁歌曲 COPYRIGHTSONGS:版权歌曲 如需做组合识别,通过下划线连接即可,例 如 POLITY_EROTIC_MOAN用于涉政、色情和娇喘识别。 |
| businessType | string | N | 识别类型,可选值: SING:唱歌识别 LANGUAGE:语种识别 GENDER:性别识别 TIMBRE:音色标签 (需要同时传入GENDER才能生效) VOICE:人声属性 MINOR:未成年识别 AUDIOSCENE:声音场景 AGE:年龄识别 如需识别音色、唱歌、语种GENDER必传 type和 businessType 必须填其一 |
| translationTargetLang | string | N | 翻译目标语种,将输入的文本翻译成目标语种。如需开通使用请联系数美商务 可选值: zh:中文 en:英文 |
| 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至少提供一个 |
| retryUrl | string | N | 重试的音频文件地址,当url下的音频地址下载失败,使用retryUrl重试 |
| lang | string | N | 可选值如下,(默认值为zh): zh:中文 en:英文 ar:阿拉伯语 hi:印地语 es:西班牙语 fr:法语 ru:俄语 pt:葡萄牙语 id:印尼语 de:德语 ja:日语 tr:土耳其语 vi:越南语 it:意大利语 th:泰语 tl:菲律宾语 ko:韩语 ms:马来语 auto:自动语种识别(联系数美开通) 集群支持语种详见 请求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:广告 340:网络诈骗 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参数 |
| langResult | json_object | N | 语种信息。详见语种信息参数 |
| riskType | int | N | 标识风险类型,可能取值: 100:涉政/国歌 110:暴恐 200:色情 210:辱骂 250:娇喘 260:一号领导声纹 270:人声属性 280:违禁歌曲 300:广告 340:网络诈骗 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 | 敏感词所在位置 |
| 参数名称 | 类型 | 参数说明 | 是否必返 | 规范 |
|---|---|---|---|---|
| translatedText | string | 文本翻译结果 | N | 当传入translationTargetLang时返回的字段。值为翻译后的文本。 |
接口响应码列表#
code和message的列表如下:
| code | message |
|---|---|
| 1100 | 成功 |
| 1101 | 正在处理中 |
| 1901 | QPS超限 |
| 1902 | 参数不合法 |
| 1903 | 服务失败 |
| 1904 | 下载失败 |
| 1905 | 处理失败 |
| 9100 | 余额不足 |
| 9101 | 无权限操作 |
