异步检测#

音频检测接口,可协助您识别音频中的涉政、色情、广告、暴恐等风险;同时可结合您的业务场景,识别未成年、音色、等内容。

接口说明#

异步检测接口,可返回识别结果。建议使用http协议接口调用。

音频要求#

音频类型:URL、BASE64。 音频格式:WAV、MP3、AAC、AMR、3GP、M4A、WMA、OGG、APE、FLAC、ALAC、WAVPACK、SILK_V3等。 音频大小:接口限制为18M。 音频地址:建议音频下载从CDN源站下载,并且源站不能为单点,否则可能存在音频下载失败,导致无法审核。

审核时间#

建议超时时间:同步请求接口建议设置10秒;异步批量请求接口建议设置5秒。 内部检测逻辑:音频检测接口的响应时间依赖音频的下载时间,请保证被检测音频所在的存储服务稳定可靠。具体时长和请求type、音频大小相关。

请求#

请求地址#

集群请求地址支持产品列表
上海http://api-audio-sh.fengkongcloud.com/audio/v4中文、阿拉伯语
硅谷http://api-audio-gg.fengkongcloud.com/audio/v4中文、英文、阿拉伯语
新加坡http://api-audio-xjp.fengkongcloud.com/audio/v4中文、英文、阿拉伯语

请求参数#

参数名称类型参数说明是否必传规范
accessKeystring公司密钥由数美提供,具体内容见邮件。
appIdstring应用标识用于区分应用,需要联系数美服务开通,请使用数美单独提供的传值为准,默认内容见邮件。
eventIdstring事件标识用于区分场景数据,需要联系数美服务开通,请使用数美单独提供的传值为准,默认内容见邮件。
typestring检测的风险类型businesstype和type必传其一 AUDIOPOLITICAL:一号领导人声纹识别 POLITY:涉政识别 EROTIC:色情识别 ADVERT:广告识别 ADLAW:广告法识别 BAN:违禁识别 VIOLENT:暴恐识别 ANTHEN:国歌识别 MOAN:娇喘识别 DIRTY:辱骂识别 BANEDAUDIO:违禁歌曲 COPYRIGHTSONGS:版权歌曲 如需做组合识别,通过下划线连接即可,例如POLITY_EROTIC_MOAN涉政、色情和娇喘识别 建议传入: POLITY_EROTIC_MOAN_ADVERT。
businessTypestring检测的业务标签类型type和 businessType 必须填其一 可选值: SING:唱歌识别 LANGUAGE:语种识别 GENDER:性别识别 TIMBRE:音色识别 VOICE:人声属性 MINOR:未成年识别 AUDIOSCENE:声音场景 AGE:年龄识别 如需识别音色、唱歌、语种GENDER必传
translationTargetLangstring翻译目标语种将输入的文本翻译成目标语种。如需开通使用请联系数美商务 可选值: zh:中文 en:英文
contentTypestring待识别音频内容的格式可选值: URL:识别内容为音频url地址; RAW:识别内容为音频的base64编码数据
contentstring待识别的音频内容可以为url地址或者base64编码数据。 其中,base64编码数据上限15M,仅支持pcm、wav、mp3格式, 并且pcm格式数据必须采用16-bit小端序编码。推荐使用pcm、wav格式传输
btIdstring音频文件唯一标识唯一标识这条音频文件,方便将回调结果对应上,超过128位将被截断,不能重复
callbackstring回调http接口当该字段非空时,服务将根据该字段回调通知用户审核结果
acceptLangstring返回标签的语种类型选择返回标签的语种类型 可选值: zh:中文 en:英文 不传入默认为返回中文标签
dataobject请求的数据内容,data字段长度最长1MB
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私聊场景下消息接收者的tokenId由数字、字母、下划线、短杠组成的长度小于等于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辅助参数
passThroughjson_object透传字段透传字段,该字段下所有内容会通过回调返回。

响应#

返回参数#

以下参数,除code、message、requestId以外,其他必返参数均为在code返回1100时为必返。

参数名称类型是否必返参数说明
requestIdstring请求的唯一标识
codeint请求返回码,1100:成功 1901:QPS超限 1902:参数不合法 1903:服务失败 1904:下载失败 1905:解码失败 9101:无权限操作
messagestring请求返回描述,和请求返回码对应
btIdint32音频唯一标识,code为1100情况下返回

