内容安全

产品文档

内容安全

图片异步检测接口

本文提供了调用图片风险违规内容审核的接口和参数说明,旨在帮助您编写程序构建HTTP调用请求,有效地检测图片中的多维度风险内容。关于如何构造HTTP请求,请参见请求结构。

描述

提交图片异步检测任务,检测图片违规或识别图片中的不良信息。

支持检测的场景包括:图片智能鉴黄、图片暴恐涉政识别。

异步检测任务不会实时返回检测结果,您需要通过callback的方式获取检测结果。

关于scene与label参数

在提交检测任务时,您需要指定scenes

说明 同时检测多个场景的情况下,将按照每个场景的检测图片数量×每个场景的单价进行累加计费。

而在检测返回结果中,则包含了您指定的场景对应的label结果分类参数。您可以根据suggestion参数的返回值对图片进行处置,根据label参数的返回值判断风险的具体类型。

在图片审核中,scene与label的对应关系如下:

描述 scene label
识别图片中的色情内容。 porn normal:正常图片,无色情内容
sexy:性感图片
porn:色情图片
vulgar:低俗图片
识别图片中的暴恐涉政内容。 terrorism normal:正常图片
bloody:血腥
explosion:爆炸烟光
weapon:武器
politics:涉政
terrorist:涉恐人物
riot : 暴乱
flag:旗帜
other:其他
识别图片中的广告以及文字违规信息。 ad normal:正常图片
ad:其他广告

关于检测时长

同步检测允许的最长检测时间是6秒,如果检测在该时间限制内没有完成,系统会强制返回超时错误码。如果您对实时性要求不高,可以选择异步检测;其它情况下,请选择同步检测,同步检测接口的调用相对简单些。对于同步检测接口的调用,建议您将超时时间设置为6秒。

关于图片的限制

  • 图片链接支持以下协议:HTTP和HTTPS。
  • 图片支持以下格式:PNG、JPG、JPEG、BMP。
  • 图片大小限制为5MB以内(适用于同步和异步调用)。如您有特殊需求(大图片),可以提工单进行调整。
  • 图片下载时间限制为3s内,如果下载时间超过3s,返回下载超时。
  • 图片像素建议不低于256*256,像素过低可能会影响识别效果。
  • 图片检测接口响应时间依赖图片的下载时间。请保证被检测图片所在的存储服务稳定可靠,建议您使用京东云OSS存储或者CDN缓存等。

请求方式

POST

请求地址

https://censor.jdcloud-api.com/v1/image:asyncscan

请求参数

名称 类型 是否必需 默认值 描述
scenes String[ ] True 指定检测场景
tasks ImageTask[ ] True 检测任务列表,包含一个或多个元素。每个元素是个结构体,最多可添加10个元素,每个元素的具体结构描述见ImageTask。
callback String False 异步检测结果回调通知您的URL,支持HTTP/HTTPS。该字段为空时,您必须定时检索检测结果。
seed String False 随机字符串,该值用于回调通知请求中的签名。当使用callback时,该字段必须提供。

ImageTask

名称 类型 是否必需 默认值 描述
dataId String False 数据Id。需要保证在一次请求中所有的Id不重复
url String True 待检测图像的URL, 支持jpg、png、bmp,最大5M

异步检测通知回调

回调callback填写要求:
1. 回调地址是HTTP, HTTPS协议,公网能访问
2. 回调方法:POST 
3. 回调格式为application/x-www-form-urlencoded。

回调结果参数说明

参数名称 类型 描述
checksum 字符串 由用户uid + seed + content拼成字符串,通过SHA256算法生产。为防篡改,您可以在获取到推送结果时,按此算法生成字符串,与checksum做一次校验。
content String JSON字符串格式,content结果格式参见下文
content格式说明
参数名称 类型 描述
result JSON对象 图片异步检测机审结果,结果result的格式与同步检测结果一致。

返回参数

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

名称 类型 描述
result Result

Result

名称 类型 描述
data TaskData[ ]

TaskData

名称 类型 描述
code Integer 错误码,和HTTP的status code一致
msg String 错误描述信息
dataId String 对应请求的dataId
taskId String 该检测任务的ID

