图片在线检测
接口地址
http://as.dun.163.com/v4/image/check
接口描述
建议您使用POST请求, 且仅接受 application/x-www-form-urlencoded 编码格式。
该接口同步返回内容安全服务实时反垃圾引擎检测结果,产品根据图片分类结果,做图片初步过滤。由于网络环境及图片本身大小的影响(建议产品对图片进行压缩后,再过反垃圾检测),部分图片可能出现下载超时情况,该部分数据会返回检测失败,请重新检测。机器离线检测后,可能会有部分不确定的数据需要人工进一步确认。离线检测结果及人工确认结果需产品自行定期调用图片离线检测结果获取。
图片限制
◆ 目前支持的图片文件格式有:jpg, jpeg,png, bmp, gif, webp, tiff;
◆ 支持图片大小:提交图片url地址建议小于10M,如提交图片base64值,转换后的base64内容以及所有请求参数大小不超过10M
◆ 图片尺寸大小:不小于 50px*50px;
◆ gif图长图说明:易盾自动将gif图长图截帧过检,最多5张,gif图长图均按照实际截图张数进行计费;
◆ 长图定义:长宽比大于5的图片
请求参数
公共参数已省略,详细见 请求公共参数
基本参数
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
images | String(json数组) | Y | 32张或10MB | images为json数组,支持批量检测 |
version | String | Y | 4 | 接口版本v4.1 |
images参数结构说明
字段名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
name | String | Y | 1024 | 图片名称(或图片标识), 该字段为回调信号字段,产品可以根据业务情况自行设计,如json结构、或者为图片url均可 |
type | Number | Y | 4 | 类型,分别为1:图片URL,2:图片BASE64值 |
data | String | Y | 32张或者10MB | 图片内容,如type=1,则该值为图片URL,图片URL检测单次请求最多支持32张。如type=2,则该值为图片Base64值,转换后的base64内容以及所有请求参数大小不超过10M |
callbackUrl | String | N | 256 | 离线结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。 |
业务参数
业务扩展参数,有助于通过业务维度辅助反垃圾结果判定,建议传入。
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
用户信息 | - | N | - | 用户信息包含账号、昵称、等级、角色等,请查看 业务扩展参数—用户信息 |
设备信息 | - | N | - | 设备信息包含设备ID、设备ID类型等,请查看 业务扩展参数—设备信息 |
场景信息 | - | N | - | 场景信息包含私聊、群聊、直播、帖子等场景字段,请查看 业务扩展参数—场景信息 |
ip | String | N | 128 | 用户IP地址 |
checkLabels | String数组 | N | 64 | 业务自定义过检分类,请谨慎写入,并于策略经理充分沟通,以免引起漏判,您可指定多个垃圾类别进行机器检测,多个垃圾类别以逗号分隔("100,200"),指定后业务配置过检分类即失效,过检分类列表:过检分类列表:100:色情,110:性感低俗,200:广告,210:二维码,260:广告法,300:暴恐,400:违禁,500:涉政,800:恶心类,900:其他,1100:涉价值观 ,如不指定类别过检,默认按照业务配置过检分类 |
subProduct | String | N | 32 | 业务结算id(自定义),业务方传入参数,用于资源账单统计,如需开启请联系易盾客户经理。开启之后资源账单按套餐结算sheet增加subProduct维度的数据请求量、检测量、消耗金额的统计 |
extension | String | N | 30000 | 自定义扩展参数 |
响应结果
响应字段如下,响应通用字段已省略,详细见 响应通用字段 :
反垃圾结果
antispam 数组数据结构
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 图片名称(或图片标识) |
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
status | Number | 图片检测状态码,定义为:0:检测成功,610:图片下载失败,620:图片格式错误,630:其它 |
action | Number | 建议动作,2:建议删除,1:建议审核,0:建议通过 |
censorType | Number | 审核模式,0:纯机审,1:机审+部分人审,2:机审+全量人审 |
strategyVersion | String | 策略版本号,策略调整后会更新,可用于追溯机审调优效果 |
frameSize | Number | 长图、gif图片拆帧后的分帧数,默认为1 |
hidden | Boolean | 否 |
hiddenFormat | String | 否 |
labels | json数组 | 分类信息 |
labels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
label | Number | 分类信息,100:色情,110:性感低俗,200:广告,210:二维码,260:广告法,300:暴恐,400:违禁,500:涉政,800:恶心类,900:其他,1100:涉价值观 |
subLabels | json数组 | 细分类信息,可能包含多个,可能为空 |
level | Number | 分类级别,0:正常,1:不确定,2:确定 |
rate | Number | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低。若level为正常,置信度越大,说明正常的可能性越高。若level为不确定或确定,置信度越大,说明垃圾的可能性越高 |
subLabels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
subLabel | Number | 细分类,详细编码请参考下方对应细分类编码 对照表 |
rate | Number | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低 |
details | json对象 | 命中详情说明hitInfos:命中详细信息,针对subLabel的补充说明 |
details 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
hitInfos | json数组 | 针对命中sublabel的补充说明 |
anticheatInfo | String | 命中反作弊相关策略,hitType为反垃圾命中类型,1:数据异常 2:行为模型 3:设备模型 4:业务类型 5:校验异常 6:模拟器 7:越狱或root 8:浏览器异常 9:ip异常 10:易盾黑名单 11:自定义黑名单 12:自定义白名单 |
imageTagInfos | json数组 | 命中标签详细信息,对于返回的hintInfo的解释说明,可能为空 |
imageListInfos | json数组 | 自定义图片/关键词名单信息,命中自定义添加的图片或关键词名单时返回 |
hitLocationInfos | json数组 | 命中详情位置信息,当前人脸、logo、关键词支持位置信息返回 |
imageTagInfos 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
tagName | String | hinInfo中可返回的图片中包含的可识别内容 |
tagGroup | String | tagName对应的分组名称,用于对tageName的解释 |
imageListInfos 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
type | Number | type为1:自定义图片名单,type为2:自定义敏感词名单,type为10:用户自定义名单,type为11:IP自定义名单,type为12:设备自定义名单 |
url | String | 该图片命中自定义图片名单对应原始添加的根源图片url |
hitCount | Number | 历史针对该数据源图片命中所有次数 |
word | String | 该图片命中的自定义敏感词 |
entity | String | 图片检测命中的自定义名单内容 |
releaseTime | Number | 名单解封时间,时间戳单位毫秒 |
tagName | String | 自定义名单标识 |
tagGroup | String | 自定义名单分组标识 |
hitLocationInfos 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
hitInfo | String | 命中详情 |
x1 | Number | 位置信息,对应目标矩形左上角横坐标相对坐标 |
y1 | Number | 位置信息,对应目标矩形左上角纵坐标相对坐标 |
x2 | Number | 位置信息,对应目标矩形右下角横坐标相对坐标 |
y2 | Number | 位置信息,对应目标矩形右下角纵坐标相对坐标 |
自定义细分类
易盾支持sublabel自定义细分类过检并返回,如有需求,可联系您的专属安全策略经理添加。
OCR结果
OCR功能需额外付费开启,如有需要请联系您的专属商务,未开通状态下此数组返回为空
OCR 数组数据结构
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 图片名称(或图片标识) |
height | Integer | 图片高度,单位像素 |
width | Integer | 图片宽度,单位像素 |
frameSize | Number | 长图、gif图片拆帧后的分帧数,默认为1 |
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
details | json数组 | OCR详细信息 |
details 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
content | String | 该图片中所有的文字信息集合 |
lineContents | json数组 | 行信息 |
lineContents 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
lineContent | String | 每行的文字信息 |
polygon | json数组 | 行信息坐标,左上角原点顺时针返回四个点的相对坐标信息 |
以下为polygon坐标信息返回示意图:
以图中两行OCR信息返回为例,每行polygon坐标信息包含4个相对坐标点返回,分别为从左上角原点开始,顺时针依次返回1-4四点的原点坐标,每点坐标从左至右为至图片左上角的x轴和y轴的距离。
人脸检测结果
人脸检测结果需额外付费开启,如有需要请联系您的专属商务,未开通状态下此数组返回为空
face 数组数据结构
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 图片名称(或图片标识) |
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
details | json数组 | 人脸检测详细信息 |
details 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
faceNumber | Number | 该图片中包含的人脸个数 |
faceContents | json数组 | 人脸详细信息 |
faceContents 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 人脸名字,不可识别则为空 |
gender | String | 人脸性别,值为男(male)、女(female);不可识别则为空 |
age | Integer | 人脸年龄,值为具体年龄(age);不可识别则为空 |
type | String | 人脸类型,包含卡通脸(cartoon)、普通(normal) |
category | String | 人物分类,包含名人(star)、普通(normal) |
beautyScore | float | 人脸颜值分数,1分制。比如0.87,则代表颜值超过了约87%的人。审美因人而异,结果仅供参考 |
expression | String | 人脸情绪:neutral(扮酷),happy(微笑),sad(悲伤),surprise(惊讶),fear(害怕),anger(生气),disgust(不喜欢) |
maskType | String | mask(有遮挡),normal(无遮挡)。判断人脸是否有遮挡,可以用于判断用户是否佩戴口罩墨镜纱巾等综合性遮挡场景 |
x1 | Number | 人脸位置信息,对应人脸矩形左上角横坐标相对坐标 |
y1 | Number | 人脸位置信息,对应人脸矩形左上角纵坐标相对坐标 |
x2 | Number | 人脸位置信息,对应人脸矩形右下角横坐标相对坐标 |
y2 | Number | 人脸位置信息,对应人脸矩形右下角纵坐标相对坐标 |
图片质量检测结果
图片质量检测结果需额外付费开启,如有需要请联系您的专属商务,未开通状态下此数组返回为空
quality 数组数据结构
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 图片名称(或图片标识) |
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
details | json数组 | 质量检测详细信息 |
details数组结构
参数名称 | 类型 | 描述 |
---|---|---|
MetaInfo | json数组 | 图片基本信息 |
aestheticsRate | Float | 美观度分数,0-1,分数越高美观度越高,建议0.5分以上可认为美观度较好,0.3分以下可认为美观度较差,具体视业务场景而定 |
sharpnessRate | Float | 清晰度分数,0-1,分数越高清晰度越高,建议0.5分以上可认为清晰度较好,0.3分以下可认为清晰度较差,具体视业务场景而定 |
BoarderInfo | json数组 | 图片边框信息 |
backgroundInfo | json数组 | 图片背景信息 |
MetaInfo数组结构
参数名称 | 类型 | 描述 |
---|---|---|
byteSize | Long | 图片大小,单位byte |
format | String | 图片格式 |
height | Integer | 图片高度,单位像素 |
width | Integer | 图片宽度,单位像素 |
BoarderInfo数组结构
参数名称 | 类型 | 描述 |
---|---|---|
hit | Boolean | 图片是否包含边框(任一边包含边框均视为包含)ture:包含边框;false:不包含边框 |
top | Boolean | 图片顶部是否包含边框,ture:包含边框;false:不包含边框 |
right | Boolean | 图片右侧是否包含边框,ture:包含边框;false:不包含边框 |
bottom | Boolean | 图片底部是否包含边框,ture:包含边框;false:不包含边框 |
left | Boolean | 图片左侧是否包含边框,ture:包含边框;false:不包含边框 |
backgroundInfo数组结构
参数名称 | 类型 | 描述 |
---|---|---|
pureBackground | Boolean | 纯色背景检测,ture:背景纯色;false:背景复杂 |
logo检测结果
logo检测支持对图片中包含的通识logo进行识别,检测结果返回需额外付费开启,如有需要请联系您的专属商务,未开通状态下此数组返回为空
logo数组数据结构
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 图片名称(或图片标识) |
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
details | json数组 | logo检测详细信息 |
details数组结构
参数名称 | 类型 | 描述 |
---|---|---|
logoName | String | logo名字,不可识别则为空 |
x1 | Number | logo位置信息,对应logo矩形左上角横坐标相对坐标 |
y1 | Number | logo位置信息,对应logo矩形左上角纵坐标相对坐标 |
x2 | Number | logo位置信息,对应logo矩形右下角横坐标相对坐标 |
y2 | Number | logo位置信息,对应logo矩形右下角纵坐标相对坐标 |
rate | String | 置信度分数 ,置信度0-1,越接近1,置信度越高 |
sizeRatio | String | logo占百分比大小 |
场景检测结果
场景检测支持对图片中场景进行识别,检测结果返回需额外付费开启,如有需要请联系您的专属商务,未开通状态下此数组返回为空
scene数组数据结构
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 图片名称(或图片标识) |
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
details | json数组 | 场景检测详细信息 |
details数组结构
参数名称 | 类型 | 描述 |
---|---|---|
sceneName | String | 场景名字,不可识别则为空.目前识别场景包含游戏画面(game)、卡通动漫(cartoon)、海滩湖泊(sea)、泳池(pool)、健身场所(gym)、绘画作品(painting) |
rate | Number | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低。 |
响应示例
输出结果:
注:分类信息,100:色情,110:性感低俗,200:广告,210:二维码,300:暴恐,400:违禁,500:涉政
{
"code":200,
"msg":"ok",
"antispam":[
{
"taskId":"5ad352adb59c4d6c96e4ad3f9febf446",
"status":0,
"action":2,
"censorType":0,
"name":"test",
"frameSize":1,
"labels":[
{
"label":100,
"level":2,
"rate":1,
"subLabels":[
{
"subLabel":100002,
"rate":1,
"details":{
"hitInfos":[
"各类姿势"
],
"anticheatInfo":null,
"imageTagInfos":[
{
"tagName":"hip",
"tagGroup":"色情部位分组"
}
],
"imageListInfos":null
}
},
{
"subLabel":100005,
"rate":1,
"details":{
"hitInfos":[
"235022",
"女英雄"
],
"anticheatInfo":null,
"imageTagInfos":null,
"imageListInfos":[
{
"url":"https://hbimg.huabanimg.com/9141dceac8af30d8268109d826e7197fa87dbad1cece8-qQdmpK_fw658",
"hitCount":5
}
]
}
}
]
},
{
"label": 200,
"level": 1,
"rate": 0.5,
"subLabels": [
{
"subLabel": 200009,
"rate": 0.5,
"details": {
"hitInfos": [
"13602976390"
],
"hitLocationInfos": [
{
"hitInfo": "笑傲江湖,老莫吊车13602976390",
"x1": 0.035003815,
"y1": 0.045156427,
"x2": 0.7867782,
"y2": 0.07515607
}
]
}
}
]
},
{
"label":500,
"level":0,
"rate":0.9999968,
"subLabels":[
]
},
{
"label":300,
"level":0,
"rate":1,
"subLabels":[
]
},
{
"label":400,
"level":0,
"rate":1,
"subLabels":[
]
},
{
"label":110,
"level":0,
"rate":0.9996687,
"subLabels":[
]
},
{
"label":260,
"level":0,
"rate":1,
"subLabels":[
]
},
{
"label":210,
"level":0,
"rate":1,
"subLabels":[
]
},
{
"label":900,
"level":0,
"rate":1,
"subLabels":[
]
}
]
}
],
"ocr":[
{
"taskId":"5ad352adb59c4d6c96e4ad3f9febf446",
"name":"test",
"height": 730,
"width": 572,
"frameSize":1,
"details":[
{
"content":"各类姿势女英雄",
"background":"complex",
"lineContents":[
{
"lineContent":"各类姿势",
"polygon":[
0.25008985003688305,
0,
0.5503393345124732,
0,
0.5503393345124732,
0.11512622649263339,
0.25008983366479176,
0.11512622649263339
]
},
{
"lineContent":"女英雄",
"polygon":[
0.23939915276392335,
0.5585208414451869,
0.46446352455237394,
0.5585208414451869,
0.46446352455237394,
0.68585205078125,
0.23939915276392335,
0.68585205078125
]
},
{
"lineContent": "笑傲江湖,老莫吊车13602976390",
"polygon": [
0.03500381318649443,
0.04515642821788788,
0.7867782139542079,
0.045156431198120114,
0.7867782139542079,
0.07515606880187989,
0.03500381318649443,
0.07515606880187989
]
}
]
}
]
}
],
"face":[
{
"taskId":"5ad352adb59c4d6c96e4ad3f9febf446",
"name":"test",
"details":[
{
"faceNumber": 3,
"faceContents": [
{
"name": "艾力更·依明巴海",
"x1": 0.047386307,
"y1": 0.036001585,
"x2": 0.19687639,
"y2": 0.15302429,
"gender": "male",
"age": 60
"type":null ,
"sizeRatio":"49.47%",
"beautyScore":0.83 ,
"expression":"happy"
},
{
"name": "陈羽凡",
"x1": 0.11761024,
"y1": 0.26827392,
"x2": 0.3382003,
"y2": 0.4409546,
"gender": "male",
"age": 29,
"type":null ,
"sizeRatio":"50.47%",
"beautyScore":0.85
}
]
}
]
}
],
"quality":[
{
"taskId":"5ad352adb59c4d6c96e4ad3f9febf446",
"name":"test",
"details":[
{
"aestheticsRate":0.41,
"metaInfo":{
"byteSize":345662,
"height":311,
"width":466,
"format":"png"
},
"boarderInfo":{
"hit":false,
"top":false,
"right":false,
"bottom":false,
"left":false
},
"backgroundInfo":{
"pureBackground":true
}
}
]
}
],
"logo": [
{
"taskId": "cb047f822b444668ad90453fbd4d88f4",
"name": "name",
"dataId": "dataId",
"details": [
{
"logoName": "RFA",
"x1": 0.5611,
"y1": 0.7369,
"x2": 0.8444,
"y2": 0.9506,
"rate":0.9742,
"sizeRatio":"2.7%"
}
]
}
],
"scene":[
{
"taskId":"5ad352adb59c4d6c96e4ad3f9febf446",
"name":"test",
"details":[
]
}
]
}