智能音频文件识别产品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

音频格式限制#

WAVMP3AACAMR3GPM4AWMAOGGAPEFLACALACWAVPACKSILK_V3

请求体限制#

所有请求参数大小总和不能超过18M

请求参数#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称类型是否必选说明
accessKeystringY服务密匙,开通账号服务时由数美提供
typestringY

需要识别的违规类型,可选值:

AUDIOPOLITICAL:一号领导人声纹识别

POLITY:涉政识别

ANTHEN:国歌识别

EROTIC:色情

DIRTY: 辱骂识别

ADVERT:广告识别

BAN:违禁识别

VIOLENT:暴恐识别

ADLAW:广告法识别

MOAN:娇喘识别

BANEDAUDIO:违禁歌曲

如需做组合识别,通过下划线连接即可,例

如 POLITY_EROTIC_MOAN用于涉政、色情和娇喘识别。
建议传入:
POLITY_EROTIC_MOAN_ADVERT

businessTypestringN识别类型,可选值:
SING:唱歌识别
LANGUAGE:语种识别
GENDER:性别识别
TIMBRE:音色标签 (需要同时传入GENDER才能生效)
VOICE:人声属性
MINOR:未成年识别
AUDIOSCENE:声音场景
AGE:年龄识别
type和 businessType 必须填其一
appIdstringN需要联系数美开通,请以数美单独提供的传值为准
btIdstringY音频唯一标识,超过128位将被截断, 不能重复,否则提示参数错误。
datajson_objectY请求数据,最长1MB,详细内容参见下表
callbackstringN异步检测结果回调通知您的URL,支持HTTP和HTTPS。字段为空时,您必须通过查询接口主动查询结果。
callbackParamjson_objectN透传字段,当 callback 存在时可选,发送回调请求时服务将该字段内容同音频结果一起返回

data的内容如下:

参数名称类型是否必选说明
urlstringN待识别音频url地址,url和content至少提供一个
langstringN可选值如下,(默认值为zh):
zh:中文
en:英文
ar:阿拉伯语
hi:印地语
es:西班牙语
fr:法语
ru:俄语
pt:葡萄牙语
id:印尼语
de:德语
ja:日语
tr:土耳其语
vi:越南语
it:意大利语
th:泰语
tl:菲律宾语
ko:韩语
ms:马来语
集群支持语种详见 请求URL支持语种,除中文外其他语言类型为国际化
contentstringN待识别音频的base64编码数据(上限15M,仅支持pcm、wav、mp3), pcm格式数据必须采用16-bit小端序编码。推荐使用pcm、wav格式传输。url和content至少提供一个,同时存在时仅支持content
formatInfojson_objectN当content存在时必须存在,本地语音文件格式信息。json内具体格式见下方说明
(另外,如有其他特定音频格式的需求,在与数美沟通后,可传入该字段表示特殊解码逻辑)
audioNamestringN音频文件名称
tokenIdstringN用户账号标识
channelstringN业务场景名称,见渠道配置表
returnAllTextboolN取值为true时,返回所有音频片段识别结果(每10秒一个音频片段);取值为false时,返回风险片段(riskLevel为REJECT或REVIEW)识别结果。默认为false。
audioDetectStepintN间隔审核步长,取值范围为1-36整数,取1表示跳过一个10S的音频片段审核,取2表示跳过两个,以此类推,不使用该功能时音频内容全部过审。启用该功能时,建议开启returnAllText,采用每个片段的ASR识别结果。
receiveTokenIdstringN私聊场景下消息接收者的tokenId,由数字、字母、下划线、短杠组成的长度小于等于64位的字符串
nicknamestringN用户昵称
timestampintN时间戳(毫秒级)
roomstringN房间号
deviceIdstringN数美设备标识
dataIdstringN数据标识
ipstringN发送该音频的用户公网ip地址,支持传入IPV4或IPV6
levelintN可选值:
0:最低级用户,典型如新注册、完全不活跃或等级为0的用户等;
1:较低级用户,典型如低活跃或低等级用户等;
2:中等级用户,典型如具备一定活跃或等级中等的用户等;
3:较高级用户,典型如高活跃或高等级用户等;
4:最高级用户,典型如付费用户、VIP用户等
genderstringN用户性别,可选值:
male男性
female女性

