功能描述
若您配置了审核回调地址,在视频审核结束后,后台会将审核结果以 json 形式回调至您的回调地址。您可以通过回调内容,进行后续的文件处理操作。
回调内容分为简洁回调(Simple)和详细回调(Detail)。
回调内容说明
简洁回调(Simple)
回调通知为HTTP
的POST
方法,含有 X-Ci-Content-Version: Simple
的头部。
该响应体返回为 application/json 数据,包含完整节点数据的内容展示如下:
{
"code": 0,
"data": {
"event":"ReviewVideo",
"forbidden_status": 0,
"porn_info": {
"hit_flag": 0,
"label": "",
"count": 0
},
"result": 0,
"trace_id": "test_trace_id",
"url": "test_url",
"cos_headers": {
"x-cos-meta-xx": "xx"
}
},
"message": "Test request when setting callback url"
}
具体的数据内容如下:
参数名称 | 描述 | 类型 | 是否必选 |
---|---|---|---|
code | 错误码,值为0时表示审核成功,非0表示审核失败。详情请查看 内容审核错误码。 | Integer | 是 |
message | 错误描述。 | String | 是 |
data | 视频审核结果的详细信息。 | Object | 是 |
data 的具体内容如下:
参数名称 | 描述 | 类型 | 是否必选 |
---|---|---|---|
trace_id | 请求的 ID,如果是接口创建的异步任务,则为接口返回的 JobId。 | String | 是 |
url | 被审核视频的完整 URL 链接。 | String | 是 |
event | 触发的事件,此处固定为 ReviewVideo。 | String | 是 |
result | 该字段表示本次判定的审核结果,您可以根据该结果,进行后续的操作;建议您按照业务所需,对不同的审核结果进行相应处理。有效值:0(审核正常),1 (判定为违规敏感文件),2(疑似敏感,建议人工复核)。 | Integer | 是 |
forbidden_status | 若您设置了自动冻结,该字段表示视频的冻结状态。0:未冻结,1:已被冻结,2:已转移文件。 | Integer | 是 |
cos_headers | 资源上传时设置的自定义 header 内容,若未设置则不返回。 | Object | 否 |
porn_info | 审核场景为涉黄的审核结果信息。 | Object | 否 |
ads_info | 审核场景为广告引导的审核结果信息。 | Object | 否 |
data_id | 提交任务时设置了 DataId 参数时返回,返回原始内容,长度限制为512字节。 | String | 否 |
xx_info 的具体内容如下:
参数名称 | 描述 | 类型 | 是否必选 |
---|---|---|---|
hit_flag | 用于返回该审核场景的审核结果,返回值:0:正常。1:确认为当前场景的违规内容。2:疑似为当前场景的违规内容。 | Integer | 是 |
label | 命中的标签名称,目前为空。 | String | 是 |
count | 命中该审核分类的敏感截图张数。 | Integer | 是 |
详细回调(Detail)
回调通知为HTTP
的POST
方法,含有 X-Ci-Content-Version: Detail
的头部。
该响应体返回为 application/json 数据,包含完整节点数据的内容展示如下:
{
"EventName": "ReviewVideo",
"JobsDetail": {
"JobId": "xxxxxx",
"State": "Success",
"CreationTime": "",
"Object": "",
"Label": "Normal",
"Result": 0,
"SnapshotCount": 1,
"PornInfo": {
"HitFlag": 0,
"Count": 0
},
"AdsInfo": {
"HitFlag": 0,
"Count": 0
},
"Snapshot": [
{
"Url": "",
"Text": "",
"SnapshotTime": 0,
"Label": "Normal",
"Result": 0,
"PornInfo": {
"HitFlag": 0,
"Score": 0,
"Label": "",
"SubLabel": ""
},
"AdsInfo": {
"HitFlag": 0,
"Score": 0,
"Label": "",
"SubLabel": ""
}
}
],
"AudioSection": [
{
"Url": "",
"Text": "",
"OffsetTime": 0,
"Duration": 30000,
"Label": "Normal",
"Result": 0,
"PornInfo": {
"HitFlag": 0,
"Score": 0
},
"AdsInfo": {
"HitFlag": 0,
"Score": 0
}
}
],
"BucketId": "examplebucket-1250000000",
"Region": "ap-chongqing",
"ForbidState": 0,
"CosHeaders": {
"x-cos-meta-id": "xxx"
}
}
}
具体的数据内容如下:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
JobsDetail | 任务的详细结果信息。 | Object |
EventName | 任务的类型,为ReviewVideo 。 |
String |
JobsDetail 的具体内容如下:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
Code | 错误码,只有 State 为 Failed 时返回。详情请查看 错误码列表。 | String |
Message | 错误描述,只有 State 为 Failed 时返回。 | String |
JobId | 审核任务的 ID。 | String |
DataId | 提交任务时设置了DataId参数时返回,返回原始内容,长度限制为512字节。 | String |
State | 视频审核任务的状态,值为 Submitted(已提交审核)、Snapshoting(截图中)、Success(审核成功)、Failed(审核失败)、Auditing(审核中)其中一个。 | String |
CreationTime | 视频审核任务的创建时间。 | String |
Object | 被审核的视频文件的名称,创建任务使用 Object 时返回。 | String |
Url | 本次审核的文件链接,创建任务使用 Url 时返回。 | String |
SnapshotCount | 视频截图的总数量。直播流状态为 Auditing 的回调中该字段为本次回调包含的截图数量。 | Integer |
Label | 该字段用于返回检测结果中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:Normal:正常,Porn:色情,Ads:广告。 | String |
Result | 该字段表示本次判定的审核结果,您可以根据该结果,进行后续的操作;建议您按照业务所需,对不同的审核结果进行相应处理。有效值:0(审核正常),1 (判定为违规敏感文件),2(疑似敏感,建议人工复核)。 | Integer |
PornInfo | 审核场景为涉黄的审核结果信息。 | Object |
AdsInfo | 审核场景为广告引导的审核结果信息。 | Object |
Snapshot | 该字段用于返回视频中视频画面截图审核的结果。 | Array |
AudioSection | 该字段用于返回视频中视频声音审核的结果。如果未检测音频,则不返回。 | Array |
BucketId | 创建的审核任务所属的存储桶名称。 | String |
Region | 存储桶所在的地域。 | String |
ForbidState | 若您设置了自动冻结,该字段表示视频的冻结状态。0:未冻结,1:已被冻结,2:已转移文件。 | Integer |
CosHeaders | 资源上传到 COS 时设置的自定义 Header 内容,如果未设置则不返回。map 结构,key 为自定义 Header 的名称,value 为内容。 | Object |
UserInfo | 用户业务字段。创建任务时未设置 UserInfo 则无此字段。 | Object |
Type | 审核类型,直播流审核返回 live_video。 | String |
ListInfo | 账号黑白名单结果。 | Container |
PornInfo,AdsInfo 的具体内容如下:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
HitFlag | 用于返回该审核场景的审核结果,返回值:0:正常。1:确认为当前场景的违规内容。2:疑似为当前场景的违规内容。 | Integer |
Count | 命中该审核分类的截图张数。 | Integer |
Snapshot 的具体内容如下:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
Url | 视频截图的访问地址,您可以通过该地址查看该截图内容,地址格式为标准 URL 格式。 注意:每次查看数据的有效期为2小时,2小时后如还需查看,请发起查询请求。 |
String |
SnapshotTime | 该字段用于返回当前截图位于视频中的时间,单位为毫秒。例如5000(视频开始后5000毫秒)。审核直播流时,该字段返回当前截图的时间戳,单位为毫秒。例如1649387157000。 | Integer |
Text | 该字段用于返回当前截图的图片 OCR 文本识别的检测结果,仅在审核策略开启文本内容检测时返回。 | String |
Label | 该字段用于返回检测结果中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:Normal:正常,Porn:色情,Ads:广告。 | String |
Result | 该字段表示本次判定的审核结果,您可以根据该结果,进行后续的操作;建议您按照业务所需,对不同的审核结果进行相应处理。有效值:0(审核正常),1 (判定为违规敏感文件),2(疑似敏感,建议人工复核)。 | Integer |
PornInfo | 审核场景为涉黄的审核结果信息。 | Object |
AdsInfo | 审核场景为广告引导的审核结果信息。 | Object |
Snapshot 中 PornInfo,AdsInfo 的具体内容如下:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
HitFlag | 是否命中该审核分类,0表示未命中,1表示命中,2表示疑似。 | Integer |
Score | 该字段表示审核结果命中审核信息的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表该内容越有可能属于当前返回审核信息。例如:色情 99,则表明该内容非常有可能属于色情内容。 | Integer |
Label | 该字段表示该截图的综合结果标签(可能为 SubLabel,可能为人物名字等)。 | String |
Category | 该字段为Label 的子集,表示审核命中的具体审核类别。例如 Sexy,表示色情标签中的性感类别。 |
String |
SubLabel | 该字段表示审核命中的具体子标签,例如:Porn 下的 SexBehavior 子标签。 注意:该字段可能返回空,表示未命中具体的子标签。 |
String |
OcrResults | 该字段表示 OCR 文本识别的详细检测结果,包括文本坐标信息、文本识别结果等信息,有相关违规内容时返回。 | Array |
LibResults | 该字段用于返回基于风险库识别的结果。 注意:未命中风险库中样本时,此字段不返回。 |
Container Array |
Container 节点 LibResults 的内容:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
ImageId | 该字段表示命中的风险库中的图片样本 ID。 | String |
Score | 该字段用于返回当前标签下的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表当前的图片越有可能命中库中的样本。例如:色情 99,表明该数据非常有可能命中库中的色情样本。 | Integer |
OcrResults 的具体内容如下:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
Text | 图片 OCR 文本识别出的具体文本内容。 | String |
Keywords | 在当前审核场景下命中的关键词。 | Array |
Location | 该参数用于返回 OCR 检测框在图片中的位置(左上角 xy 坐标、长宽、旋转角度),以方便快速定位识别文字的相关信息。 | Object |
ObjectResults 的具体内容如下:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
Name | 该标签用于返回所识别出的实体名称,如人名。 | String |
Location | 该参数用于返回检测结果在图片中的位置(左上角 xy 坐标、长宽、旋转角度),以方便快速定位相关信息。 | Object |
Location 的具体内容如下:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
X | 该参数用于返回检测框左上角位置的横坐标(x)所在的像素位置,结合剩余参数可唯一确定检测框的大小和位置。 | Float |
Y | 该参数用于返回检测框左上角位置的纵坐标(y)所在的像素位置,结合剩余参数可唯一确定检测框的大小和位置。 | Float |
Height | 该参数用于返回检测框的高度(由左上角出发在 y 轴向下延伸的长度),结合剩余参数可唯一确定检测框的大小和位置。 | Float |
Width | 该参数用于返回检测框的宽度(由左上角出发在 x 轴向右延伸的长度),结合剩余参数可唯一确定检测框的大小和位置。 | Float |
Rotate | 该参数用于返回检测框的旋转角度,该参数结合 X 和 Y 两个坐标参数可唯一确定检测框的具体位置;取值:0-360(角度制),方向为逆时针旋转。 | Float |
AudioSection 的具体内容如下:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
Url | 视频声音片段的访问地址,您可以通过该地址获取该声音片段的内容,地址格式为标准 URL 格式。 注意:每次查看数据的有效期为2小时,2小时后如还需查看,请发起查询请求。 |
String |
Text | 该字段用于返回当前视频声音的 ASR 文本识别的检测结果。 | String |
OffsetTime | 该字段用于返回当前声音片段位于视频中的时间,单位为毫秒,例如5000(视频开始后5000毫秒)。审核直播流时,该字段返回当前声音片段的时间戳,单位为毫秒,例如1649387157000。 | Integer |
Duration | 当前视频声音片段的时长,单位毫秒。 | Integer |
Label | 该字段用于返回检测结果中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:Normal:正常,Porn:色情,Ads:广告。 | String |
Result | 供参考的识别结果,0(正常),1(敏感),2(疑似敏感)。 | Integer |
PornInfo | 审核场景为涉黄的审核结果信息。 | Object |
AdsInfo | 审核场景为广告引导的审核结果信息。 | Object |
AudioSection 中 PornInfo,AdsInfo 的具体内容如下:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
HitFlag | 是否命中该审核分类,0表示未命中,1表示命中,2表示疑似。 | Integer |
Score | 该字段表示审核结果命中审核信息的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表该内容越有可能属于当前返回审核信息。例如:色情99,表明该内容非常有可能属于色情内容。 | Integer |
Category | 该字段表示命中的审核类别。 注意:该字段可能返回空。 |
String |
Keywords | 在当前审核场景下命中的关键词,没有时不返回。 | Array |
LibResults | 该字段用于返回基于风险库识别的结果。 注意:未命中风险库中样本时,此字段不返回。 |
Container Array |
Container 节点 LibResults 的内容:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
LibType | 命中的风险库类型,取值为1(预设黑白库)和2(自定义风险库)。 | Integer |
LibName | 命中的风险库名称。 | String |
Keywords | 命中的库中关键词。该参数可能会有多个返回值,代表命中的多个关键词。 | String Array |
UserInfo 的内容:
节点名称(关键字) | 描述 | 类型 | 是否必选 |
---|---|---|---|
TokenId | 一般用于表示账号信息,长度不超过128字节。 | String | 否 |
Nickname | 一般用于表示昵称信息,长度不超过128字节。 | String | 否 |
DeviceId | 一般用于表示设备信息,长度不超过128字节。 | String | 否 |
AppId | 一般用于表示 App 的唯一标识,长度不超过128字节。 | String | 否 |
Room | 一般用于表示房间号信息,长度不超过128字节。 | String | 否 |
IP | 一般用于表示 IP 地址信息,长度不超过128字节。 | String | 否 |
Type | 一般用于表示业务类型,长度不超过128字节。 | String | 否 |
ReceiveTokenId | 一般用于表示接收消息的用户账号,长度不超过128字节。 | String | 否 |
Gender | 一般用于表示性别信息,长度不超过128字节。 | String | 否 |
Level | 一般用于表示等级信息,长度不超过128字节。 | String | 否 |
Role | 一般用于表示角色信息,长度不超过128字节。 | String | 否 |
Container 节点 ListInfo 的内容:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
ListResults | 命中的所有名单结果。 | Container Array |
Container 节点 ListResults 的内容:
节点名称(关键字) | 描述 | 类型 |
---|---|---|
ListType | 命中的名单类型,取值为0(白名单)和1(黑名单)。 | Integer |
ListName | 命中的名单名称。 | String |
Entity | 命中了名单中的哪条内容。 | String |
实际案例
案例一:简洁回调(Simple)
{
"code": 0,
"data": {
"event":"ReviewVideo",
"forbidden_status": 0,
"porn_info": {
"hit_flag": 0,
"label": "",
"count": 0
},
"result": 0,
"trace_id": "vxzt90jl2dfscxxxxxxxxxxxxxxxxx",
"url": "https://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/video.mp4",
"cos_headers": {
"x-cos-meta-id": "666666"
}
},
"message": "success"
}
案例二:详细回调(Detail)
{
"EventName": "ReviewVideo",
"JobsDetail": {
"JobId": "xxxxxx",
"State": "Success",
"CreationTime": "2021-08-10T21:01:10+08:00",
"Object": "1.mp4",
"Label": "Normal",
"Result": 0,
"SnapshotCount": 1,
"PornInfo": {
"HitFlag": 0,
"Count": 0
},
"AdsInfo": {
"HitFlag": 0,
"Count": 0
},
"Snapshot": [
{
"Url": "https://video-1250000000.cos.ap-chongqing.myqcloud.com/test/0.jpg",
"Text": "",
"SnapshotTime": 41,
"Label": "Normal",
"Result": 0,
"PornInfo": {
"HitFlag": 0,
"Score": 0,
"Label": "",
"SubLabel": ""
},
"AdsInfo": {
"HitFlag": 0,
"Score": 0,
"Label": "",
"SubLabel": ""
}
}
],
"AudioSection": [
{
"Url": "https://audio-1250000000.cos.ap-guangzhou.myqcloud.com/0.mp3",
"Text": "",
"OffsetTime": 0,
"Duration": 30000,
"Label": "Normal",
"Result": 0,
"PornInfo": {
"HitFlag": 0,
"Score": 0
},
"AdsInfo": {
"HitFlag": 0,
"Score": 0
}
}
],
"BucketId": "examplebucket-1250000000",
"Region": "ap-chongqing",
"ForbidState": 0,
"CosHeaders": {
"x-cos-meta-id": "xxxx"
}
}
}