全部产品

视频智能鉴黄API

更新时间:2017-08-10 17:26:55   分享:   

功能描述

对短视频进行色情识别

HTTP接口描述

公共描述

1.1 场景(scene)和分类(label)

视频鉴黄检测有不同的场景(scene),每个场景scene)对应不同的分类(label)。对应关系如下:

场景(scene)中文名 场景(scene) 分类(label) 备注
视频鉴黄检测 porn normal 正常视频
视频鉴黄检测 porn porn 色情视频

1.2 视频接口-递交视频检测任务接口 (uri: /green/video/asyncscan)

异步检测视频是否为违规内容。请求body是一个JSON对象,字段说明如下:

字段 类型 是否必须 说明
bizType 字符串 可选 业务类型,调用方从云盾内容安全申请所得。每个bizType对应不同的算法/模型。根据配置,后端可根据该字段对请求做不同处理。属于高级用法
scenes 字符串数组 必须 字符串数组,场景定义参考1.1小节;最终执行的算法为该列表里的算法和该用户在后端配置允许的算法的交集
callback 字符串 可选 异步检测结果回调通知用户url;支持http/https。当该字段为空时,用户必须定时检索检测结果
seed 字符串 可选 该值会用户回调通知请求中签名;当含有callback时,该字段为必须。
tasks JSON数组 必选 JSON数组中的每个元素是一个结构体,参见下面Video表

Video表:

字段 类型 是否必须 说明
clientInfo JSON结构体 可选 客户端信息,参考[调用方式/公共请求参数/公共查询参数]小节中ClientInfo结构体描述。服务器会把[调用方式/公共请求参数/公共查询参数]小节中全局的clientInfo和这里的独立的clientInfo合并。独立的clientInfo优先级更高。
dataId 字符串 可选 调用者通常保证一次请求中,所有的dataId不重复
frames JSON数组 必选 截帧信息。frames里的每个元素是个结构体,参考Frame表
framePrefix 字符串 可选 当frames存在时,framePrefix + frame.url 为截帧完整url。
time 整型 可选 内容创建/编辑时间
length 整型 可选 视频长度,单位秒

Frame表

字段 类型 是否必须 说明
url 字符串 可选 截帧地址。当framePrefix存在时,完整截帧地址为:framePrefix + url
offset 整型 可选 该截帧距离片头的时间戳,单位为秒

返回body中的Data字段是JSON数组,每一个元素有如下字段:

字段 类型 是否必须 说明
taskId 字符串 必须 绿网服务器返回的唯一标识该检测任务的ID
dataId 字符串 可选 对应的请求中的dataId

请求body例子:

  1. {
  2. "scenes":["porn"],
  3. "tasks":[
  4. {
  5. "dataId":"videoId xxx",
  6. "time":1475556078881, // 视频创建时间,单位毫秒
  7. "frames":[
  8. {
  9. "offset":10,
  10. "url":"http://g1.ykimg.com/0B860000586C0A0300038A0460000"
  11. },
  12. {
  13. "offset":20,
  14. "url":"http://g1.ykimg.com/0B860000586C0A0300038A0460001"
  15. },
  16. {
  17. "offset":30,
  18. "url":"http://g1.ykimg.com/0B860000586C0A0300038A0460002"
  19. },
  20. {
  21. "offset":40,
  22. "url":"http://g1.ykimg.com/0B860000586C0A0300038A0460003"
  23. },
  24. {
  25. "offset":50,
  26. "url":"http://g1.ykimg.com/0B860000586C0A0300038A0460003"
  27. },
  28. {
  29. "offset":60,
  30. "url":"http://g1.ykimg.com/0B860000586C0A0300038A046000x"
  31. }
  32. ]
  33. }
  34. ]
  35. }

返回例子:

  1. {
  2. "code":200,
  3. "msg":"OK",
  4. "requestId":"requestID xxx",
  5. "data":[
  6. {
  7. "dataId":"videoId xxx",
  8. "taskId":"taskId xxx"
  9. }
  10. ]
  11. }

