智能音频文件识别产品API文档#

异步接口#

请求URL#

集群URL支持语种
上海http://api-audio-sh.fengkongcloud.com/audio/v4中文、阿拉伯语
硅谷http://api-audio-gg.fengkongcloud.com/audio/v4中文、英文、阿拉伯语
新加坡http://api-audio-xjp.fengkongcloud.com/audio/v4中文、英文、阿拉伯语

字符编码#

UTF-8

请求方法#

POST

建议超时时长#

1s

音频格式限制#

WAVMP3AACAMR3GPM4AWMAOGGAPEFLACALACWAVPACKSILK_V3

请求体限制#

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

请求参数#

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

请求参数名类型参数说明传入说明规范
accessKeystring公司密钥必传参数由数美提供
appIdstring应用标识必传参数用于区分应用,需要联系数美服务开通,请使用数美单独提供的传值为准
eventIdstring事件标识必传参数用于区分场景数据,需要联系数美服务开通,请使用数美单独提供的传值为准
typestring检测的风险类型businesstype和type必传其一

AUDIOPOLITICAL:一号领导人声纹识别

POLITY:涉政识别

EROTIC:色情识别

ADVERT:广告识别

ADLAW:广告法识别

BAN:违禁识别

VIOLENT:暴恐识别

ANTHEN:国歌识别

MOAN:娇喘识别

DIRTY:辱骂识别

BANEDAUDIO:违禁歌曲

如需做组合识别,通过下划线连接即可,例如POLITY_EROTIC_MOAN涉政、色情和娇喘识别

建议传入:
POLITY_EROTIC_MOAN_ADVERT

businessTypestring检测的业务标签类型businesstype和type必传其一可选值:
SING:唱歌识别
LANGUAGE:语种识别
GENDER:性别识别
TIMBRE:音色识别
VOICE:人声属性
MINOR:未成年识别
AUDIOSCENE:声音场景
AGE:年龄识别
如需识别音色、唱歌、语种GENDER必传
type和 businessType 必须填其一
contentTypestring待识别音频内容的格式必传参数

可选值:

URL:识别内容为音频url地址;

RAW:识别内容为音频的base64编码数据

contentstring待识别的音频内容必传参数

可以为url地址或者base64编码数据。

其中,base64编码数据上限15M,仅支持pcm、wav、mp3格式, 并且pcm格式数据必须采用16-bit小端序编码。推荐使用pcm、wav格式传输

datajson object本次请求相关信息必传参数最长1MB,详见data参数
btIdstring音频文件唯一标识必传参数唯一标识这条音频文件,方便将回调结果对应上,超过128位将被截断,不能重复
callbackstring回调http接口非必传参数当该字段非空时,服务将根据该字段回调通知用户审核结果
acceptLangstring返回标签的语种类型非必传参数选择返回标签的语种类型
可选值:
zh:中文
en:英文
不传入默认为返回中文标签

其中,data的内容如下:

请求参数名类型参数说明传入说明规范
tokenIdstring用户账号非必传参数用于用户行为分析,建议传入用户UID
formatInfostring音频数据格式非必传参数当音频内容格式为RAW时必须存在,可选值:pcm、wav、mp3
rateint音频数据采样率非必传参数当音频数据格式为pcm时必须存在,范围限制8000-32000。
trackint音频数据声道数非必传参数

当音频数据格式为pcm时必须存在,可选值:

1: 单声道

2: 双声道