返回码

返回码 描述
200 OK
500 Internal Server Error
400 Bad Request

请求示例

{
  "scenes": [
    "porn"
  ],
  "tasks": [
    {
      "url": "http://xxx.xxx.xxx/img1.jpg"
    }
  ]
}

返回示例

{
  "requestId": "bqfmguuo6d68mmbca0kw7cqeni8wmqqo",
  "result": {
    "data": [
      {
        "code": 200,
        "msg": "OK",
        "taskId": "imgd169fa6b-191c-45f6-a344-6dba8f4972ad",
        "results": [
          {
            "scene": "porn",
            "label": "normal",
            "score": 100,
            "suggestion": "pass"
          }
        ]
      }
    ]
  }
}

查询图片异步检测结果

描述

查看图片异步检测结果

客户端定时轮询查询异步检测结果。建议您将查询间隔设置为30秒,最长不能超出1个小时,否则结果将会丢失。

说明 该API接口为免费接口。

请求方式

POST

请求地址

https://censor.jdcloud-api.com/v1/image:results

请求参数

名称 类型 是否必需 默认值 描述
taskIds String[ ] True

返回参数

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

名称 类型 描述
result Result

Result

名称 类型 描述
data ImageResult[ ]

ImageResult

名称 类型 描述
code Integer 错误码,和HTTP的status code一致
msg String 错误描述信息
dataId String 对应请求的dataId
taskId String 该检测任务的ID
results ImageResultDetail[ ] 返回结果。调用成功时(code=200),返回结果中包含一个或多个元素。每个元素是个结构体,具体结构描述见ImageResultDetail

ImageResultDetail

名称 类型 描述
scene String 检测场景,和调用请求中的场景对应
label String 检测结果的分类,与具体的scene对应。取值范围参考scene和label说明
score Number 结果为该分类的概率,取值范围为0.00-100.00。值越高,表示越有可能属于改该子分类
suggestion String 建议用户执行的操作,取值范围pass:图片正常,无需进行其余操作,或者未识别出目标对象review:检测结果不确定,需要进行人工审核,或识别出目标对象block:图片违规,建议执行进一步操作(如直接删除或做限制处理)
hintWordsInfos HintWordsInfo[ ] 命中该风险的上下文信息。具体结构描述见hintWordsInfo
sfaceData SFaceData[ ] 图片中包含暴恐识涉政内容时,返回识别出来的暴恐涉政信息,具体结构描述见sfaceData

SFaceData

名称 类型 描述
x Number 以图片左上角为坐标原点,logo区域左上角到y轴距离
y Number 以图片左上角为坐标原点,logo区域左上角到x轴距离
w Number logo区域宽度
h Number logo区域高度
faces Face[ ] 识别出的人脸信息,具体结构描述见face

Face

名称 类型 描述
name String 相似人物名称
rate Number 相似概率
id Number 人脸id

HintWordsInfo

名称 类型 描述
context String 检测文本命中的风险内容上下文内容。如果命中了您自定义的风险文本库,则会返回命中的文本内容(关键词或相似文本)
libName String 命中自定义词库时,才有本字段。取值为创建词库时填写的词库名称
libCode String 命中您自定义文本库时,才会返回该字段,取值为创建风险文本库后系统返回的文本库code

返回码

返回码 描述
200 OK
500 Internal Server Error
400 Bad Request

请求示例

{
  "taskIds": [
    "ee4d109b-8e3f-4654-afcb-3e821ff3eb34"
  ]
}

返回示例

{
  "requestId": "37f71b16-73f0-4eef-a7ec-79b2b13a8dd4",
  "result": {
    "data": [
      {
        "code": 200,
        "msg": "OK",
        "taskId": "ee4d109b-8e3f-4654-afcb-3e821ff3eb34",
        "results": [
          {
            "scene": "porn",
            "label": "normal",
            "score": 0,
            "suggestion": "pass"
          }
        ]
      }
    ]
  }
}
更新时间:2020-11-09 18:55:24
文档反馈 docs feedback