声网视频鉴黄服务以 HTTPS POST 请求的形式向你的应用服务器发送视频鉴黄或截图的消息通知回调。数据格式为 JSON,字符编码为 UTF-8。
收到鉴黄结果的通知后,你的服务器需要进行响应,响应的包体格式为 JSON。在以下任意一种情况下,视频鉴黄服务都会认为通知失败:
200
,或响应包体格式不是 JSON。视频鉴黄服务会在第一次通知失败后立即重试,再次发送消息通知,一共会尝试三次通知。
视频鉴黄场景下,视频鉴黄服务会将鉴黄结果以 HTTPS POST 请求的形式发送到你指定的服务器地址。
字段名 | 值 |
---|---|
Content-Type |
application/json;charset=utf-8 |
请求包体为 JSON Object 类型,包含以下字段:
字段 | 类型 | 描述 |
---|---|---|
requestId |
String | 回调通知 ID,标识来自声网业务服务器的一次事件通知。 |
callbackParam |
JSON Object | 在回调中自定义传入的字段,目前仅包括 cname 字段,即频道名。 |
callbackData |
String | 客户端鉴黄模块透传的字符串数据。 |
checksum |
String | 由 callbackAddr 、code 、object 和 requestId 四个参数值计算出的 MD5 值,用于校验此次回调通知是否来自于视频鉴黄服务。 |
object |
String | 此次回调所鉴别文件的文件名。该文件的命名规则为:<OSS前缀>/<年月日>/<sid>_<cname>__uid_s_<uid>__uid_e_<type>_<utc>.jpg 。文件名中各字段含义如下:<sid> :鉴黄 ID。该 ID 是一次鉴黄流程的唯一标识。<cname> :被鉴黄用户所属的频道名。<uid> :用户 ID。加入频道时设置的 user ID。<type> : 文件类型,只支持 video 。<utc> :此次鉴黄 Unix 时间戳(秒)。UTC 时间,由年、月、日、小时、分钟、秒组成。例如,鉴黄开始时间为 UTC 2021 年 10 月 18 日 11 点 32 分 25 秒,则 Unix 时间戳为 1634527945。 |
code |
Number | 此次鉴黄的状态码。200 表示鉴黄完成。 |
msg |
String | 此次鉴黄的状态。"Moderation complete" 表示此次鉴黄完成。 |
channelName |
String | 此次被鉴黄用户所属的频道名。与 object 文件名中的 |
userId |
String | 此次被鉴黄用户 的 user ID。与 object 文件名中的 |
results |
JSON Object | 此次鉴黄的结果。 |
results.porn |
JSON Object | 鉴黄输出数据。 |
results.porn.outputs |
JSON Object | 该图片为正常、色情及性感图片的概率。 |
results.porn.outputs.neutral |
Float | 该图片为正常图片的概率。正常指图片中无不良内容,可能存在正常且适度的肢体裸露和身体曲线。 |
results.porn.outputs.porn |
Float | 该图片为色情图片的概率。色情指图片包含生殖器官的裸露、性行为与性暗示、性征的过分强调等。 |
results.porn.outputs.sexy |
Float | 该图片为性感图片的概率。性感指图片包含较大尺度的裸露或男女性征的轻微轮廓,但无生殖器官的裸露。 |
results.porn.scene |
String | 鉴黄判定结果。该鉴黄结果是基于 outputs 中的三个浮点数值对图片属性进行的判定。scene 可返回以下值:neutral :正常porn :色情sexy :性感 |
suggestion |
String | 图片处理意见。包含以下值:pass :正常图片,不做处理。block :色情图片,鉴黄不通过。review :性感图片。对于性感图片,你可以根据自己的业务场景将图片认定为正常且不做处理,或进行人工复审。例如,对性感容忍度较高的社交类应用,可以认定图片为正常;而对性感容忍度较低的教育类应用,可以对图片进行人工复审。 |
timestamp |
Int | 此次鉴黄 Unix 时间戳(秒)。UTC 时间,与 object 文件名中的 <utc> 一致。 |
{
"requestId": "38f8e3cfdc474cd56fc1ceba380d7e1a_1652693284_b5813fe2ae4fa5cdfe5abd8fef82526f",
"callbackParam": {
"cname": "httpClient463224"
},
"callbackData": "",
"checksum": "75ee98849119c2ad4ec2aef58f178fd8",
"object": "xiaozuke/20201216/38f8e3cfdc474cd56fc1ceba380d7e1a_httpClient463224__uid_s_91__uid_e_video_20200413081128672.jpg",
"code": 200,
"msg": "Moderation complete",
"channelName": "httpClient463224",
"userId": "91",
"results": {
"porn": {
"outputs": {
"neutral": 0.915607393,
"porn": 0.082511887,
"sexy": 0.00188077823
},
"scene": "neutral"
}
},
"suggestion": "pass",
"timestamp": 20190611073246070
}
仅截图场景下,视频鉴黄服务仅接收客户端上传的图片但不作审核。视频鉴黄服务会将回调通知以 HTTPS POST 请求的形式发送到你指定的服务器地址。
字段名 | 值 |
---|---|
Content-Type |
application/json;charset=utf-8 |
请求包体为 JSON Object 类型,包含以下字段:
字段 | 类型 | 描述 |
---|---|---|
requestId |
String | 回调通知 ID,标识来自声网业务服务器的一次事件通知。 |
callbackParam |
JSON Object | 在回调中自定义传入的字段,目前仅包括 cname 字段,即频道名。 |
callbackData |
String | 客户端鉴黄模块透传的字符串数据。 |
checksum |
String | 由 callbackAddr 、code 、object 和 requestId 四个参数值计算出的 MD5 值,用于校验此次回调通知是否来自于视频鉴黄服务。 |
object |
String | 此次回调所鉴别文件的文件名。该文件的命名规则为:<OSS前缀>/<年月日>/<sid>_<cname>__uid_s_<uid>__uid_e_<type>_utc.jpg 。文件名中各字段含义如下:<sid> :截图 ID。该 ID 是一次截图的唯一标识。<cname> :被截图用户所属的频道名。<uid> :用户 ID。加入频道时设置的 user ID。<type> : 文件类型,只支持 video 。<utc> :此次截图的 Unix 时间戳。UTC 时间,由年、月、日、小时、分钟、秒和毫秒组成。例如,utc 等于 20190611073246073 ,表示该切片文件的开始时间为 UTC 2019 年 6 月 11 日 7 点 32 分 46 秒 73 毫秒。 |
code |
Number | 此次截图的状态码。200 表示截图完成。 |
msg |
String | 此次截图的状态。"Supervise complete" 表示此次截图完成。 |
channelName |
String | 此次被截图用户所属的频道名。与 object.cname 一致。 |
userId |
String | 此次被截图用户的 user ID。与 object.uid 一致。 |
timestamp |
Int | 此次截图 Unix 时间戳(毫秒)。UTC 时间,与 object.utc 一致。 |
{
"requestId": "38f8e3cfdcXXXXXXXXX1ceba380d7e1a_1652693284_b5813fe2ae4fa5cdfe5abd8fef82526f",
"callbackParam": {
"cname": "httpClient463224"
},
"callbackData": "",
"checksum": "75ee988XXXXXXc2ad4ec2aef58f178fd8",
"object": "test/20201216/38f8e3cfdc474cd56fc1ceba380d7e1a_httpClient463224__uid_s_91__uid_e_video_20200413081128672.jpg",
"code": 200,
"msg": "Supervise complete",
"channelName": "httpClient463224",
"userId": "91",
"timestamp": 20190611073246070
}
状态码 | 描述 |
---|---|
200 |
请求成功。 |
201 |
成功请求并创建了新的资源。 |
206 |
整个审核过程中没有用户发流,或部分截图文件没有上传到第三方云存储。 |
400 |
请求的语法错误(如参数错误),服务器无法理解。 |
401 |
未经授权的(App ID/Customer Certificate 匹配错误)。 |
404 |
服务器无法根据请求找到资源(网页)。 |
500 |
服务器内部错误,无法完成请求。 |
504 |
服务器内部错误。充当网关或代理的服务器未从远端服务器获取请求。 |