returnAllTextint返回音频片段的等级非必传参数可选值如下(默认为0):
0:返回风险片段识别结果
1:返回所有片段识别结果
该参数仅用于控制片段识别结果的返回, 不影响整体识别结果的返回。
当选择“返回所有片段识别结果”时,片段识别结果中包含riskLevel为PASS、REVIEW和REJECT的片段识别结果;
当选择“返回风险片段识别结果”时,片段识别结果中仅包含riskLevel为REVIEW和REJECT的片段识别结果;
片段识别结果对应回调或者查询响应中的audioDetail字段。
audioDetectStepint间隔审核步长非必传参数间隔审核步长,取值范围为1-36整数,取1表示跳过一个10S的音频片段审核,取2表示跳过两个,以此类推,不使用该功能时音频内容全部过审。启用该功能时,建议开启returnAllText,采用每个片段的ASR识别结果。
receiveTokenIdstring私聊场景下消息接收者的tokenIdN由数字、字母、下划线、短杠组成的长度小于等于64位的字符串
langstring音频语言类型非必传参数可选值如下,(默认值为zh):
zh:中文
en:英文
ar:阿拉伯语
hi:印地语
es:西班牙语
fr:法语
ru:俄语
pt:葡萄牙语
id:印尼语
de:德语
ja:日语
tr:土耳其语
vi:越南语
it:意大利语
th:泰语
tl:菲律宾语
ko:韩语
ms:马来语
deviceIdstring数美设备指纹标识非必传参数数美设备指纹生成的设备唯一标识
roomstring房间号非必传参数房间号,建议传入
dataIdstring数据标识非必填参数数据标识
ipstringipv4或ipv6地址非必传参数发送该音频的用户公网ip地址
levelint用户等级,针对不同等级的用户可配置不同拦截策略非必传参数可选值:
0:最低级用户,典型如新注册、完全不活跃或等级为0的用户等;
1:较低级用户,典型如低活跃或低等级用户等;
2:中等级用户,典型如具备一定活跃或等级中等的用户等;
3:较高级用户,典型如高活跃或高等级用户等;
4:最高级用户,典型如付费用户、VIP用户等
genderstring用户性别非必传参数可选值:
male男性
female女性
extrajson object辅助参数非必传参数详见extra参数
data中,extra的内容如下:
请求参数名类型参数说明是否必传规范
passThroughjson_object透传字段N透传字段,该字段下所有内容会通过回调返回。

返回参数#

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

返回结果参数名参数类型参数说明是否必返规范
requestIdstring请求的唯一标识
codeint请求返回码

1100:成功

1901:QPS超限

1902:参数不合法

1903:服务失败

1904:下载失败

1905:解码失败

9101:无权限操作

messagestring请求返回描述,和请求返回码对应
btIdstring音频唯一标识code为1100情况下返回

主动查询结果#

请求URL#

集群URL支持语种
上海http://api-audio-sh.fengkongcloud.com/query_audio/v4中文
硅谷http://api-audio-gg.fengkongcloud.com/query_audio/v4中文、英文、阿拉伯语
新加坡http://api-audio-xjp.fengkongcloud.com/query_audio/v4中文、英文、阿拉伯语

字符编码#

UTF-8

请求方法#

POST

建议超时时长#

1s

请求参数#

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

请求参数名类型参数说明传入说明规范
accessKeystring公司密钥必传参数由数美提供
btIdstring音频文件唯一标识必传参数唯一标识这条音频文件,用于查询识别结果

返回参数#

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

参数名类型参数说明是否必返规范
requestIdstring本次请求的唯一标识
btIdstring音频唯一标识
codeint请求返回码

1100:成功

1101:正在处理中

1901:QPS超限

1902:参数不合法

1903:服务失败

1904:下载失败

1905:解码失败

9100:余额不足

9101:无权限操作

除message和requestId之外的字段,只有当code为1100时才会存在

messagestring请求返回描述,和请求返回码对应
riskLevelstring当前事件的处置建议

可能返回值:
PASS:通过

REVIEW:审核

REJECT:拒绝

建议:对接初期不直接使用结果,进行拦截尺度调优,符合预期后在进行使用

audioTextstring整段音频转译文本结果
audioTimeint整段音频的音频时长单位秒
audioDetailjson_array音频片段信息回调的音频片段信息,详见audioDetail参数
audioTagsjson_object音频标签返回性别、音色、是否唱歌等标签。历史兼容字段,建议直接使用businessLabels
requestParamsjson_object透传字段返回data下所有字段
auxInfojson_object辅助信息
audioDetail内每个元素的内容如下:
参数名类型参数说明是否必返规范
audioStarttimefloat音频片段起始时间相对音频开始的时间距离,单位是秒
audioEndtimefloat音频片段结束时间相对音频开始的时间距离,单位是秒
audioUrlstring音频片段链接mp3格式
riskLevelstring音频片段识别结果

可能返回值:
PASS:通过

REVIEW:审核

REJECT:拒绝

businessLabelsjson_array业务标签返回全部业务标签,详见businessLabels参数
allLabelsjson_array风险标签返回全部风险标签,详见allLabels参数
riskLabel1string一级风险标签
riskLabel2string二级风险标签
riskLabel3string三级风险标签
riskDescriptionstring风险原因仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
riskDetailjson_object风险详情详见riskDetail参数

其中,riskDetail详细内容如下:

参数名类型参数说明是否必返规范
audioTextstring音频转译文本的结果
matchedListsjson_array命中的客户自定义名单信息命中客户自定义名单时返回,详见matchedLists参数
riskSegmentsjson_array高风险内容片段在涉政、暴恐、违禁、竞品、广告法等功能的时候存在,详见riskSegments参数

riskDetail中,matchedLists详细内容如下:

参数名类型参数说明是否必返规范
namestring客户自定义名单名称
wordsjson_array命中的这个名单中的敏感词信息详见words参数

matchedLists中,words详细内容如下:

参数名类型参数说明是否必返规范
wordstring敏感词
positionint_array敏感词所在位置

riskDetail中,riskSegments详细内容如下:

参数名类型参数说明是否必返规范
segmentstring高风险内容片段
positionint_array高风险内容片段所在位置

其中,audioTags详细内容如下:

参数名类型参数说明是否必返规范
genderjson_object性别标签当type取值包含GENDER时返回
timbrejson_array音色标签当type取值包含TIMBRE时返回
songint唱歌标签

当type取值包含SING时返回

可能取值:

0:没有唱歌

1:有唱歌

languagejson_object语种识别type取值包含LANGUAGE时返回

audioTags中,gender详细内容如下:

参数名类型参数说明是否必返规范
labelstring性别标签名称

可能取值:

男性

女性

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

audioTags中,timbre详细内容如下:

参数名类型参数说明是否必返规范
labelstring音色标签类别

可能取值:

大叔

青年

正太

老年

女王

御姐

少女

萝莉

大妈

男性

女性

无人声

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

audioTags中,language详细内容如下:

参数名类型参数说明是否必返规范
labelint语种识别类别标识

可能取值:

0:普通话

1:英语

2:粤语

3:藏语

4:维语

5:蒙语

6:朝鲜语

-1:其他语种

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

其中,auxInfo详细内容如下:

参数名类型参数说明是否必返规范
errorCodeint状态码

状态码

2003:音频下载失败

2007:无有效数据

异步回调结果#

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

支持协议#

HTTP 或 HTTPS

字符编码格式#

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

请求方法#

POST

建议超时时长#

5s

推送策略#

当用户收到推送结果,并返回 HTTP 状态码为200时,表示推送成功;否则系统将进行最多12次推送,第一次失败会等待5秒,第二次失败会等待10秒.....逐渐递增至60秒

回调参数#

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

参数名类型参数说明是否必返规范
requestIdstring本次请求的唯一标识
btIdstring音频唯一标识
codeint请求返回码

1100:成功

1901:QPS超限

1902:参数不合法

1903:服务失败

1904:下载失败

1905:解码失败

9101:无权限操作

除message和requestId之外的字段,只有当code为1100时才会存在

messagestring请求返回描述,和请求返回码对应
riskLevelstring当前事件的处置建议

可能返回值:
PASS:通过

REVIEW:审核

REJECT:拒绝

建议:对接初期不直接使用结果,进行拦截尺度调优,符合预期后在进行使用

audioTextstring整段音频转译文本结果
audioTimeint整段音频的音频时长单位秒
audioDetailjson_array音频片段信息回调的音频片段信息,详见audioDetail参数
audioTagsjson_object音频标签返回性别、音色、是否唱歌等标签
requestParamsjson_object透传字段返回data下所有字段
businessLabelsjson_array业务标签返回返回业务标签内容(目前只支持MINOR,策略命中返回标签内容,否则为空,历史字段不建议使用)
auxInfojson_object辅助信息
tokenProfileLabelsjson_array账号属性标签仅在开启功能时返回
tokenRiskLabelsjson_array账号风险标签仅在开启功能时返回

其中,audioDetail详细内容如下:

参数名类型参数说明是否必返规范
requestIdstring音频片段请求唯一标识
audioStarttimefloat音频片段起始时间相对音频开始的时间距离,单位是秒
audioEndtimefloat音频片段结束时间相对音频开始的时间距离,单位是秒
audioUrlstring音频片段链接mp3格式
riskLevelstring音频片段识别结果

可能返回值:
PASS:通过

REVIEW:审核

REJECT:拒绝

businessLabelsjson_array业务标签返回全部业务标签,详见businessLabels参数
allLabelsjson_array风险标签返回全部风险标签,详见allLabels参数
riskLabel1string一级风险标签
riskLabel2string二级风险标签
riskLabel3string三级风险标签
riskDescriptionstring风险原因仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
riskDetailjson_object风险详情详见riskDetail参数