回调参数#

参数名称类型参数说明是否必返规范
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音频片段信息回调的音频片段信息
audioStarttimefloat音频片段起始时间相对音频开始的时间距离,单位是秒
audioEndtimefloat音频片段结束时间相对音频开始的时间距离,单位是秒
audioUrlstring音频片段链接mp3格式
riskLevelstring音频片段识别结果可能返回值: PASS:通过 REVIEW:审核 REJECT:拒绝
businessLabelsjson_array业务标签返回全部业务标签
businessLabel1string一级标签一级标签
businessLabel2string二级标签二级标签
businessLabel3string三级标签三级标签
businessDescriptionstring标签描述格式为"一级标签:二级标签:三级标签"的中文名称
confidenceLevelint置信等级可选值在0~2之间,值越大,可信度越高
probabilityfloat置信度可选值为0~1,值越大,可信度越高
businessDetailjson_object详细信息保留字段
allLabelsjson_array风险标签返回全部风险标签
riskLabel1string一级风险标签一级风险标签
riskLabel2string二级风险标签二级风险标签
riskLabel3string三级风险标签三级风险标签
riskDescriptionstring风险原因风险原因,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
riskLevelstring处置建议可能返回值: PASS:通过REVIEW:审核REJECT:拒绝
probabilityfloat置信度可选值在0~1之间,值越大,风险可能性越高,值越小,无风险可能性越高
riskDetailjson_object风险详情
audioTextstring音频转译文本的结果
matchedListsjson_array命中的客户自定义名单信息命中客户自定义名单时返回
namestring客户自定义名单名称
wordsjson_array命中的这个名单中的敏感词信息
wordstring敏感词
positionint_array敏感词所在位置
riskSegmentsjson_array高风险内容片段在涉政、暴恐、违禁、竞品、广告法等功能的时候存在
segmentstring高风险内容片段
positionint_array高风险内容片段所在位置
riskLabel1string一级风险标签
riskLabel2string二级风险标签
riskLabel3string三级风险标签
riskDescriptionstring风险原因仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
riskDetailjson_object风险详情
audioTextstring音频转译文本的结果
matchedListsjson_array命中的客户自定义名单信息命中客户自定义名单时返回
namestring客户自定义名单名称
wordsjson_array命中的这个名单中的敏感词信息
wordstring敏感词
positionint_array敏感词所在位置
riskSegmentsjson_array高风险内容片段在涉政、暴恐、违禁、竞品、广告法等功能的时候存在
segmentstring高风险内容片段
positionint_array高风险内容片段所在位置
audioTagsjson_object音频标签返回性别、音色、是否唱歌等标签。历史兼容字段,建议直接使用businessLabels
genderstring性别可能返回值: MALE:男性 FEMALE:女性 UNKNOWN:未知
labelstring性别标签名称可能取值:男性 女性
probabilityint对应性别可能性大小取值0-100,数值越高表示概率越大
timbrestring音色可能返回值: SILENT:静音 SOFT:柔和 LOUD:大声 UNKNOWN:未知
probabilityint对应音色标签可能性大小取值0-100,数值越高表示概率越大
labelstring音色标签类别可能取值: 大叔 青年 正太 老年 女王 御姐 少女 萝莉 大妈 男性 女性 无人声
languagejson语种
labelint语种识别类别标识可能取值: 0:普通话 1:英语 2:粤语 3:藏语 4:维语 5:蒙语 6:朝鲜语 -1:其他语种
probabilityint对应音色标签可能性大小取值0-100,数值越高表示概率越大
requestParamsjson_object透传字段返回data下所有字段
auxInfojson_object辅助信息
errorCodeint状态码状态码 2003:音频下载失败 2007:无有效数据
tokenProfileLabelsjson_array账号属性标签仅在开启功能时返回
label1string一级标签
label2string二级标签
label3string三级标签
descriptionstring标签描述账号标签描述,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
timestampint打标签时间戳13位Unix时间戳,单位:毫秒
tokenRiskLabelsjson_array账号风险标签仅在开启功能时返回
label1string一级标签
label2string二级标签
label3string三级标签
descriptionstring标签描述账号标签描述,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
timestampint打标签时间戳13位Unix时间戳,单位:毫秒

示例#

请求示例#

{
"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": "*************"
}

回调示例#

{
"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
}
]
}
}

在线咨询