formatInfo内容如下:

参数名称类型是否必选说明
formatstringY语音数据格式,仅支持(取值)pcm、wav、mp3、opus-gin,严格小写。
rateintN语音数据采样率,当语音数据格式为pcm时必须存在,范围限制8000-32000。
trackintN语音数据声道数,当语音数据格式为pcm时必须存在,支持单声道(取值1)或双声道(取值2)。

返回参数#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称类型是否必选说明
codeintY详见接口响应码列表
messagestringY返回码详情描述
requestIdstringY请求唯一标识
btIdstringY客户上传音频唯一标识,与请求参数中的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格式,具体参数如下:

参数名称类型是否必选说明
accessKeystringY服务密匙,开通账号服务时由数美提供
btIdstringY音频唯一标识,用于查询识别结果

返回参数#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称类型是否必选说明
codeintY详见接口响应码列表
messagestringY返回码详情描述
requestIdstringY请求唯一标识
btIdstringY音频唯一标识
audioTextstringY整段音频转译文本结果
audioTimeintN整段音频的音频时长,单位秒,code为1100时存在
labelsstringN音频识别结果标签
riskLevelstringN

识别结果,可能返回值:

PASS:正常内容
REVIEW:疑似违规内容
REJECT:违规内容

detailjson_arrayN风险详情
genderjson_objectN性别标签与概率值
isSingintN

表示该条音频文件是否唱歌,0表示没有唱歌,1表示唱歌。

仅当type传入值包含SING时返回。

languagejson_arrayN语种标签与概率值列表
tagsjson_arrayN音色标签与概率值列表
businessLabelsjson_arrayN业务标签返回(目前只支持MINOR,策略命中返回标签内容,否则为空,历史遗留字段,不建议使用)
auxInfojson_objectN辅助信息
tokenProfileLabelsjson_arrayN账号属性标签,仅在开启功能时返回
tokenRiskLabelsjson_arrayN账号风险标签,仅在开启功能时返回

detail数组中每一项的具体参数如下:

参数名称类型是否必选说明
requestIdstringY风险音频片段请求唯一标识
audioStarttimestringY风险音频片段在音频中的起始时间,单位秒
audioEndtimestringY风险音频片段在音频中的结束时间,单位秒
audioModelstringY规则标识,命中的最高优先级规则标识(废弃字段,不建议使用 )
audioUrlstringY风险音频片段地址,MP3格式
audioTextstringY音频片段转译的文本内容
riskLevelstringY

识别结果,可能返回值:
REJECT:违规内容

REVIEW:疑似违规内容

PASS:正常内容

businessLabelsjson_arrayN业务标签返回 详见businessLabels参数
riskTypeintN

标识风险类型,可能取值:
风险类型,静音时不返回,可能取值:
0:正常

100:涉政/国歌

110:暴恐

200:色情

210:辱骂

250:娇喘

260:一号领导声纹

270:人声属性

280:违禁歌曲

300:广告

400:灌水

500:无意义

520:未成年人

600:违禁

700:其他

720:黑账号

730:黑IP

800:高危账号

900:自定义

audioMatchedItemstringN音频中可能出现的敏感词
matchedListstringN命中敏感词所在的名单名称
matchedDetailstringN命中所有名单详情 详见matchedDetail
descriptionstringY音频片段风险原因描述,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理

gender参数结构如下:

参数名称类型是否必选说明
labelstringY

性别标签名称,可能取值:

男性

女性

confidenceintY对应性别可能性大小,取值0-100,数值越高表示概率越大。

language数组中每一项具体参数如下:

参数名称类型是否必选说明
labelintY

语种识别类别标识,可能取值:

0:普通话

1:英语

2:粤语

3:藏语

4:维语

5:蒙语

6:朝鲜语

-1:其他语种

confidenceintY对应语种标签可能性大小,取值0-100,数值越高表示概率越大。

tags数组中每一项具体参数如下:

参数名称类型是否必选说明
labelstringY

音色标签类别,可能取值:

大叔

青年

正太

老年

女王

御姐

少女

萝莉

大妈

男性

女性

无人声

confidenceintY对应音色标签可能性大小,取值0-100,数值越高表示概率越大。