其中,riskDetail详细内容如下:

参数名类型参数说明是否必返规范
audioTextstring音频转译文本的结果
matchedListsjson_array命中的客户自定义名单信息命中客户自定义名单时返回,详见matchedLists参数
riskSegmentsjson_array高风险内容片段在涉政、暴恐、违禁、竞品、广告法等功能的时候存在,详见riskSegments参数

riskDetail中,matchedLists详细内容如下:

参数名类型参数说明是否必返规范
namestring客户自定义名单名称
wordsjson_array命中的这个名单中的敏感词信息详见words参数

matchedLists中,words详细内容如下:

参数名类型参数说明是否必返规范
wordstring敏感词
positionint_array敏感词所在位置

riskDetail中,riskSegments详细内容如下:

参数名类型参数说明是否必返规范
segmentstring高风险内容片段
positionint_array高风险内容片段所在位置

其中,audioTags详细内容如下:

参数名类型参数说明是否必返规范
genderjson_object性别标签当type取值包含GENDER时返回
timbrejson_array音色标签当type取值包含TIMBRE时返回
songint唱歌标签

当type取值包含SING时返回

可能取值:

0:没有唱歌

1:有唱歌

languagejson_object语种识别type取值包含LANGUAGE时返回

audioTags中,gender详细内容如下:

参数名类型参数说明是否必返规范
labelstring性别标签名称

可能取值:

男性

女性

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

audioTags中,timbre详细内容如下:

参数名类型参数说明是否必返规范
labelstring音色标签类别

可能取值:

大叔

青年

正太

老年

女王

御姐

少女

萝莉

大妈

男性

女性

无人声

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

audioTags中,language详细内容如下:

参数名类型参数说明是否必返规范
labelint语种识别类别标识

可能取值:

0:普通话

1:英语

2:粤语

3:藏语

4:维语

5:蒙语

6:朝鲜语

-1:其他语种

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

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

参数名类型参数说明是否必返规范
businessLabel1string一级标签一级标签
businessLabel2string二级标签二级标签
businessLabel3string三级标签三级标签
businessDescriptionstring标签描述格式为"一级标签:二级标签:三级标签"的中文名称
confidenceLevelint置信等级可选值在0~2之间,值越大,可信度越高
probabilityfloat置信度可选值为0~1,值越大,可信度越高
businessDetailjson_object详细信息保留字段

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

参数名类型参数说明是否必返规范
riskLabel1string一级风险标签一级风险标签
riskLabel2string二级风险标签二级风险标签
riskLabel3string三级风险标签三级风险标签
riskDescriptionstring风险原因风险原因,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
riskLevelstring处置建议可能返回值: PASS:通过REVIEW:审核REJECT:拒绝
probabilityfloat置信度可选值在0~1之间,值越大,风险可能性越高,值越小,无风险可能性越高
riskDetailjson_object风险详情详见riskDetail参数

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

参数名称类型参数说明是否必返说明
label1string一级标签
label2string二级标签
label3string三级标签
descriptionstring标签描述账号标签描述,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
timestampint打标签时间戳13位Unix时间戳,单位:毫秒

其中,auxInfo详细内容如下:

参数名类型参数说明是否必返规范
errorCodeint状态码

状态码

2003:音频下载失败

2007:无有效数据

示例#

上传请求示例#

curl -v 'http://api-audio-bj.fengkongcloud.com/audio/v4' -d '{
"accessKey": "*************",
"appId": "default",
"eventId": "default",
"type": "POLITY_EROTIC_ADVERT_MOAN",
"businessType":"GENDER_TIMBRE_SING_LANGUAGE",
"btId": "test1",
"contentType": "URL",
"content": "*************",
"callback": "*************",
"data": {
"returnAllText": 1,
"tokenId": "token-short"
}
}
}'

同步返回示例#

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

主动查询结果请求示例#

curl -v 'http://api-audio-bj.fengkongcloud.com/query_audio/v4' -d '{
"accessKey": "*************",
"btId": "*************"
}'

主动查询结果返回示例#

