轮询模式
2024.11.01 10:26:53
内容安全点播视频异步检测或人工审核的结果,客户可以通过轮询调用该接口获取数据。轮询模式与推送模式互斥,只能选取一种模式进行结果获取。
接口说明
该接口返回点播视频经过人工审核的结果或者点播视频异步机器检测结果,需要客户通过该接口进行定时轮询获取,当提交检测接口参数callbackUrl为空时,表示结果通过该接口获取,结果可以根据提交检测时返回的taskId对应。
鉴权说明
易盾内容安全服务使用签名方法对接口进行鉴权,所有接口每一次请求都需要包含签名信息(signature 参数),以验证用户身份,防止信息被恶意篡改。目前支持MD5,SHA1,SHA256,SM3几种加密算法,详细信息,请参见接口鉴权
结果说明
- 获取结果后,下次调用,不会再次返回之前获取过的结果
- 接口一次最多返回200个结果,审核结果数据默认保留7天,7天不获取会失效
- 接口请求频率建议1s一次,过快服务器会拒绝处理,客户可以根据业务需求进行适当调整
接口耗时
结果获取接口的响应很快,正常50ms内返回结果,业务方根据需求适当调整超时时间,建议为1s。
历史版本
请求
请求地址
名称 | 值 |
---|---|
HTTP URL | http://as.dun.163.com/v4/video/callback/results |
HTTP Method | POST |
请求头
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | String | 是 | 固定值:"application/x-www-form-urlencoded" |
请求参数
请求参数由公共参数和业务参数两部分组成
公共参数
公共参数包含密钥信息和参数签名信息,公共参数详细见请求公共参数
业务参数
名称 | 类型 | 必填 | 最大长度 | 描述 |
---|---|---|---|---|
version | String | 是 | 4 | 接口版本v4 |
yidunRequestId | String | 否 | 64 | 幂等参数说明 |
请求体示例
version=v4&signature=xxx&secretId=xxx&businessId=xxx&nonce=xxxxx×tamp=1628137551000
响应
该接口可以返回人工审核结果或异步机器检测结果,两类结果结构保持一致。
响应结果
响应字段如下,响应公共字段已省略,详细见响应公共字段,resultType为2时表示人工审核结果,详细字段信息如下:
名称 | 类型 | 必须返回 | 描述 |
---|---|---|---|
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 | 否 | 检测失败原因,当检测失败时返回,120:参数错误,130:解析错误/下载失败,140:数据类型错误,160:视频大小超限(>5G) |
∟ suggestion | Number | 是 | 建议结果 0:通过,1:嫌疑,2:删除 |
∟ customAction | Number | 否 | 自定义动作,0:通过,2:不通过。customAction字段用于saas审核系统-机审标准集中的自定义调度功能,将易盾机器检测嫌疑结果通过配置映射为业务自己的自定义动作,可参考图片流程:https://nos.netease.com/yidun/bceb8815e1f50c2339899976e9a2ec28.png |
∟ suggestionLevel | Number | 否 | 嫌疑级别,针对部分定制策略支持命中嫌疑时返回,1:低嫌疑,2:高嫌疑,对通用策略、模型结果暂不支持,v5.2版本新增,默认不返回,如果需要返回请联系策略经理配置 |
∟ resultType | Number | 是 | 结果类型 1:机器结果,2:人审结果 |
∟ dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ callback | String | 否 | 提交时传递的callback |
∟ censorSource | Number | 是 | 审核来源,0:易盾人审,1:客户人审,2:易盾机审,3:用户质检,4:易盾质检 |
∟ censorTime | Number | 否 | 人工审核完成时间,毫秒单位时间戳(13位) |
∟ duration | Number | 是 | 直播开播到结束的总时长,单位s |
∟ customAction | Number | 否 | 客户自定义建议结果 0-通过 2-删除 |
∟ picCount | Number | 是 | 截图张数 |
∟strategySource | Number | 否 | 策略来源,0:易盾策略来源,1:客户策略来源 |
∟ pictures | Object[] | 否 | 截图证据信息 |
∟ type | Number | 是 | 截图类型,1:图片,2:视频 |
∟ url | String | 是 | 截图下载地址 |
∟ censorSource | Number | 是 | 审核来源,0:易盾人审,1:客户人审,2:易盾机审 |
∟ startTime | Number | 是 | 证据开始相对时间,单位为毫秒,调用方获取后可自行格式化为可视化时间,如:149000 转换为"00:02:29" |
∟ endTime | Number | 是 | 证据结束相对时间,单位为毫秒,调用方获取后可自行格式化为可视化时间,如:149000 转换为"00:02:29" |
∟ pictureId | String | 否 | 截图id |
∟ frontPics | Object[] | 否 | 关联信息-命中前截图信息 |
∟ url | String | 是 | 命中前截图下载地址 |
∟ backPics | Object[] | 否 | 关联信息-命中后截图信息 |
∟ url | String | 是 | 命中前截图下载地址 |
∟ labels | Object[] | 是 | 命中的分类信息 |
∟ label | Number | 是 | 分类信息,100:色情,110:性感低俗,200:广告,210:二维码,260:广告法,300:暴恐,400:违禁,500:涉政,800:恶心类,900:其他,1100:涉价值观 |
∟ level | Number | 是 | 命中级别,示例值:1:嫌疑,2:不通过,0:正常,特殊策略下可返回“level=0”的数据,如果需要返回可以找策略经理配置 |
∟ rate | Number | 是 | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低。若level为正常,置信度越大,说明正常的可能性越高。若level为不确定或确定,置信度越大,说明垃圾的可能性越高 |
∟ subLabels | Object[] | 是 | 细分类信息,可能包含多个 |
∟ hitStrategy | Number | 是 | 用于区分本次机器审核的命中原因:0:图片内容,1:图片上的文字 |
∟ subLabel | String | 是 | 细分类,详细编码请参考下方对应细分类编码 对照表 |
∟ rate | Number | 是 | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低 |
∟ details | Object | 否 | 命中的详细对象信息 |
∟ keywords | Object[] | 否 | 命中的自定义敏感词信息 |
∟ word | string | 是 | 敏感词内容 |
∟ x1 | Number | 否 | 位置信息,对应目标矩形左上角横坐标相对坐标 |
∟ y1 | Number | 否 | 位置信息,对应目标矩形左上角纵坐标相对坐标 |
∟ x2 | Number | 否 | 位置信息,对应目标矩形右下角横坐标相对坐标 |
∟ y2 | Number | 否 | 位置信息,对应目标矩形右下角纵坐标相对坐标 |
∟ libInfos | Object[] | 否 | 命中的自定义图片名单信息 |
∟ entity | String | 是 | 该图片命中自定义图片名单对应原始添加的根源图片url |
∟ hitCount | Number | 是 | 历史针对该数据源图片命中所有次数 |
∟ value | String | 否 | 图片中包含的可识别内容 |
∟ group | String | 否 | value对应的分组名称,用于对value的解释 |
∟ hitInfos | Object[] | 否 | 命中的线索信息 |
∟ value | String | 是 | 图片中包含的可识别内容 |
∟ group | String | 否 | value对应的分组名称,用于对value的解释 |
∟ x1 | Number | 否 | 位置信息,对应目标矩形左上角横坐标相对坐标 |
∟ y1 | Number | 否 | 位置信息,对应目标矩形左上角纵坐标相对坐标 |
∟ x2 | Number | 否 | 位置信息,对应目标矩形右下角横坐标相对坐标 |
∟ y2 | Number | 否 | 位置信息,对应目标矩形右下角纵坐标相对坐标 |
∟ anticheat | Object | 否 | 命中的反作弊信息 |
∟ hitType | Number | 是 | 反作弊命中类型,详见hitType返回码及含义表 |
∟ rules | Object[] | 否 | 命中用户自定义的规则信息 |
∟ name | String | 是 | 规则名 |
∟ ocr | Object | 否 | OCR结果信息,OCR功能需额外付费开启,如有需要请联系您的专属商务,未开通状态下不返回 |
∟ taskId | String | 是 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ pictures | Object[] | 是 | 截图OCR结果数组,最多返回视频截图的前100张 |
∟ startTime | Number | 否 | 位置信息,截图开始时间点,单位秒 |
∟ endTime | Number | 否 | 位置信息,截图结束时间点,单位秒 |
∟ height | Number | 是 | 截图高度,单位像素 |
∟ width | Number | 是 | 截图宽度,单位像素 |
∟ url | String | 是 | 截图下载链接 |
∟ pictureId | String | 否 | 截图id |
∟ details | Object[] | 否 | 截图 OCR 命中的详细信息 |
∟ content | String | 是 | 该图片中所有的文字信息集合 |
∟ lineContents | Object[] | 是 | OCR行信息 |
∟ lineContent | String | 是 | 每行的文字信息 |
∟ lang | String | 否 | 语种信息 |
∟ x1 | Number | 否 | 位置信息,对应目标矩形左上角横坐标相对坐标 |
∟ y1 | Number | 否 | 位置信息,对应目标矩形左上角纵坐标相对坐标 |
∟ x2 | Number | 否 | 位置信息,对应目标矩形右下角横坐标相对坐标 |
∟ y2 | Number | 否 | 位置信息,对应目标矩形右下角纵坐标相对坐标 |
∟ discern | Object | 否 | 图片个性化内容识别结果,支持对截图中物体进行识别,识别结果返回需额外付费开启,如有需要请联系您的专属商务,未开通状态下不返回 |
∟ taskId | String | 是 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ pictures | Object[] | 是 | 图片个性化内容识别结果数组,最多返回视频截图的前100张 |
∟ startTime | Number | 否 | 位置信息,截图开始时间点,单位秒 |
∟ endTime | Number | 否 | 位置信息,截图结束时间点,单位秒 |
∟ pictureId | String | 否 | 截图id |
∟ details | Object[] | 否 | 物体识别命中的详细信息 |
∟ discernName | String | 是 | 识别物体名称 |
∟ rate | Number | 是 | 识别分数,0-1之间取值,1为置信度最高,0为置信度最低。 |
∟ type | Number | 是 | 图片识别类型,1 场景识别,2 地标识别,3 通用识别,4:乐谱识别,5:动漫识别,6:服饰识别,7:地图截图识别,8:聊天截屏识别,9:手机识别,10:举白纸识别,11:哺乳照识别,12:可爱卡通骷髅识别 |
∟ logo | Object | 否 | logo检测结果,logo检测支持对图片中包含的通识logo进行识别,检测结果返回需额外付费开启,如有需要请联系您的专属商务,未开通状态下不返回 |
∟ taskId | String | 是 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ pictures | Object[] | 是 | 截图OCR结果数组,最多返回视频截图的前100张 |
∟ startTime | Number | 否 | 位置信息,截图开始时间点,单位秒 |
∟ endTime | Number | 否 | 位置信息,截图结束时间点,单位秒 |
∟ pictureId | Number | 否 | 截图id |
∟ details | Object[] | 否 | 物体识别命中的详细信息 |
∟ logoName | String | 是 | logo名字,不可识别则为空 |
∟ x1 | Number | 否 | logo位置信息,对应logo矩形左上角横坐标相对坐标 |
∟ y1 | Number | 否 | logo位置信息,对应logo矩形左上角纵坐标相对坐标 |
∟ x2 | Number | 否 | logo位置信息,对应logo矩形右下角横坐标相对坐标 |
∟ y2 | Number | 否 | logo位置信息,对应logo矩形右下角纵坐标相对坐标 |
∟ rate | String | 否 | 置信度分数 ,置信度0-1,越接近1,置信度越高 |
∟ sizeRatio | String | 否 | logo占百分比大小 |
∟ quality | Object | 否 | 视频截图质量检测结果,质量检测结果需额外付费开启,如有需要请联系您的专属商务,未开通状态下不返回 |
∟ taskId | String | 是 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ pictures | Object[] | 是 | 视频截图质量检测结果数组,最多返回视频截图的前100张 |
∟ startTime | Number | 否 | 位置信息,截图开始时间点,单位秒 |
∟ endTime | Number | 否 | 位置信息,截图结束时间点,单位秒 |
∟ pictureId | String | 否 | 截图id |
∟ details | Object[] | 否 | 命中的详细信息 |
∟ aestheticsRate | Number | 否 | 美观度分数,0-1,分数越高美观度越高,建议0.5分以上可认为美观度较好,0.3分以下可认为美观度较差,具体视业务场景而定 |
∟ sharpnessRate | Number | 否 | 清晰度分数,0-1,分数越高清晰度越高,建议0.5分以上可认为清晰度较好,0.3分以下可认为清晰度较差,具体视业务场景而定 |
∟ metaInfo | Object | 否 | 图片基本信息 |
∟ byteSize | Number | 否 | 图片大小,单位byte |
∟ format | String | 否 | 图片格式 |
∟ height | Number | 否 | 图片高度,单位像素 |
∟ width | Number | 否 | 图片宽度,单位像素 |
∟ boarderInfo | Object | 否 | 图片边框信息 |
∟ hit | Boolean | 否 | 图片是否包含边框(任一边包含边框均视为包含)true:包含边框;false:不包含边框 |
∟ top | Boolean | 否 | 图片顶部是否包含边框,true:包含边框;false:不包含边框 |
∟ right | Boolean | 否 | 图片右侧是否包含边框,true:包含边框;false:不包含边框 |
∟ bottom | Boolean | 否 | 图片底部是否包含边框,true:包含边框;false:不包含边框 |
∟ left | Boolean | 否 | 图片底部是否包含边框,true:包含边框;false:不包含边框 |
∟ color | Object | 否 | 图片边框颜色信息 |
∟ top | Number | 否 | 图片顶部边框颜色,1-白色,2-黑色 |
∟ right | Number | 否 | 图片右侧边框颜色,1-白色,2-黑色 |
∟ bottom | Number | 否 | 图片底部边框颜色,1-白色,2-黑色 |
∟ left | Number | 否 | 图片底部边框颜色,1-白色,2-黑色 |
∟ backgroundInfo | Object | 否 | 图片背景信息 |
∟ pureBackground | boolean | 否 | 纯色背景检测,true:背景纯色;false:背景复杂 |
∟face | Object | 否 | 人脸检测信息,人脸检测结果需额外付费开启,如有需要请联系您的专属商务,未开通状态下不返回 |
∟taskId | String | 是 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟pictures | Object[] | 否 | 视频截图人脸检测结果数组,最多返回视频截图的前100张 |
∟startTime | Number | 是 | 位置信息,截图开始时间点,单位秒 |
∟endTime | Number | 是 | 位置信息,截图结束时间点,单位秒 |
∟url | String | 是 | 截图下载链接 |
∟ pictureId | String | 否 | 截图id |
∟details | Object[] | 否 | 截图人脸检测详情数组 |
∟faceNumber | Number | 是 | 该图片中包含的人脸个数 |
∟deepfake | Number | 否 | 是否有伪造人脸,0-无,1-有 |
∟faceContents | Object[] | 是 | 人脸详细信息 |
∟name | String | 是 | 图片中出现的人脸名字,未识别则为空。该字段可识别明星、政治人物等人脸信息,用于落马官员/劣迹艺人检测,或明星头像/政治头像检测 |
∟glasses | String | 是 | 人脸戴眼镜,normal(无眼镜)、 glasses(普通眼镜)、 sunglasses(墨镜),如有需要请联系您的专属商务,未开通状态下不返回该字段 |
∟gender | String | 否 | 人脸性别,值为男(male)、女(female);不可识别则为空 |
∟age | Number | 否 | 人脸年龄,值为具体年龄(age);不可识别则为空 |
∟growthStage | String | 否 | 成长阶段(未成年,成年),值为child(未成年幼态),young(非幼态未成年),adult(成年) |
∟type | String | 否 | 人脸类型,包含卡通脸(cartoon)、普通(normal),如有需要请联系您的专属商务,未开通状态下不返回该字段 |
∟category | String | 否 | 人物分类,包含名人(star)、普通(normal)、海外娱乐明星(overseaEntertainmentStar)、海外体育明星(overseaSportStar)、海外政客(overseaPolitician)、海外网红(overseaInternetStar) |
∟maskType | String | 否 | mask(有遮挡),normal(无遮挡)。判断人脸是否有遮挡,可以用于判断用户是否佩戴口罩墨镜纱巾等综合性遮挡场景 |
∟expression | String | 否 | 人脸情绪:neutral(扮酷),happy(微笑),sad(悲伤),surprise(惊讶),fear(害怕),anger(生气),disgust(不喜欢),如有需要请联系您的专属商务,未开通状态下不返回该字段 |
∟beautyScore | Number | 否 | 人脸颜值分数,0-1,保留4位小数,如有检测需求请联系易盾策略经理开启服务,如有需要请联系您的专属商务,未开通状态下不返回该字段 |
∟ completeness | Number | 否 | 人脸完整性,0:不完整,1:完整,2:未知,如有需要请联系您的专属商务,未开通状态下不返回该字段 |
∟sizeRatio | String | 否 | 人脸占比,百分比形式 |
∟x1 | Number | 否 | 位置信息,对应目标矩形左上角横坐标相对坐标 |
∟y1 | Number | 否 | 位置信息,对应目标矩形左上角纵坐标相对坐标 |
∟x2 | Number | 否 | 位置信息,对应目标矩形右下角横坐标相对坐标 |
∟y2 | Number | 否 | 位置信息,对应目标矩形右下角纵坐标相对坐标 |
响应体示例
{
"code":200,
"msg":"ok",
"result":[
{
"antispam":{
"callback":"",
"censorSource":2,
"censorTime":1662251800357,
"dataId":"123456",
"duration":30,
"picCount": 10,
"pictures":[
{
"backPics":[
{
"url":"https://illegal-video.nosdn.127.net/89e5452e0747571002060f_1_5000.jpg?Signature=U6XnOUcqueLLlTru%2FTBYpITTbxMGMjxokM93T9CnGdY%3D&Expires=1664843800&NOSAccessKeyId=7ec43af94de64396ee8"
},
{
"url":"https://illegal-video.nosdn.127.net/89e5452e0747571002060f_2_10000.jpg?Signature=yL2AMcOHZWzQyMhrCrPDuVYXUVyHYUFIEc5fqPX40H0%3D&Expires=1664843800&NOSAccessKeyId=7ec43af9b5b4de643ee8"
},
{
"url":"https://illegal-video.nosdn.127.net/89e5459aa2059571002060f_5_25000.jpg?Signature=yi%2FlVzpoTKe1Ktjp85FjFCT0IBmbRe2lhajabv7UeyA%3D&Expires=1664843800&NOSAccessKeyId=f4ca59de64396ee8"
}
],
"censorSource":2,
"endTime":0,
"labels":[
{
"label":200,
"level":1,
"rate":0.830996,
"subLabels":[
{
"details":{
"hitInfos":[
{
"group":"广告接口返回",
"value":"通用广告"
}
]
},
"hitStrategy":0,
"rate":0.831,
"subLabel":20000
}
]
}
],
"startTime":0,
"type":1,
"url":"https://illegal-video.nosdn.127.net/89e5452e074741d9aa2059571002060f_0_0.jpg?Signature=ahTWcm9k9AVNVbP97XZc%2FTaGLVu9ZSX4uHarJNSg5yY%3D&Expires=1664843800&NOSAccessKeyId=7ec43af9b5bf4ca5975204de64396ee8"
},
{
"backPics":[
{
"url":"https://illegal-video.nosdn.127.net/89e5452e074741d9aa2059571002060f_3_15000.jpg?Signature=PRs8XrY990Pye0t1nZuncSfATOrTkoJiSFyAvYaFpEU%3D&Expires=1664843800&NOSAccessKeyId=7ec43af9b5bf
{
"url":"https://illegal-video.nosdn.127.net/89e5452e079aa2059571002060f_4_20000.jpg?Signature=Vy4ExlAalUD6ZmKb%2Bh9iNQ6eYSIgceQXSP1kWWwKIXI%3D&Expires=1664843800&NOSAccessKeyId=7ec43af9b5bee8"
}
],
"censorSource":2,
"endTime":10000,
"frontPics":[
{
"url":"https://illegal-video.nosdn.127.net/89e5452e074741d9aa2059571002060f_0_0.jpg?Signature=ahTWcm9k9AVNVbP97XZc%2FTaGLVu9ZSX4uHapires=1664843800&NOSAccessKeyId=7ec43af9b5bde64396ee8"
},
{
"url":"https://illegal-video.nosdn.127.net/89e5452e074741d9aa2059571002060f_1_5000.jpg?Signature=U6XnOUcqueLLlTru%2FTBYpITnGdY%3D&Expires=1664843800&NOSAccessKeyId=7ec43af9b5b4396ee8"
}
],
"labels":[
{
"label":200,
"level":1,
"rate":0.805547,
"subLabels":[
{
"details":{
"hitInfos":[
{
"group":"广告接口返回",
"value":"通用广告"
}
]
},
"hitStrategy":0,
"labelLevel":1,
"rate":0.8055,
"subLabel":20000
}
]
}
],
"startTime":10000,
"type":1,
"url":"https://illegal-video.nosdn.127.net/89e5452e074741d9aa2059571002060f_2_10000.jpg?Signature=yL2AMcOHZPX40H0%3D&Expires=1664843800&NOSAccessKeyId=7e04de64396ee8"
}
],
"resultType":1,
"status":2,
"suggestion":1,
"taskId":"89e5452e0747412232059571002060f"
}
}
]
}
示例代码
服务端 SDK 接入
推荐使用我们提供的服务端 SDK 进行接入(目前支持 Java 和 Go 两种语言),不但可以节省接入成本,实现更快速的集成,并享有灵活的请求配置选项,同时 SDK 内置了错误重试、熔断降级等功能,提升服务可用性。点击 服务端 SDK 接入指引 了解更多。