同步检测
2024.10.15 18:18:14
点播音频同步检测接口帮助您检测音频中的违规内容和多维度的辅助信息,提供包括智能鉴黄、暴恐、涉政、违禁、广告、谩骂、涉价值观等违规内容识别能力,以及语音识别、语种检测、人声属性识别、ASMR检测、娇喘检测、领导人声纹检测、涉政歌曲检测等多维度辅助信息能力。
接口说明
该接口同步返回点播音频检测结果,支持http协议接口调用。
鉴权说明
易盾内容安全服务使用签名方法对接口进行鉴权,所有接口每一次请求都需要包含签名信息(signature 参数),以验证用户身份,防止信息被恶意篡改。目前支持MD5,SHA1,SHA256,SM3几种加密算法,详细信息,请参见接口鉴权。
点播音频要求
- 点播音频支持类型:URL、BASE64。
- 点播音频支持格式:wav、mp3、aac、amr、3gp、m4a、wma、ogg、ape、flac、alac、wavpack、silk_v3、m3u8等。
- 点播音频base64格式要求:PCM格式(格式s16le,采样率8k/16k,单声道),把PCM按照base64编码再做提交。
- 点播音频时长: 时长不超过60s。
- 点播音频下载:下载时间限制为1秒内,如果下载时间超过1秒,接口检测失败。
- 请求体限制:所有请求参数大小总和不能超过10M。
检测耗时
点播音频检测接口的响应时间依赖点播音频的下载时间,请保证被检测点播音频所在的存储服务稳定可靠,建议适当调整接口超时时间,建议为2s。
历史版本
请求
请求地址
名称 | 值 |
---|---|
HTTP URL | http://as.dun.163.com/v2/audio/check |
HTTP Method | POST |
请求头
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | String | 是 | 固定值:"application/x-www-form-urlencoded" |
请求参数
请求参数由公共参数和业务参数两部分组成。
公共参数
公共参数包含密钥信息和参数签名信息,公共参数详细见请求公共参数。
业务参数
名称 | 类型 | 必填 | 最大长度 | 描述 |
---|---|---|---|---|
version | String | 是 | 4 | 接口版本号,可选值v2 |
dataCheckType | Number | 否 | 1 | 检测类型,默认0-url,1-语音内容base64 |
url | String | 否 | 2048 | 音频下载url,当检测类型是url时,url必填 |
data | String | 否 | 2560000 | 语音内容base64,当检测类型是base64时,data必填 |
title | String | 否 | 512 | 音频标题 |
dataId | String | 否 | 128 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询 |
callback | String | 否 | 65535 | 数据回调参数,调用方根据业务情况自行设计,当调用离线结果获取接口或查询接口时,该接口会原样返回该字段,详细见音频离线检测结果获取音频轮询模式结果获取。作为数据处理标识,因此该字段应该设计为能唯一定位到该次请求的数据结构,如对用户的昵称进行检测,dataId可设为用户标识(用户ID),用户修改多次,每次请求数据的dataId可能一致,但是callback参数可以设计成定位该次请求的数据结构,比如callback字段设计成json,包含dataId和请求的时间戳等信息,当然如果不想做区分,也可以直接把callback设置成dataId的值。 |
callbackUrl | String | 否 | 512 | 离线结果回调通知到客户的URL。主动回调数据接口超时时间默认设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。 |
publishTime | Number | 否 | 13 | 发表时间,UNIX 时间戳(毫秒值) |
subProduct | String | 否 | 32 | 业务结算id(自定义),业务方传入参数,用于资源账单统计,如需开启请联系易盾客户经理。开启之后资源账单按套餐结算sheet增加subProduct维度的数据请求量、检测量、消耗金额的统计 |
uniqueKey | String | 否 | 256 | 检测去重字段,填入后使用此字段去重,如果没填入则默认使用url进行去重 |
业务扩展参数
建议您将发布内容的用户信息、设备信息、场景信息同步传入,易盾将结合用户风险画像、设备风险画像、场景化策略全方位检测内容风险,检测结果更精准。请参见业务扩展参数
请求体示例
url=testurl&version=v2&signature=xxx&secretId=xxx&businessId=xxx
响应
响应结果
响应字段如下,响应公共字段已省略,详细见响应公共字段:
名称 | 类型 | 必须返回 | 描述 |
---|---|---|---|
result | Object | 是 | 点播音频检测结果 |
∟ antispam | Object | 是 | 内容安全检测结果 |
∟ taskId | String | 是 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ status | Number | 是 | 检测状态,2-检测成功,3-检测失败 |
∟ label | Number | 是 | 命中分类,分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水,900:其他,1100:涉价值观 |
∟ secondLabel | String | 否 | 命中二级标签细分类 |
∟ thirdLabel | String | 否 | 命中三级标签细分类 |
∟ failureReason | Number | 否 | 检测失败原因,当检测失败时返回,1:文件格式错误,2:文件下载失败,3:解析失败,4:音频流不存在,5:同步检测音频时长超长(>60s) |
∟ suggestion | Number | 是 | 建议结果 0-通过 1-嫌疑 2-删除 |
∟ customAction | Number | 否 | 自定义动作,0:通过,2:不通过。customAction字段用于saas审核系统-机审标准集中的自定义调度功能,将易盾机器检测嫌疑结果通过配置映射为业务自己的自定义动作,可参考图片流程:https://nos.netease.com/yidun/bceb8815e1f50c2339899976e9a2ec28.png |
∟ label | Number | 是 | 整体分类信息,0:正常,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,1100:涉价值观 |
∟ resultType | Number | 是 | 结果类型 1-机器结果 2-人审结果 |
∟ dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询 |
∟ callback | String | 否 | 提交时传递的callback |
∟ censorSource | Number | 是 | 审核来源,0:易盾人审,1:客户人审,2:易盾机审 |
∟ censorTime | Number | 否 | 人工审核完成时间,毫秒单位时间戳(13位) |
∟ duration | Number | 是 | 音频时长字段,单位s |
∟ customAction | Number | 否 | 客户自定义建议结果 0-通过 2-删除 |
∟ strategySource | Number | 否 | 策略来源,0:易盾策略来源,1:客户策略来源 |
∟ censorLabels | Object[] | 否 | 支持在智能审核系统自定义标签分类信息 |
∟ code | String | 是 | 在智能系统配置自定义便签之后会生成一个唯一的标签ID |
∟ desc | String | 是 | 在智能审核系统配置自定义标签备注 |
∟ customCode | String | 否 | 在智能审核系统配置自定义标签ID |
∟ segments | Object[] | 是 | 音频数据所在断句详细信息 |
∟ startTime | Number | 是 | 断句开始时间点,单位秒 |
∟ endTime | Number | 是 | 断句结束时间点,单位秒 |
∟ type | Number | 是 | 断句类型,0-语音识别,1-声纹检测 |
∟ leaderName | String | 否 | 领导人名,若命中领导人声纹,返回对应的领导人名 |
∟ content | String | 是 | 音频数据所在断句语音识别原文内容,支持返回异常数据所在断句内容 |
∟ url | String | 否 | 风险片段对应语音片段的临时访问地址,地址有效期为7天,如需开启请联系易盾策略经理 |
∟ labels | Object[] | 是 | 分类信息 |
∟ label | Number | 是 | 分类信息,分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,1100:涉价值观 |
∟ level | Number | 是 | 命中级别,示例值:1:嫌疑,2:不通过,0:正常,特殊策略下可返回“level=0”的数据,如果需要返回可以找策略经理配置 |
∟ subLabels | Object[] | 否 | 命中细分类信息 |
∟ subLabel | String | 是 | 细分类,详细编码请参考下方对应细分类编码对应表 |
∟ details | Object | 是 | 其他信息 |
∟ hitInfos | Object[] | 是 | 证据信息 |
∟ value | String | 是 | 命中的敏感词或者声纹检测的分值 |
∟ keywords | Object[] | 否 | 自定义敏感词线索分类信息 |
∟ word | String | 是 | 自定义添加敏感词 |
∟ libInfos | Object[] | 否 | 自定义名单线索分类信息 |
∟ listType | Number | 是 | 名单类型 |
∟ entity | String | 是 | 名单内容 |
∟ rules | Object[] | 否 | 命中用户自定义的规则信息 |
∟ name | String | 是 | 规则名 |
∟ language | Object | 否 | 语种检测结果 |
∟ taskId | String | 是 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询 |
∟ callback | String | 否 | 提交时传递的callback |
∟ details | Object[] | 是 | 语种检测详情 |
∟ type | String | 是 | 语种类型,支持检测语种类型请参考语种代码表 |
∟ segments | Object[] | 是 | 识别语种检测的音频断句 |
∟ startTime | Number | 是 | 最近开始时间点,单位秒 |
∟ endTime | Number | 是 | 最近结束时间点,单位秒 |
∟ asr | Object | 否 | 语音识别检测结果 |
∟ taskId | String | 是 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询 |
∟ callback | String | 否 | 提交时传递的callback |
∟ details | Object[] | 是 | 语音识别详情 |
∟ startTime | Number | 是 | 断句开始时间点,单位秒 |
∟ endTime | Number | 是 | 断句结束时间点,单位秒 |
∟ content | String | 是 | 语音识别内容 |
∟ voice | Object | 否 | 人声属性检测结果 |
∟ taskId | String | 是 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询 |
∟ callback | String | 否 | 提交时传递的callback |
∟ detail | Object | 是 | 人声属性详情 |
∟ mainGender | String | 是 | 音频性别建议值,male/female |
∟ ageGroup | String | 是 | 识别人声年龄,underage(0~18岁),adult(18岁以上) |
∟ageGroupRate | Number | 是 | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低 |
响应体示例
{
"code":200,
"msg":"ok",
"result":{
"antispam":{
"taskId":"38e08da8d2574df4bd2eca9b5153df72",
"status ":2,
"suggestion":2,
"resultType":1,
"segments":[
{
"startTime":0,
"endTime":20,
"content":"加我",
"url":"https://as.dun.163.com/v1/audio/segment/play?Signature=455f29675707306bc700e3d9b59ce4f5&Expires=1672404623965&AccessKey=d7k9wgszvzwyg00609yg5&BeginTime=285&EndTime=300",
"labels":[
{
"label":200,
"level":2,
"subLabels":[
{
"subLabel":"200009",
"details":{
"hitInfos":[
{
"value":"加我"
}
],
"keywords":[
{
"word":"xxx"
}
],
"libInfos":[
{
"listType":1,
"entity":"xxx"
}
]
}
}
]
},
{
"label":100,
"level":0
},
{
"label":200,
"level":0
},
{
"label":300,
"level":0
},
{
"label":400,
"level":0
},
{
"label":1100,
"level":0
}
]
}
],
"callback":"",
"dataId":"",
"censorSource":2,
"duration":10,
"censorTime":1621825885716,
"censorLabels":[
]
},
"language":{
"taskId":"38e08da8d2574df4bd2eca9b5153df72",
"dataId":"",
"callback":"",
"details":[
{
"type":"en-GB",
"segments":[
{
"startTime":35,
"endTime":40
},
{
"startTime":160,
"endTime":165
}
]
}
]
},
"asr":{
"taskId":"38e08da8d2574df4bd2eca9b5153df72",
"dataId":"",
"callback":"",
"details":[
{
"startTime":0,
"endTime":20,
"content":"加我"
}
]
},
"voice":{
"taskId":"7f03cdeaf4cf4c748a4edbe97833a9ee",
"dataId":"",
"callback":"",
"detail":{
"mainGender":"male",
"mainAgeGroup": "adult",
"mainAgeGroupRate": 0.9973
}
}
}
}
响应返回码
响应返回码见:响应返回码
示例代码
服务端 SDK 接入
推荐使用我们提供的服务端 SDK 进行接入(目前支持 Java 和 Go 两种语言),不但可以节省接入成本,实现更快速的集成,并享有灵活的请求配置选项,同时 SDK 内置了错误重试、熔断降级等功能,提升服务可用性。点击 服务端 SDK 接入指引 了解更多。