auxInfo数组中每一项具体参数如下:

参数名称类型是否必返说明
errorCodeintY

状态码

2003:音频下载失败

2007:无有效数据

tokenProfileLabels,tokenRiskLabels 数组中每一项具体参数如下:

参数名称类型是否必返说明
label1stringN一级标签
label2stringN二级标签
label3stringN三级标签
descriptionstringN账号标签描述,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
timestampintN打标签时间戳 13位Unix时间戳,单位:毫秒
其中,matchedDetail内容:
参数名称类型是否必返说明
listIdstringN返回码
matchedFiledstring_arrayN标识昵称或文本内容命中了敏感词(该参数仅在命中敏感词时存在),可选值: text:文本命中敏感词 nickname:昵称命中敏感词
namestringN命中敏感词所在的名单名称
organizationstringN命中名单所属的公司标识,其中“GLOBAL”为全局名单
wordsstring_arrayN命中的对应名单中的所有敏感词
wordPositionsjson_arrayN命中的对应名单中的所有敏感词及位置。详见wordPositions
wordPositions中的每一项内容:
参数名称类型是否必返说明
wordstringN命中的敏感词
positionstringN敏感词所在位置

异步回调识别结果#

用户如果需要服务端主动对音频检测结果进行回调,则需要在请求参数中传入callback参数,服务端审核完成后将识别结果主动回调到该地址。

支持协议#

HTTP 或 HTTPS

字符编码格式#

请求使用 UTF-8 字符集进行编码

请求方法#

POST

建议超时时长#

5s

推送策略#

当用户收到推送结果,并返回 HTTP 状态码为200时,表示推送成功;否则系统将进行最多20次推送。

返回字段#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称类型是否必选说明
codeintY详见接口响应码列表
messagestringY返回码详情描述
requestIdstringY请求唯一标识
btIdstringY音频唯一标识
audioTextstringY音频转译文本结果
audioTimeintN整段音频的音频时长,单位秒,code为1100时存在
labelsstringN音频片段风险原因汇总
riskLevelstringN

识别结果,可能返回值:

PASS:正常内容
REVIEW:疑似违规内容
REJECT:违规内容

detailjson_arrayN风险详情
genderjson_objectN性别标签与概率值
languagejson_arrayN语种标签与概率值列表
tagsjson_arrayN音色标签与概率值列表
callbackParamjson_objectY客户传入的透传字段
auxInfojson_objectN辅助信息

detail数组中每一项的具体参数如下:

参数名称类型是否必选说明
audioStarttimeintY风险音频片段在音频中的起始时间,单位秒
audioEndtimeintY风险音频片段在音频中的结束时间,单位秒
audioUrlstringY风险音频片段地址
audioTextstringY音频片段对应的文本内容
riskLevelstringY

识别结果,可能返回值:
REJECT:违规内容

REVIEW:疑似违规内容

businessLabelsjson_arrayN业务标签返回 详见businessLabels参数
riskTypeintN

标识风险类型,可能取值:
风险类型,静音时不返回,可能取值:
0:正常

100:涉政/国歌

110:暴恐

200:色情

210:辱骂

250:娇喘

260:一号领导声纹

270:人声属性

280:违禁歌曲

300:广告

400:灌水

500:无意义

520:未成年人

600:违禁

700:其他

720:黑账号

730:黑IP

800:高危账号

900:自定义

audioMatchedItemstringN音频中可能出现的敏感词
matchedListstringN命中敏感词所在的名单名称
matchedDetailstringN命中所有名单详情 详见matchedDetail
descriptionstringY风险原因描述,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理

gender参数结构如下:

参数名称类型是否必选说明
labelstringY

性别标签名称,可能取值:

男性

女性

confidenceintY对应性别可能性大小,取值0-100,数值越高表示概率越大。

businessLabels数组中每一项具体参数如下:

参数名类型是否必返说明
businessLabel1stringY一级标签
businessLabel2stringY二级标签
businessLabel3stringY三级标签
businessDescriptionstringY格式为"一级标签:二级标签:三级标签"的中文名称
confidenceLevelintN可选值在0~2之间,值越大,可信度越高
probabilityfloatN可选值为0~1,值越大,可信度越高
businessDetailjson_objectN详细信息,保留字段

