安全通
更新时间: 2021/11/17 09:04:07
安全通相关接口用于提交视频内容安全审核任务及结果查询。
内容安全审核功能已正式升级为安全通服务。
提交内容安全审核
接口描述
域名:vcloud.163.com
接口名:/app/vod/antitrash/create
视频内容安全审核,批量提交视频内容安全审核任务(屏蔽状态不允许执行此操作)。
输入参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
vidList | List | 是 | 多个视频Id组成的列表,不超过20个 |
userDefInfo | String | 否 | 用户自定义信息,回调会返回此信息,长度小于256 |
输出参数
参数 | 类型 | 说明 |
---|---|---|
requestId | String | 请求标识 |
code | Int | 状态码 |
msg | String | 错误信息 |
ret | JSON对象 | 结果集,JSON对象 |
ret.list | JSON数组 | 内容安全审核任务信息 |
ret.list[].vid | Long | 视频ID |
ret.list[].taskId | String | 内容安全审核任务taskId |
响应状态码
状态码 | 含义 |
---|---|
200 | 操作成功 |
400 | 请求报文格式错误,报文构造不正确或者没有完整发送 |
700 | 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决 |
710 | 权限认证失败,请参考文档中的接口鉴权部分 |
720 | 访问失败,余额不足。 |
721 | 服务未开通,请前往开通页面申请服务开通 |
722 | 服务开通审核中,请联系客服人员开通服务 |
723 | 请求的次数超过了配额限制 |
示例代码
输入
curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf05cc4a65b5d98bc9d6af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a2a28b3628584e65a2abe7ae13" -d '{"vidList":[12,23],"userDefInfo":"str"}' https://vcloud.163.com/app/vod/antitrash/create
输出
"Content-Type": "application/json; charset=utf-8"
{
"ret": {
"list": [{
"vid": 12,
"taskId": "xxxx"
},{
"vid": 23,
"taskId": "xxxx"
}]
}
"requestId": "vodc90605aa-24c4-4e17-8b07-0a041a0506d9",
"code": 200
}
查询内容审核结果
接口描述
域名:vcloud.163.com
接口名:/app/vod/antitrash/query
用于查询视频提交的内容安全审核结果。
超过7天的任务无法查询,请在回调时持久化结果及证据图片
输入参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
vidList | List | 是 | 多个视频Id组成的列表,不超过20个 |
输出参数
参数 | 类型 | 说明 |
---|---|---|
requestId | String | 请求标识 |
code | Int | 状态码 |
msg | String | 错误信息 |
ret | JSONObject | 结果集,JSON对象 |
ret.list | JSONArray | 内容安全审核检测结果 |
ret.list[].vid | Long | 视频ID |
ret.list[].type | String | 回调类型,固定值vod_anti_trash |
ret.list[].userDefInfo | String | 用户发起时提交数据 |
ret.list[].taskId | String | 内容安全审核任务ID |
ret.list[].dataId | String | 自动生成的数据唯一标识 |
ret.list[].checkStatus | Int | 检测状态 1-检测成功 2-检测失败 |
ret.list[].result | Int | 检测结果, 1:正常(建议通过) 2:异常(建议拦截) 3:疑似(建议人工确认) |
ret.list[].censorSource | Int | 审核来源,0:易盾人审,1:客户人审,2:易盾机审 |
ret.list[].evidences | JSON | 机审证据信息: 参考6.4.3 |
ret.list[].reviewEvidences | JSON | 人审证据信息:参考6.4.3 |
响应状态码
状态码 | 含义 |
---|---|
200 | 操作成功 |
400 | 请求报文格式错误,报文构造不正确或者没有完整发送 |
700 | 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决 |
710 | 权限认证失败,请参考文档中的接口鉴权部分 |
720 | 访问失败,余额不足。 |
721 | 服务未开通,请前往开通页面申请服务开通 |
722 | 服务开通审核中,请联系客服人员开通服务 |
723 | 请求的次数超过了配额限制 |
示例代码
输入
curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf05cc4a65b5d98bc9d6af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a2a28b3628584e65a2abe7ae13" -d '{"vidList":[12,23]}' https://vcloud.163.com/app/vod/antitrash/query
输出
"Content-Type": "application/json; charset=utf-8"
{
"requestId": "vodc90605aa-24c4-4e17-8b07-0a041a0506d9",
"code": 200,
"ret": {
"list": [
{
"vid": 9149,
"censorTime": 1615960089171,
"taskId": "d2c8fb122c3b4ea2b45cc93588ae7523",
"result": 1,
"userDefInfo": "AntiTrashCreateRequest",
"checkStatus": 1,
"status": 0,
"dataId": "9149",
"checkTime": 1615960122219,
"censorSource": 2,
"evidences": {
"audio": {},
"video": {
"taskId": "535ac5612221476ab16328fed530de03",
"status": 0,
"level": 2,
"evidences": [{
"type": 1,
"url": "https://illegal-video.nosdn.127.net/535ac5612221476ab16328fed530de03_1594002739807.jpg",
"beginTime": 30200,
"endTime": 30200,
"labels": [{
"label": 400,
"level": 1,
"rate": 0.964954
}]
}]
}
}
},
{
"censorTime": 1615960089169,
"taskId": "1eada4e4845a4933a1542f03395c1509",
"result": 1,
"userDefInfo": "AntiTrashCreateRequest",
"checkStatus": 1,
"status": 0,
"dataId": "9148",
"checkTime": 1615960123817,
"vid": 9148,
"censorSource": 2
}
]
}
}
审核结果回调信息
视频内容安全审核是异步处理任务,处理完成会主动回调(控制台设定的内容安全审核回调地址)。 回调内容字段明细
参数 | 类型 | 说明 |
---|---|---|
vid | Long | 视频ID |
type | String | 回调类型,固定值vod_anti_trash |
userDefInfo | String | 用户发起时提交数据 |
taskId | String | 内容安全审核任务ID |
dataId | String | 视频云自动生成的数据唯一标识 |
checkStatus | Int | 检测状态 1-检测成功 2-检测失败 |
result | Int | 检测结果, 1:正常(建议通过) 2:异常(建议拦截) 3:疑似(建议人工确认) |
censorSource | Int | 审核来源,0:易盾人审,1:客户人审,2:易盾机审 |
censorTime | Long | 人工审核完成时间,毫秒单位时间戳(13位) |
checkTime | Long | 机器检测结束时间,毫秒单位的时间戳形式(2021.1.1 01:00转换时间戳1609434000000) |
evidences | JSON | 机审证据信息。 |
reviewEvidences | JSON | 人审证据信息 |
机审证据信息evidences数据结构:
参数名称 | 类型 | 描述 |
---|---|---|
audio | JSON | 语音证据信息 |
audio.asrStatus | Number | 音频翻译结果。 2:检测中;3:检测完成;4:检测失败 |
audio.asrResult | Number | 音频翻译检测失败原因。1:文件下载失败;2:音频流不存在 3:解析失败 4:文件格式错误 |
audio.action | Number | 检测结果。 0:通过;1:嫌疑;2:不通过 |
audio.taskId | String | 唯一标识 |
audio.suggestReason | Number | 根据优先级返回的建议分类,详细请参考labels |
audio.labels | JSONArray | 分类信息详细数据 |
audio.labels[].label | Number | 分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,1100:涉价值观 |
audio.labels[].level | Number | 分类级别,0:通过,1:嫌疑,2:不通过 |
audio.labels[].subLabels | JSONArray | 细分类信息,可能包含多个,可能为空 |
audio.labels[].subLabels[].details | JSONObject | 其他信息 |
audio.labels[].subLabels[].subLabel | JSONArray | 细分类,详细编码请参考下方对应细分类编码对应表 |
audio.segments | JSONArray | 分类信息详细数据 |
audio.segments.label | Number | 分类信息。100:色情,200:广告,300:暴恐,400:违禁,500:涉政,600:谩骂,1100:涉价值观。 |
audio.segments.level | Number | 分类级别。1:不确定,2:确定。 |
audio.segments.startTime | Number | 最近开始时间点,单位秒 |
audio.segments.endTime | Number | 最近结束时间点,单位秒 |
audio.segments.content | String | 音频数据所在断句语音识别原文内容,支持返回异常数据所在断句内容或全部原文内容 |
video | JSON | 截图证据信息 |
video.status | Number | 视频处理状态码,定义为:0:检测成功,110:请求重复,120:参数错误,130:解析错误,140:数据类型错误,150:并发超限,160:视频大小超限(>5G) |
video.level | Number | 视频级别信息,分为0:正常,1:不确定,2:确定,其中不确定的建议人工复审 |
video.suggestReason | Number | 此分类为易盾根据优先级返回的建议分类,详细请参考evidences,100:色情,110:性感,200:广告,210:二维码,260:广告法,300:暴恐,400:违禁,500:涉政,800:恶心,900:其他,1100:涉价值观,1020:黑屏,1030:挂机 |
video.evidences | JSONArray | 详细信息 |
video.evidences[].beginTime | Number | 证据开始相对时间,单位为毫秒,调用方获取后可自行格式化为可视化时间,如:149000 转换为"00:02:29" |
video.evidences[].endTime | Number | 证据结束相对时间,单位为毫秒,调用方获取后可自行格式化为可视化时间,如:149000 转换为"00:02:29" |
video.evidences[].type | Number | 1:图片,2:视频 |
video.evidences[].labels | JSONArray | 证据结果数组 |
video.evidences[].labels[].label | Number | 分类信息,100:色情,110:性感;200:广告,210:二维码,260:广告法,300:暴恐,400:违禁,500:涉政,800:恶心类,900:其他,1020:黑屏,1030:挂机,1100:涉价值观 |
video.evidences[].labels[].level | Number | 级别信息,分为1:不确定,2:确定 |
video.evidences[].labels[].rate | Number | 分数 |
video.evidences[].labels[].subLabels | JSONArray | 细分类信息,可能包含多个,可能为空 |
video.evidences[].labels[].subLabels[].subLabel | Number | 细分类,详细编码请参考下方对应细分类编码对照表 |
video.evidences[].labels[].subLabels[].rate | Number | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低 |
video.evidences[].labels[].subLabels[].details | JSONArray | 命中详细信息 |
video.evidences[].labels[].subLabels[].details[].hitInfos | String | 针对命中sublabel的补充说明 |
video.evidences[].labels[].subLabels[].details[].imageTagInfo | JSONArray | 命中标签详细信息,对于返回的hintInfo的解释说明,可能为空 |
video.evidences[].labels[].subLabels[].details[].imageTagInfo[].tagName | String | hinInfo中可返回的图片中包含的可识别内容 |
video.evidences[].labels[].subLabels[].details[].imageTagInfo[].tagGroup | String | tagName对应的分组名称,用于对tageName的解释 |
video.evidences[].labels[].subLabels[].details[].hitLocationInfos | JSONArray | 命中详情位置信息,当前人脸、logo、关键词支持位置信息返回 |
video.evidences[].labels[].subLabels[].details[].hitLocationInfos[].hitInfo | String | 命中详情 |
video.evidences[].labels[].subLabels[].details[].hitLocationInfos[].x1 | Number | 位置信息,对应目标矩形左上角横坐标相对坐标 |
video.evidences[].labels[].subLabels[].details[].hitLocationInfos[].y1 | Number | 位置信息,对应目标矩形左上角纵坐标相对坐标 |
video.evidences[].labels[].subLabels[].details[].hitLocationInfos[].x2 | Number | 位置信息,对应目标矩形右下角横坐标相对坐标 |
video.evidences[].labels[].subLabels[].details[].hitLocationInfos[].y2 | Number | 位置信息,对应目标矩形右下角纵坐标相对坐标 |
人审证据信息 reviewEvidences 数据结构:
参数名称 | 类型 | 描述 |
---|---|---|
reason | String | 人工判定原因 |
detail | JSONObject | 详细人审证据信息 |
detail.audio | JSONOArray | 人审音频片段证据信息 |
detail.audio[].startTime | Number | 音频断句证据开始时间戳,单位秒 |
detail.audio[].endTime | Number | 音频断句证据结束时间戳,单位秒 |
detail.audio[].description | String | 加入原因 |
detail.video | JSONOArray | 人审视频截图证据信息 |
detail.video[].url | String | 证据截图url |
detail.video[].startTime | Number | 证据开始时间戳,单位毫秒 |
detail.video[].endTime | Number | 证据结束时间戳,单位毫秒 |
detail.video[].description | String | 加入原因 |
内容安全审核结果回调内容示例
{
"vid": 1212, //视频ID
"type": "vod_anti_trash", // 回调类型 vod_anti_trash:内容安全审核回调
"userDefInfo": "AntiTrashCreateRequest", //用户发起时提交数据
"result": 2, //审核结果, 1:正常(建议通过) 2:异常(建议拦截) 3:疑似(建议人工确认)
"dataId": "783282705",
"taskId": "535ac5612221476ab16328fed530de03",
"censorSourc": 2,
"censorTime": 1612234421000,
"evidences": {
"audio": {},
"video": {
"taskId": "535ac5612221476ab16328fed530de03",
"status": 0,
"level": 2,
"evidences": [
{
"type": 1,
"url": "https://illegal-video.nosdn.127.net/535ac5612221476ab16328fed530de03_1594002739807.jpg",
"beginTime": 30200,
"endTime": 30200,
"labels": [
{
"label": 400,
"level": 1,
"rate": 0.964954
}
]
}
]
}
}
}
此文档是否对你有帮助?