1.3 视频接口-视频异步检测结果查询接口 (uri: /green/video/results)

客户端定时轮询查询异步检测结果; 建议查询间隔为30秒。请求body是一个JSON数组,字段说明如下:

字段 类型 是否必须 说明
body JSON数组 必须 要查询的taskId列表。最大长度不超过100.

返回body中的Data字段是JSON数组,每一个元素有如下字段:

字段 类型 是否必须 说明
code 整型 必须 错误码,和http的status code一致
msg 字符串 必须 错误描述信息
dataId 字符串 可选 对应的请求中的dataId
taskId 字符串 必须 绿网服务器返回的唯一标识该检测任务的ID
results 数组 可选 当成功时(code == 200),该结果的包含一个或多个元素。每个元素是个结构体。参见下表。

上表results中包含的元素说明:

字段 类型 是否必须 说明
scene 字符串 必须 风险场景,和传递进来的场景对应?
suggestion 字符串 必须 建议用户处理,取值范围:[“pass”, “review”, “block”]
label 字符串 必须 该文本的分类,取值范围参考1.1小节
rate 浮点数 必须 结果为该分类的概率;值越高,越趋于该分类;取值为[0.00-100.00]
frames JSON数组 可选 判断为该分类的一些截帧检测结果。参考截帧检测结果表FrameScanResult
extras JSON对象 可选 附加信息

截帧检测结果表FrameScanResult:

字段 类型 是否必须 说明
url 字符串 可选 截帧地址
offset 整型 可选 该截帧距离片头的时间戳,单位为秒
rate 浮点数 必须 结果为该分类的概率;值越高,越趋于该分类;取值为[0.00-100.00]

请求body例子:

  1. [
  2. "taskId xxx",
  3. "taskId bbb"
  4. ]

响应例子:

  1. {
  2. "code":200,
  3. "msg":"OK",
  4. "requestId":"requestID xxx",
  5. "data":[
  6. {
  7. "code":200,
  8. "msg":"OK",
  9. "dataId":"videoId xxx",
  10. "taskId":"taskId xxx",
  11. "results":[
  12. {
  13. "label":"porn",
  14. "rate":99.2,
  15. "scene":"porn",
  16. "suggestion":"block"
  17. }
  18. ]
  19. }
  20. ]
  21. }

1.4 视频接口-视频反馈接口 (uri: /green/video/feedback)

当用户审核发现绿网检测有错时,可以通过该API反馈给绿网。请求body是一个JSON对象,含有如下字段:

字段 类型 是否必须 说明
taskId 字符串 必须 绿网服务器返回的唯一标识该检测任务的ID
dataId 字符串 可选 对应的请求中的dataId
url 字符串 可选 对应的请求中的url,当请求中没有url时,该字段为空
label 字符串 必须 反馈的分类,取值范围参考1.4小节
frames JSON数组 必须 用户认为属于该分类的截帧信息。frames里的每个元素是个结构体,参考Frame表
note 字符串 可选 备注

Frame表

字段 类型 是否必须 说明
url 字符串 可选 截帧地址
offset 整型 可选 该截帧距离片头的时间戳,单位为秒

返回body中的Data字段为空。

请求body例子:

  1. {
  2. "taskId":"taskId xxx",
  3. "dataId":"dataId xxx",
  4. "url":"http://a.b.c/d.mp4",
  5. "label":"porn",
  6. "frames":[
  7. {
  8. "offset":100
  9. },
  10. {
  11. "offset":200
  12. }
  13. ],
  14. "note":"blabla..."
  15. }

返回例子:

  1. {
  2. "code":200,
  3. "msg":"OK",
  4. "requestId":"requestID xxx"
  5. }
本文导读目录
本文导读目录
以上内容是否对您有帮助?