{
"requestId": "6a9cb980346dfea41111656a514e9109",
"btId": "1604311839040",
"code": 1100,
"message": "正常",
"riskLevel": "PASS",
"audioDetail": [
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0000",
"audioStarttime": 0,
"audioEndtime": 10,
"audioUrl": "https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0000.mp3",
"businessLabels":[
{
"businessDescription":"唱歌:唱歌:唱歌",
"businessLabel1":"sing",
"businessLabel2":"changge",
"businessLabel3":"changge",
"confidenceLevel":2,
"probability":0.858334402569294
}
],
"allLabels":[],
"riskLevel": "PASS",
"riskLabel1": "normal",
"riskLabel2": "",
"riskLabel3": "",
"riskDescription": "正常",
"riskDetail": {
"audioText": ""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0001",
"audioStarttime": 10,
"audioEndtime": 20,
"audioUrl": "https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0001.mp3",
"riskLevel": "PASS",
"riskLabel1": "normal",
"riskLabel2": "",
"riskLabel3": "",
"riskDescription": "正常",
"riskDetail": {
"audioText": ""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0002",
"audioStarttime": 20,
"audioEndtime": 30,
"audioUrl": "https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0002.mp3",
"riskLevel": "PASS",
"riskLabel1": "normal",
"riskLabel2": "",
"riskLabel3": "",
"riskDescription": "正常",
"riskDetail": {
"audioText": ""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0003",
"audioStarttime": 30,
"audioEndtime": 40,
"audioUrl": "https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0003.mp3",
"riskLevel": "PASS",
"riskLabel1": "normal",
"riskLabel2": "",
"riskLabel3": "",
"riskDescription": "正常",
"riskDetail": {
"audioText": ""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0004",
"audioStarttime": 40,
"audioEndtime": 50,
"audioUrl": "https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0004.mp3",
"riskLevel": "PASS",
"riskLabel1": "normal",
"riskLabel2": "",
"riskLabel3": "",
"riskDescription": "正常",
"riskDetail": {
"audioText": ""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0005",
"audioStarttime": 50,
"audioEndtime": 60,
"audioUrl": "https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0005.mp3",
"riskLevel": "PASS",
"riskLabel1": "normal",
"riskLabel2": "",
"riskLabel3": "",
"riskDescription": "正常",
"riskDetail": {
"audioText": ""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0006",
"audioStarttime": 60,
"audioEndtime": 60,
"audioUrl": "https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0006.mp3",
"riskLevel": "PASS",
"riskLabel1": "normal",
"riskLabel2": "",
"riskLabel3": "",
"riskDescription": "正常"
}
],
"audioTags": {
"gender": {
"label": "女性",
"probability": 95
},
"language": [
{
"confidence": 0,
"label": 2
},
{
"confidence": 99,
"label": 0
},
{
"confidence": 0,
"label": 1
}
],
"song": 0,
"timbre": [
{
"label": "女性",
"probability": 95
},
{
"label": "女王",
"probability": 12
},
{
"label": "御姐",
"probability": 37
},
{
"label": "少女",
"probability": 56
},
{
"label": "大妈",
"probability": 67
},
{
"label": "萝莉",
"probability": 24
}
]
}
}

回调返回示例#

{
"requestId":"6a9cb980346dfea41111656a514e9109",
"btId":"1604311839040",
"code":1100,
"message":"正常",
"riskLevel":"PASS",
"audioDetail":[
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0000",
"audioStarttime":0,
"audioEndtime":10,
"audioUrl":"https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0000.mp3",
"businessLabels":[
{
"businessDescription":"唱歌:唱歌:唱歌",
"businessDetail":{
},
"businessLabel1":"sing",
"businessLabel2":"changge",
"businessLabel3":"changge",
"confidenceLevel":2,
"probability":0.858334402569294
}
],
"allLabels":[],
"riskLevel":"PASS",
"riskLabel1":"normal",
"riskLabel2":"",
"riskLabel3":"",
"riskDescription":"正常",
"riskDetail":{
"audioText":""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0001",
"audioStarttime":10,
"audioEndtime":20,
"audioUrl":"https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0001.mp3",
"riskLevel":"PASS",
"riskLabel1":"normal",
"riskLabel2":"",
"riskLabel3":"",
"riskDescription":"正常",
"riskDetail":{
"audioText":""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0002",
"audioStarttime":20,
"audioEndtime":30,
"audioUrl":"https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0002.mp3",
"riskLevel":"PASS",
"riskLabel1":"normal",
"riskLabel2":"",
"riskLabel3":"",
"riskDescription":"正常",
"riskDetail":{
"audioText":""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0003",
"audioStarttime":30,
"audioEndtime":40,
"audioUrl":"https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0003.mp3",
"riskLevel":"PASS",
"riskLabel1":"normal",
"riskLabel2":"",
"riskLabel3":"",
"riskDescription":"正常",
"riskDetail":{
"audioText":""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0004",
"audioStarttime":40,
"audioEndtime":50,
"audioUrl":"https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0004.mp3",
"riskLevel":"PASS",
"riskLabel1":"normal",
"riskLabel2":"",
"riskLabel3":"",
"riskDescription":"正常",
"riskDetail":{
"audioText":""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0005",
"audioStarttime":50,
"audioEndtime":60,
"audioUrl":"https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0005.mp3",
"riskLevel":"PASS",
"riskLabel1":"normal",
"riskLabel2":"",
"riskLabel3":"",
"riskDescription":"正常",
"riskDetail":{
"audioText":""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0006",
"audioStarttime":60,
"audioEndtime":60,
"audioUrl":"https://voice-bj-1251671073.cos.ap-beijing.myqcloud.com/20201102/6a9cb980346dfea41111656a514e9109_a0006.mp3",
"riskLevel":"PASS",
"riskLabel1":"normal",
"riskLabel2":"",
"riskLabel3":"",
"riskDescription":"正常"
}
],
"audioTags":{
"gender":{
"label":"女性",
"probability":95
},
"language":[
{
"confidence":0,
"label":2
},
{
"confidence":99,
"label":0
},
{
"confidence":0,
"label":1
}
],
"song":0,
"timbre":[
{
"label":"女性",
"probability":95
},
{
"label":"女王",
"probability":12
},
{
"label":"御姐",
"probability":37
},
{
"label":"少女",
"probability":56
},
{
"label":"大妈",
"probability":67
},
{
"label":"萝莉",
"probability":24
}
]
}
}

同步接口#

请求URL#

集群URL支持语种
上海http://api-audio-sh.fengkongcloud.com/audiomessage/v4中文

字符编码#

UTF-8

请求方法#

POST

建议超时时长#

10s

音频格式限制#

WAVMP3AACAMR3GPM4AWMAOGGAPEFLACALACWAVPACKSILK_V3

音频时长限制#

同步请求单条语音时长不长于60秒,否则报错,如需要审核超过60秒的语音数据,请使用异步接口

请求体限制#

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

请求参数#

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

请求参数名类型参数说明传入说明规范
accessKeystring公司密钥必传参数由数美提供
appIdstring应用标识必传参数用于区分应用,需要联系数美服务开通,请使用数美单独提供的传值为准
eventIdstring事件标识必传参数用于区分场景数据,需要联系数美服务开通,请使用数美单独提供的传值为准
typestring检测的风险类型必传参数

AUDIOPOLITICAL:一号领导人声纹识别

POLITY:涉政识别

EROTIC:色情识别

ADVERT:广告识别

BAN:违禁识别

VIOLENT:暴恐识别

ANTHEN:国歌识别

MOAN:娇喘识别

DIRTY:辱骂识别

BANEDAUDIO:违禁歌曲

如需做组合识别,通过下划线连接即可,例如POLITY_EROTIC_MOAN涉政、色情和娇喘识别

建议传入:
POLITY_EROTIC_MOAN_ADVERT

businessTypestring检测的业务标签类型businesstype和type必传其一可选值:
SING:唱歌识别
LANGUAGE:语种识别
GENDER:性别识别
TIMBRE:音色识别
VOICE:人声属性
MINOR:未成年识别
AUDIOSCENE:声音场景
AGE:年龄识别
如需识别音色、唱歌、语种GENDER必传
type和 businessType 必须填其一
contentTypestring待识别音频内容的格式必传参数

可选值:

URL:识别内容为音频url地址;

RAW:识别内容为音频的base64编码数据

contentstring待识别的音频内容必传参数

可以为url地址或者base64编码数据。

其中,base64编码数据上限15M,仅支持pcm、wav、mp3格式, 并且pcm格式数据必须采用16-bit小端序编码。推荐使用pcm、wav格式传输

datajson object本次请求相关信息必传参数最长1MB,详见data参数
btIdstring音频文件唯一标识必传参数唯一标识这条音频文件,方便将回调结果对应上,最高128位,不能重复

其中,data的内容如下:

请求参数名类型参数说明传入说明规范
tokenIdstring用户账号非必传参数用于用户行为分析,建议传入用户UID
receiveTokenIdstring私聊场景下消息接收者的tokenId非必传参数由数字、字母、下划线、短杠组成的长度小于等于64位的字符串
deviceIdstring数美设备标识非必传参数
ipstring发送该音频的用户公网ip地址非必传参数支持传入IPV4或IPV6
levelint用户等级,针对不同等级的用户可配置不同拦截策略非必传参数可选值:
0:最低级用户,典型如新注册、完全不活跃或等级为0的用户等;
1:较低级用户,典型如低活跃或低等级用户等;
2:中等级用户,典型如具备一定活跃或等级中等的用户等;
3:较高级用户,典型如高活跃或高等级用户等;
4:最高级用户,典型如付费用户、VIP用户等
genderstring用户性别非必传参数可选值:
male男性
female女性
formatInfostring音频数据格式非必传参数当音频内容格式为RAW时必须存在,可选值:pcm、wav、mp3、opus-gin
rateint音频数据采样率非必传参数当音频数据格式为pcm时必须存在,范围限制8000-32000。
trackint音频数据声道数非必传参数

当音频数据格式为pcm时必须存在,可选值:

1: 单声道

2: 双声道

returnAllTextint返回音频片段的等级非必传参数可选值如下(默认为0):
0:返回风险片段识别结果
1:返回所有片段识别结果
该参数仅用于控制片段识别结果的返回, 不影响整体识别结果的返回。
当选择“返回所有片段识别结果”时,片段识别结果中包含riskLevel为PASS、REVIEW和REJECT的片段识别结果;
当选择“返回风险片段识别结果”时,片段识别结果中仅包含riskLevel为REVIEW和REJECT的片段识别结果;
片段识别结果对应响应中的audioDetail字段。

返回参数#

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

返回结果参数名参数类型参数说明是否必返规范
requestIdstring本次请求的唯一标识
codeint请求返回码

1100:成功

1901:QPS超限

1902:参数不合法

1903:服务失败

1904:下载失败

1905:解码失败

9101:无权限操作

messagestring请求返回描述,和请求返回码对应
detailjson请求返回明细数据当code码为1100时此参数必返

detail内容:

参数名类型参数说明是否必返规范
riskLevelstring当前事件的处置建议

可能返回值:
PASS:通过

REVIEW:审核

REJECT:拒绝

建议:对接初期不直接使用结果,进行拦截尺度调优,符合预期后在进行使用

audioTextstring整段音频转译文本结果
audioTimeint整段音频的音频时长单位秒
audioDetailjson_array音频片段信息回调的音频片段信息,详见audioDetail参数
audioTagsjson_object音频标签返回性别、音色、是否唱歌、语种等标签
auxInfojson_object辅助信息

其中,audioDetail详细内容如下:

参数名类型参数说明是否必返规范
requestIdstring音频片段请求唯一标识
audioStarttimefloat音频片段起始时间相对音频开始的时间距离,单位是秒
audioEndtimefloat音频片段结束时间相对音频开始的时间距离,单位是秒
audioUrlstring音频片段链接mp3格式
businessLabelsjson_array业务标签返回全部业务标签,详见businessLabels参数
allLabelsjson_array风险标签返回全部风险标签,详见allLabels参数
riskLevelstring音频片段识别结果

可能返回值:
PASS:通过

REVIEW:审核

REJECT:拒绝

riskLabel1string一级风险标签
riskLabel2string二级风险标签
riskLabel3string三级风险标签
riskDescriptionstring风险原因仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
riskDetailjson_object风险详情详见riskDetail参数

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

参数名类型参数说明是否必返规范
businessLabel1string一级标签一级标签
businessLabel2string二级标签二级标签
businessLabel3string三级标签三级标签
businessDescriptionstring标签描述格式为"一级标签:二级标签:三级标签"的中文名称
confidenceLevelint置信等级可选值在0~2之间,值越大,可信度越高
probabilityfloat置信度可选值为0~1,值越大,可信度越高
businessDetailjson_object详细信息保留字段

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

参数名类型参数说明是否必返规范
riskLabel1string一级风险标签一级风险标签
riskLabel2string二级风险标签二级风险标签
riskLabel3string三级风险标签三级风险标签
riskDescriptionstring风险原因风险原因,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
riskLevelstring处置建议可能返回值: PASS:通过REVIEW:审核REJECT:拒绝
probabilityfloat置信度可选值在0~1之间,值越大,风险可能性越高,值越小,无风险可能性越高
riskDetailjson_object风险详情详见riskDetail参数

其中,riskDetail详细内容如下:

参数名类型参数说明是否必返规范
audioTextstring音频转译文本的结果
riskSourceint风险来源可选值:
1000:无风险
1001:文本风险
1003:音频风险
matchedListsjson_array命中的客户自定义名单信息命中客户自定义名单时返回,详见matchedLists参数
riskSegmentsjson_array高风险内容片段在涉政、暴恐、违禁、竞品、广告法等功能的时候存在,详见riskSegments参数

riskDetail中,matchedLists详细内容如下:

参数名类型参数说明是否必返规范
namestring客户自定义名单名称
wordsjson_array命中的这个名单中的敏感词信息详见words参数

matchedLists中,words详细内容如下:

参数名类型参数说明是否必返规范
wordstring敏感词
positionint_array敏感词所在位置

riskDetail中,riskSegments详细内容如下:

参数名类型参数说明是否必返规范
segmentstring高风险内容片段
positionint_array高风险内容片段所在位置

其中,audioTags详细内容如下:

参数名类型参数说明是否必返规范
genderjson_object性别标签当type取值包含GENDER时返回
timbrejson_array音色标签当type取值包含TIMBRE时返回
songint唱歌标签

当type取值包含SING时返回

可能取值:

0:没有唱歌

1:有唱歌

languagejson_object语种识别type取值包含LANGUAGE时返回

audioTags中,gender详细内容如下:

参数名类型参数说明是否必返规范
labelstring性别标签名称

可能取值:

男性

女性

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

audioTags中,timbre详细内容如下:

参数名类型参数说明是否必返规范
labelstring音色标签类别

可能取值:

大叔

青年

正太

老年

女王

御姐

少女

萝莉

大妈

男性

女性

无人声

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

audioTags中,language详细内容如下:

参数名类型参数说明是否必返规范
labelint语种识别类别标识

可能取值:

0:普通话

1:英语

2:粤语

3:藏语

4:维语

5:蒙语

6:朝鲜语

-1:其他语种

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

示例#

上传请求示例#

curl -v 'http://api-audio-bj.fengkongcloud.com/audiomessage/v4' -d '{
"accessKey": "*************",
"appId": "default",
"eventId": "default",
"type": "POLITY_EROTIC",
"businessType":"TIMBRE",
"btId": "test1",
"contentType": "URL",
"content": "*************",
"data": {
"returnAllText":1,
"tokenId": "token-short"
}
}'

同步返回示例#

{
"code":1100,
"message":"成功",
"requestId":"817c8509359500c898a762ffe93a582b",
"btId":"1667392054643",
"detail":{
"audioDetail":[
{
"requestId":"817c8509359500c898a762ffe93a582b_a0000",
"audioStarttime":0,
"audioEndtime":10,
"audioUrl":"http://voice-stream.oss-cn-hangzhou.aliyuncs.com/POST_AUDIO%2F20221102%2F817c8509359500c898a762ffe93a582b_a0000.mp3",
"businessLabels":[
{
"businessDescription":"唱歌:唱歌:唱歌",
"businessDetail":{
},
"businessLabel1":"sing",
"businessLabel2":"changge",
"businessLabel3":"changge",
"confidenceLevel":2,
"probability":0.858334402569294
}],
"allLabels":[],
"riskLevel":"REJECT",
"riskLabel1":"abuse",
"riskLabel2":"buwenmingyongyu",
"riskLabel3":"qingdubuwenmingyongyu",
"riskDescription":"辱骂:不文明用语:轻度不文明用语",
"riskDetail":{
"audioText":"超你今年十一月份十二月份你找个毛东啊我了下乡那就装了的下个箱子装了不不挂现在查整好你过两年都能你"
}
}
],
"audioTags":{
"gender":{
"label":"女性",
"probability":95
},
"language":[
{
"confidence":0,
"label":2
},
{
"confidence":99,
"label":0
},
{
"confidence":0,
"label":1
}
],
"song":0,
"timbre":[
{
"label":"女性",
"probability":95
},
{
"label":"女王",
"probability":12
},
{
"label":"御姐",
"probability":37
},
{
"label":"少女",
"probability":56
},
{
"label":"大妈",
"probability":67
},
{
"label":"萝莉",
"probability":24
}
]
},
"audioText":"超你今年十一月份十二月份你找个毛东啊我了下乡那就装了的下个箱子装了不不挂现在查整好你过两年都能你",
"audioTime":10,
"code":1100,
"requestParams":{
"channel":"TEST",
"lang":"zh",
"returnAllText":1,
"tokenId":"test01"
},
"riskLevel":"REJECT"
}
}

在线咨询