language数组中每一项具体参数如下:

参数名称类型是否必选说明
labelintY

语种识别类别标识,可能取值:

-1:其他语种

0:普通话

1:英语

2:粤语

3:藏语

4:维语

5:蒙语

6:朝鲜语

confidenceintY对应语种标签可能性大小,取值0-100,数值越高表示概率越大。

tags数组中每一项具体参数如下:

参数名称类型是否必选说明
labelstringY

音色标签类别,可能取值:

大叔音

青年音

正太音

老年音

女王音

御姐音

少女音

萝莉音

大妈音

confidenceintY对应音色标签可能性大小,取值0-100,数值越高表示概率越大。

auxInfo数组中每一项具体参数如下:

参数名称类型是否必返说明
errorCodeintY

状态码

2003:音频下载失败

2007:无有效数据

其中,matchedDetail内容:
参数名称类型是否必返说明
listIdstringN返回码
matchedFiledstring_arrayN标识昵称或文本内容命中了敏感词(该参数仅在命中敏感词时存在),可选值: text:文本命中敏感词 nickname:昵称命中敏感词
namestringN命中敏感词所在的名单名称
organizationstringN命中名单所属的公司标识,其中“GLOBAL”为全局名单
wordsstring_arrayN命中的对应名单中的所有敏感词
wordPositionsjson_arrayN命中的对应名单中的所有敏感词及位置。详见wordPositions
wordPositions中的每一项内容:
参数名称类型是否必返说明
wordstringN命中的敏感词
positionstringN敏感词所在位置

接口响应码列表#

code和message的列表如下:

codemessage
1100成功
1101正在处理中
1901QPS超限
1902参数不合法
1903服务失败
1904下载失败
1905处理失败
9100余额不足
9101无权限操作

示例#

上传接口请求示例#

上传url音频数据请求示例#

{
"accessKey":"****************",
"type": "DEFAULT",
"appId": "default",
"btId": "test01",
"data": {
"tokenId": "test_01",
"url": "http://xxxxxxxx.mp3",
"channel": "IM_MESSAGE",
"returnAllText": true
},
"callback": "http://xxxxxxxxx",
"callbackParam": {
" param1": 1,
" param2": "qew",
" param3": true
}
}

上传base64音频数据请求示例#

{
"accessKey": "****************",
"type": "DEFAULT",
"appId": "default",
"btId": "test01",
"data": {
"content": "音频base64编码数据",
"formatInfo": {
"format": "pcm",
"rate": 16000,
"track": 1
},
"channel": "IM_MESSAGE",
"tokenId": "asdwef",
"returnAllText": true,
},
"callback": "http://xxxxxx",
"callbackParam": {
"param1": 1,
"param2": "qew",
"param3": true
}
}

上传接口返回示例#

{
"code":1100,
"message":"成功",
"requestId":" XXXXXXXXXXXX",
"btId":"XXXXXXX"
}

主动查询请求示例#

{
"accessKey":"*************",
"btId":"xxxx"
}

主动查询返回示例#

{
"code": 1100,
"message": "成功",
"requestId": "b891cf2d82e214de45df33fc2bea4875",
"btId": "xxxx",
"riskLevel": "REJECT",
"audioText": "法轮大法好",
"labels": "涉政-音频",
"detail": [
{
"audioStarttime": 10,
"audioEndtime": 20,
"audioUrl": "<http://xxxxxxxx.>wav ",
"audioText": "法轮大法好",
"riskLevel": "REJECT",
"businessLabels":[
{
"businessDescription":"语种:其他语种:其他语种",
"businessDetail":{
},
"businessLabel1":"language",
"businessLabel2":"Languageother",
"businessLabel3":"Languageother",
"confidenceLevel":2,
"probability":0.854025190610373
}
],
"audioMatchedItem": "法轮",
"riskType": 100,
"description": "涉政-音频"
}
],
"tags": [
{
"label": "男性",
"confidence": 90
},
{
"label": "大叔音",
"confidence": 91
},
{
"label": "正太音",
"confidence": 21
},
{
"label": "老年音",
"confidence": 11
},
{
"label": "青年音",
"confidence": 31
}
]
}

在线咨询