数美智能图片识别产品API接口文档#


版权所有 翻版必究


接入前准备#

数美服务账号申请#

客户经理已提前与贵公司建立联系或当面拜访,可直接将开通账号及服务相关信息提供至客户经理。 开通账号所需信息包括:

参数项
公司全称xxxx
公司简称xxxx
接口人邮箱xxxx
接口人手机xxxx

渠道配置表#

数美根据客户不同业务场景,配置不同的渠道(channel),制定针对性的拦截策略,同时也方便客户针对不同业务场景的数据进行筛选、分析。业务场景和渠道取值对应表如下(支持客户自定义):

业务场景channel取值备注
头像HEAD_IMG用户头像
相册IMGS用户相册
动态DYNAMIC社交平台的动态配图
文章配图ARTICLE博客、文章中的配图
评论插图COMMENT评论里面的配图
封面COVER相册中的封面或者背景图
商品图片PRODUCT电商平台的商品图片
群聊图片GROUP_CHAT群聊里面的图片消息
私聊图片MESSAGE私聊里面的图片消息
离线测试OFFLINE_TEST关闭了画像和行为相关策略,离线测试专用

数美服务账号信息接收#

数美客户经理会在1个工作日内为您开通相应数美账号及服务,随后接口人邮箱会收到如下信息:

名称具体值说明
accessKeyxxxx数美API服务的认证码,调用数美API时需要传入
organizationxxxx数美分配的企业唯一标识码,调用SDK时需要传入
数美管理后台账号xxxx用于登陆数美管理后台
数美管理后台密码xxxx用于登陆数美管理后台
数美管理后台地址https://console.ishumei.com用于登陆数美管理后台

智能图片过滤服务单张接口接入说明#

同步单条请求#

请求URL:#

集群URL支持产品列表
北京http://api-img-bj.fengkongcloud.com/v2/saas/anti_fraud/img图片
上海http://api-img-sh.fengkongcloud.com/v2/saas/anti_fraud/img图片
新加坡http://api-img-xjp.fengkongcloud.com/v2/saas/anti_fraud/img图片
印度http://api-img-yd.fengkongcloud.com/v2/saas/anti_fraud/img图片
硅谷http://api-img-gg.fengkongcloud.com//v2/saas/anti_fraud/img图片

请求方法:#

POST

字符编码:#

UTF-8

建议超时时间:10s#

目前数美侧下载图片时的连接超时时间是2s,读取超时时间是3s,内部平均处理时间在500ms左右(具体时长和请求type,图片大小相关),下载失败会重试一次,建议客户设置超时时间为7-10s

请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

请求参数名类型参数说明传入说明规范
accessKeystring接口认证密钥
用于权限认证,开通账号服务时由数美提供或使用开通邮箱登录数美后台右上角相关文档处查看
必传参数accessKey
typestring检测的风险类型必传参数监管一级标签
可选值:
POLITICS:涉政识别
OCR:图片中的OCR文字识别
AD:广告识别
BEHAVIOR:不良场景识别,支持吸烟、喝酒、赌博、吸毒、避孕套和无意义画面
PERSON:涉政人脸识别
VIOLENCE:暴恐识别
PORN:色情识别

多个type通过下划线连接,例如AD_PORN_POLITICS用于广告、色情和涉政组合识别
建议传入:POLITICS_PORN_AD_BEHAVIOR

注意:这里POLITICS实际上等价于以下两个类型:
PERSON:涉政人脸识别
VIOLENCE:暴恐识别
(该字段与businessType字段必须选择一个传入)
businessTypestring业务标签类型非必传参数业务标签
可选值:见附录如果需要多个识别功能,通过下划线连接,该字段和type必须选择一个传入
appIdstring应用标识,用于区分相同公司的不同应用数据必传参数需要联系数美开通,请使用数美单独提供的传值为准
callbackstring回调地址,传入该参数时,走异步回调逻辑非必传参数回调http接口,当该字段非空时,服务将根据该字段回调通知用户审核结果
地址必须为http或https的规范url
datajson_object请求的数据内容必传参数请求的数据内容,data长度最长10MB,详见data参数
callbackParamjson_object透传参数非必传参数
其中,data的内容如下:
请求参数名类型参数说明是否必传规范
tokenIdstring用户账号标识,建议使用贵司用户UID(可加密)自行生成 , 标识用户唯一身份用作灌水和广告等行为维度风控。如无用户uid的场景建议使用唯一的数据标识传值必传参数由数字、字母、短杠组成的长度小于等于64位的字符串
imgstring要检测的图片,可使用base64编码的图片数据或者图片的url链接 建议图片下载从CDN源站下载,并且源站不能为单点
风险:如果不是从源站下载,可能存在图片下载失败,导致无法审核
必传参数支持格式:
jpgjpegpngwebpgiftifftif, hief
建议图片像素不小于256*256,目前支持20*20~6000*6000以内分辨率的图片,图片大小最大10MB,异步最大30M
默认长图不切分,需要时请联系数美开通,切分后的计费以实际截取的帧数为准。
btIdstring用户指定的图片标识非必传参数当callback存在时,在回调请求中向用户返回,限制长度为30位
channelstring渠道配置非必传参数见渠道配置表
registerTimeint帐号注册时间非必传参数建议传递此参数,新注册帐号的异常操作风险较高,毫秒级时间戳
friendNumint帐号好友数非必传参数社交场景强烈推荐传此参数,标识用户质量
fansNumint帐号粉丝数非必传参数直播/社区场景强烈推荐传此参数,标识用户质量
isPremiumUserint是否优质(如付费)用户非必传参数配置不同等级,标识用户质量 1为优质用户,0为默认值
ipstring客户端IP非必传参数该参数用于IP维度的用户行为分析,同时可用于比对数美IP黑库
receiveTokenIdstring接收者的tokenId非必传参数接收者的tokenId,私聊场景必选
sexint用户的性别非必传参数用户的性别,可选值:
0:女性
1:男性
ageint用户的年龄非必传参数用户的年龄,可选值:
0:青年(大约18-45岁)
1:中年(大约45-60岁)
2:老年(大于60岁)
levelint用户等级非必传参数用户等级,针对不同等级的用户可配置不同拦截策略
rolestring用户角色非必传参数对不同角色可配置不同策略。
直播领域"ADMIN"表示房管,"HOST"表示主播, "SYSTEM"系统角色, 游戏领域"ADMIN"表示管理员,"USER"表示普通用户,缺失或者"USER"默认普通用户
topicstring讨论的话题编号非必传参数可为书评区编号、论坛帖子编号
phonestring用户手机号非必传参数用户手机号,可用于比对数美手机号黑库
deviceIdstring数美设备指纹标识非必传参数强烈建议传入,数美设备指纹标识,用于用户行为分析。当恶意用户篡改mac、imei等设备信息时,使用deviceId能够发现和识别此类恶意行为,同时可用于比对数美设备指纹黑名单
imeistring用户android设备唯一标识非必传参数相比tokenId和IP,imei和mac更难被更换,当恶意用户使用多个不同账户和IP进作恶时,通过imei和mac能够有效关联识别此类恶意行为,同时可用于比对数美设备黑名单。
macstring用户android设备唯一标识非必传参数同imei字段
idfvstring用户iOS应用唯一标识非必传参数相比tokenId和IP,idfv不能被修改,当恶意用户使用多个不同账户和IP进行恶意行为时,使用idfv能够发现和识别此类恶意行为
idfastring用户iOS应用唯一标识非必传参数同idfv字段
maxFrameintgif最大截帧数量非必传参数截取git等动图帧数,最大为20帧,默认为3帧,计费按照实际截帧数量计费,如默认为截取3帧时按照3帧进行计费
intervalintgif截帧频率非必传参数GIF图检测专用,默认值为1。每interval张图片抽取一张进行检测。
当interval*maxFrame小于该图片所包含的图片数量时,截帧间隔会自动修改为该图片所包含的图片数/maxFrame,以提高整体检测效果。
isTokenSeparateint是否区分不同应用下的账号非必传参数是否区分不同应用下的账号,可能取值:
0:不区分
1:区分
默认值为0。
取值为1时不同应用下的账号体系各自独立,账号相关的策略特征在不同应用下单独统计和生效。
passThroughjson_object透传参数非必传参数客户传入透传字段,数美内部不回对该字段进行识别处理,随结果返回给用户,必须为json_object类型
dataIdstring客户自定义数据Id非必传参数可以用于数美saas后台检索

同步返回结果#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称参数类型参数说明是否必返规范
codeint返回码详见code与message对应关系
messagestring返回码描述和code对应:成功QPS超限参数不合法服务失败无权限操作
requestIdstring请求标识请求唯一标识,唯一标识该次图片审核任务
taskIdstring任务编号
btIdstring用户上传的图片标识用户请求的图片标识(当请求中传入btId时存在)
scoreint风险分数风险分数(callback不存在或者为空并且code为1100时存在)取值范围[0,1000],分数越高风险越大
riskLevelstring风险级别风险级别(callback不存在或者为空并且code为1100时存在)可能返回值:PASS,REVIEW,REJECT
PASS:正常内容,建议直接放行
REVIEW:可疑内容,建议人工审核
REJECT:违规内容,建议直接拦截
statusint提示服务是否超时提示服务是否超时
0:正常
501:超时
detailjson_object风险详情详见detail参数
businessLabelsjson_object业务标签业务标签结果,仅在传入参数businessType不为空时存在,详见businessLabels结构
tokenProfileLabelsjson_array辅助信息N属性账号类标签。详见账号标签参数
tokenRiskLabelsjson_array辅助信息N风险账号类标签。详见账号标签参数
其中,code和message的列表如下:
codemessage
1100成功
1901QPS超限
1902参数不合法
1903服务失败
1905识别内容不规范
1911下载超时
9101无权限操作
其中,detail结构如下:
返回结果参数名参数类型参数说明是否必返规范
riskTypeint风险类型标识风险类型,详见riskType取值
riskSourceint风险结果来源标识风险结果的来源:
1000:无风险
1001:文字风险
1002:视觉图片风险
modelstring策略规则标识用来标识命中的策略规则。
注:该参数为旧版API返回参数,兼容保留,后续版本会取消,请勿依赖此参数,仅供参考
descriptionstring拦截的风险原因解释仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
descriptionV2string新版策略规则风险原因描述该参数为新版API返回参数,过渡阶段只有新策略才会返回
hitsstring_array命中的策略集默认为空,需与数美协商开通
textstringOCR识别出的文字OCR识别出的文字,original_text、original_text_context字段同text返回内容一样,为老字段,后续废弃,不建议客户使用
matchedItemstring命中的具体敏感词命中的具体敏感词(该参数仅在命中敏感词时存在),可根据需求返回该参数
matchedListstring命中敏感词所在的名单名称命中敏感词所在的名单名称(该参数仅在命中敏感词时存在),可根据需求返回该参数
matchedDetailstring命中的敏感词详细信息命中的敏感词详细信息,可以反序列化为json_array,可根据需求返回该参数
qrcontentstring二维码内容信息二维码内容信息,可根据需求返回该参数,需要和数美协商开通
pornLabelstring色情识别标签色情识别标签,标识色情识别结果;
开启色情识别后可根据需求选择是否返回该参数;
可选值:"色情"、"性感"、"正常"
pornRatefloat色情图片概率色情图片概率,可根据需求返回该参数
sexyRatefloat性感图片概率性感图片概率,可根据需求返回该参数
normalRatefloat正常图片概率正常图片概率,可根据需求返回该参数
polityRatefloat最相似的涉政人物概率最相似的涉政人物概率,可根据需求返回该参数
violenceLabelstring暴恐识别标签暴恐识别标签,标识暴恐识别结果;开启暴恐识别后可根据需求选择是否返回该参数;可选值:"暴乱场景"、"国旗国徽"、"军装"、"恐怖组织"、"枪支刀具"、"血腥场景"、”游戏枪支刀具”、"中国地图"、"坦克"、"蜡烛"、"制服"、"正常"
rebelRatefloat暴乱场景概率暴乱场景概率,可根据需求返回该参数
flagRatefloat国旗国徽概率国旗国徽概率,可根据需求返回该参数
armyRatefloat军装概率军装概率,可根据需求返回该参数
terrorismRatefloat恐怖组织概率恐怖组织概率,可根据需求返回该参数
weaponRatefloat枪支刀具概率枪支刀具概率,可根据需求返回该参数
bloodRatefloat血腥场景概率血腥场景概率,可根据需求返回该参数
gameWeaponRatefloat游戏枪支刀具概率游戏枪支刀具概率,可根据需求返回该参数
chinamapRatefloat中国地图概率中国地图概率,可根据需求返回该参数
tankRatefloat坦克概率坦克概率,可根据需求返回该参数
candleRatefloat蜡烛概率蜡烛概率,可根据需求返回该参数
uniformRatefloat制服概率制服概率,可根据需求返回该参数
nonViolenceRatefloat非暴恐图片概率非暴恐图片概率,可根据需求返回该参数
segmentsint实际处理的片段数量实际处理的片段数量,当检测的图片为GIF图或长图时,会返回该参数
logosjson_array图片logo结果返回图片识别出来的logo结果
passThroughjson_object用户透传字段该字段是客户传入透传字段
其中,businessLabels结构如下:
返回结果参数名参数类型参数说明是否必返规范
businessLabel1string一级业务标签
businessLabel2string二级业务标签
businessLabel3string三级业务标签
businessDescriptionstring业务标签中文描述
businessDetailjson_object业务标签详情
probabilityfloat置信度
可选值在0~1之间,值越大,可信度越高
格式详见下方businessDetail结构
confidenceLevelint置信等级
可选值在0~2之间,值越大,可信度越高

businessLabels数组中的businessDetail的内容如下:

返回结果参数名参数类型参数说明是否必返规范
namestring明星人物名称
图片中的明星人名type传值包含FACE时存在
probabilityfloat明星人物置信区间
可选值在0~1之间,值越大,可信度越高,当且仅当name存在时出现
face_ratiofloat人脸占比
在区间0-1,数值越大,人脸占比越高type传值包含FACE时存在
facesjson_array当命中人脸标签下的年龄,颜值等相关的标签时返回
objectsjson_array返回图片中物品或标志二维码的位置信息数组仅会有一个元素
personsjson_array人像数量
face_numint其他情况下,仅有一个数组元素人脸数检测
图片中检测到的人脸个数
仅当命中人脸-人脸类型-多人脸时,数组元素会有多个,最多10(如果超过10个,选择probability最高的10个)
face_compare_numint人脸比对人脸数检测
图片中检测到的人脸个数,businessType传值包含FACECOMPARE时存在
locationint_array标识位置信息
type传值包含OBJECT且时存在,该数组有四个值,分别代表左上角的坐标和右下角的坐标。例如[207,522,340,567]
207代表的是左上角的x坐标
522代表左上角的y坐标
340代表的是右下角的x坐标
567代表的是右下角的y坐标
person_numint人体数量检测
图片中检测到的人体个数type传值包含PORTRAIT且时存在
person_ratiofloat人像占比
在区间0-1,数值越大,人脸占比越高type传值包含PORTRAIT时存在

businessDetail中,faces数组每个元素的内容如下:

返回结果参数名参数类型参数说明是否必返规范
idstring编号,图片同一个位置下的人在不同标签下的编号相同。
如果同一个人在图片中出现n次,分配n个ID
namestring人物名称风险人物名称
locationint_array人物位置信息,该数组有四个值,分别代表左上角的坐标和右下角的坐标。例如[207,522,340,567]
207代表的是左上角的x坐标
522代表左上角的y坐标
340代表的是右下角的x坐标
567代表的是右下角的y坐标
face_ratiofloat人脸占比
probabilityfloat置信度,可选值在0~1之间,值越大,可信度越高0~1之间的浮点数

businessDetail中,objects数组每个元素的内容如下:

返回结果参数名参数类型参数说明是否必返规范
idstring编号,图片同一个位置下的物品在不同标签下的编号相同
namestring标识名称
locationint_array标识位置信息,该数组有四个值,分别代表左上角的坐标和右下角的坐标。例如[207,522,340,567]
207代表的是左上角的x坐标
522代表左上角的y坐标
340代表的是右下角的x坐标
567代表的是右下角的y坐标
probabilityfloat置信度,可选值在0~1之间,值越大,可信度越高0~1之间的浮点数
qrContentstring二维码的url信息

businessDetail中,persons数组每个元素的内容如下:

返回结果参数名参数类型参数说明是否必返规范
idstring编号,保证同一个人在不同标签下的编号相同。如果同一个人在图片中出现n次,分配n个ID
person_ratiostring人像在图中的占比
locationint_array人像位置坐标
probabilityfloat置信度,可选值在0~1之间,值越大,可信度越高0~1之间的浮点数
其中,tokenProfileLabels、tokenRiskLabels的内容如下:
参数名称类型参数说明是否必返规范
label1string一级标签
label2string二级标签
label3string三级标签
descriptionstring标签描述
timestampInt打标签时间戳13位Unix时间戳,单位:毫秒
视觉riskType取值如下:
风险类型code码
正常0
涉政100
色情200
性感210
广告300
二维码310
水印320
暴恐400
违规500
不良场景510
未成年人520
人脸530
人像531
颜值533
人脸比对534
公众人物535
物品540
动物541
植物542
场景550
行业违规560
画面属性570
黑名单700
白名单710
高危账号800
自定义900

文本riskType取值如下:

风险类型code码
正常0
涉政100
色情200
辱骂210
广告300
灌水400
无意义500
违禁600
其他700
黑账号720
黑IP730
高危账号800
自定义900

回调的同步返回参数#

参数名称参数类型参数说明是否必返规范
codeint返回码详见code与message对应关系
messagestring返回码描述和code对应:成功/QPS超限/参数不合法/服务失败/无权限操作
requestIdstring请求标识请求唯一标识,唯一标识该次图片审核任务
taskIdstring任务编号
btIdstring用户上传的图片标识用户请求的图片标识(当请求中传入btId时存在)

如果在请求参数中指定了回调协议接口URL callback,则需要支持POST方法,传输编码采用utf-8,审核结果放在HTTP Body中,采用Json格式,具体参数和V2单张同步请求结果相同。

回调请求参数#

参数名称参数类型参数说明是否必返规范
checksumstring校验和由accessKey + btId + result拼成字符串,(当btId不存在时,由accessKey + result生成)通过SHA256算法生成。为防止篡改,可以按此算法生成字符串,与checksum做一次校验。
resultstring审核结果返回结果与同步结构一致, 详见单张接口同步返回结果

同步示例:#

同步请求示例:#

{
"accessKey":"",
"channel":"default",
"appId":"default",
"type":"PORN",
"data":{
"tokenId":"username123",
"img":""
}
}

同步返回示例:#

{
"code":1100,
"message":"成功",
"requestId":"test-asfasfasfsgsdfasfda",
"taskId":"a82a4413-1a9be262-96b6d383-3c833309",
"btId":"12",
"score":850,
"riskLevel":"REJECT",
"detail":{
"description":"二维码:微信二维码:微信二维码",
"descriptionV2":"二维码:微信二维码:微信二维码",
"hits":[
{
"description":"⼴告:联系⽅式:联系⽅式",
"descriptionV2":"⼴告:联系⽅式:联系⽅式",
"model":"MA001020002001004",
"riskLevel":"REJECT",
"riskType":300,
"score":675
},
{
"description":"⼆维码",
"descriptionV2":"⼆维码:⼆维码:⼆维码",
"model":"MA001018001001001",
"riskLevel":"REJECT",
"riskType":310,
"score":700
},
{
"description":"⼆维码:微信⼆维码:微信⼆维码",
"descriptionV2":"⼆维码:微信⼆维码:微信⼆维码",
"model":"MA001018002001001",
"riskLevel":"REJECT",
"riskType":310,
"score":850
}
],
"model":"MA001018002001001",
"original_text":"黑白印象0!度門,福建掃描上面的 QR Code 加我 Wechat",
"original_text_context":"黑白印象0!度門,福建掃描上面的 QR Code 加我 Wechat",
"qrcontent":"https://u.wechat.com/MFdBUI_k8OfRvWji45gggKO8",
"riskSource":1002,
"riskType":310,
"sexy_risk_tokenid":0,
"text":"黑白印象0!度門,福建掃描上面的 QR Code 加我 Wechat"
},
"status":0
}

回调请求参数#

{
"accessKey":"yourkey",
"type":"POLITICS_PORN_AD",
"callback":"http://xxx",
"data":{
"img":"http://www.leilingfushi.com/UpFiles/Article/2017/5/11/2017051152012237.jpg",
"tokenId":"test",
"btId":"xxx"
}
}

接口返回参数#

{
"code":1100,
"message":"成功",
"requestId":"dgdfh7sd4dsd3s22223wexsdsd",
"taskId":"fc250d49-fc9459b2-0e4c12c9-3618a292",
"btId":"xxx"
}

当用户的服务端收到推送结果,并返回HTTP状态码为200时,表示推送成功,否则系统将进行重试推送(直至达到重试次数上限)重试逻辑为间隔[1, 2, 3, 4, 5, 6, 7, 8]秒后重试,8次之后依然失败则不在重试。

回调请求示例#

{
"checksum":"236f8eea85c3c4407d96ff05d6108389b3b0cea8aa80bdf6642c1cecc77b2bde",
"result":{
"code":1100,
"message":"成功",
"requestId":"1e6e4e43cd35b545418fcef7d0f77ef4",
"taskId":"5ba3efe0-949ccac9-4e9ba8b2-31f84bdd",
"score":999,
"riskLevel":"REJECT",
"detail":{
"description":"涉政文字",
"hits":[
]
"matchedItem":"xxx",
"matchedList":"test",
"model":"M02601",
"polityName":"xxx",
"riskType":100,
"riskSource":1002
},
"status":0,
"callbackParam":{
" param1":1,
" param2":"qew",
" param3":true
}
}
}

智能图片过滤服务批量接口说明#

同步批量请求#

请求URL:#

集群URL支持产品列表
北京http://api-img-bj.fengkongcloud.com/v2/saas/anti_fraud/imgs图片
上海http://api-img-sh.fengkongcloud.com/v2/saas/anti_fraud/imgs图片
新加坡http://api-img-xjp.fengkongcloud.com/v2/saas/anti_fraud/imgs图片
印度http://api-img-yd.fengkongcloud.com/v2/saas/anti_fraud/imgs图片
硅谷http://api-img-gg.fengkongcloud.com//v2/saas/anti_fraud/imgs图片

请求方法:#

POST

字符编码:#

UTF-8

建议超时时间:20s#

目前数美侧单张图片下载时的连接超时时间是2s,读取超时时间是3s,内部平均处理时间在500ms左右(具体时长和请求type,图片大小相关),下载失败会重试一次,批量图片服务内部分两次并行处理,建议客户设置超时时间为14-20s

请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

请求参数名类型参数说明传入说明规范
accessKeystring接口认证密钥
用于权限认证,开通账号服务时由数美提供或使用开通邮箱登录数美后台右上角相关文档处查看
必传参数accessKey
typestring检测的风险类型必传参数监管一级标签
可选值:
POLITICS:涉政识别
OCR:图片中的OCR文字识别
AD:广告识别
BEHAVIOR:不良场景识别,支持吸烟、喝酒、赌博、吸毒、避孕套和无意义画面
PERSON:涉政人脸识别
VIOLENCE:暴恐识别
PORN:色情识别

多个type通过下划线连接,例如AD_PORN_POLITICS用于广告、色情和涉政组合识别
建议传入:POLITICS_PORN_AD_BEHAVIOR

注意:这里POLITICS实际上等价于以下两个类型:
PERSON:涉政人脸识别
VIOLENCE:暴恐识别
(该字段与businessType字段必须选择一个传入)
businessTypestring业务标签类型非必传参数业务标签
可选值:见附录如果需要多个识别功能,通过下划线连接,该字段和type必须选择一个传入
appIdstring应用标识,用于区分相同公司的不同应用数据必传参数需要联系数美开通,请使用数美单独提供的传值为准
callbackstring回调地址非必传参数回调http接口,当该字段非空时,服务将根据该字段回调通知用户审核结果
地址必须为http或https的规范url
datajson_object请求的数据内容必传参数请求的数据内容,最长10MB,详见data参数
callbackParamjson_object透传参数非必传参数透传字段,当 callback 存在时可选,发送回调请求时服务将该字段内容同识别结果一起返回
其中,批量接口data的内容如下:
请求参数名类型参数说明是否必传规范
tokenIdstring用户账号标识必传参数建议使用贵司用户UID(可加密)自行生成 , 标识用户唯一身份用作灌水和广告等行为维度风控。如无用户uid的场景建议使用唯一的数据标识传值
imgsjson_array要检测的图片数组必传参数要检测的图片数组,要求数组长度在12以内
channelstring渠道标识非必传参数业务渠道标识,用于区分不同业务渠道的图片内容(如头像、发帖、私信等),同时对不同业务渠道可配置不同的策略规则,该参数传递值可与数美服务协商,在数美管理后台进行配置,不传递则默认值为IMAGE默认图片
rolestring用户角色非必传参数用户角色,必须在可选范围有效对不同角色可配置不同策略。(默认为USER)
直播领域可取值:
ADMIN:房管
HOST:主播
SYSTEM:系统角色
游戏领域可取值:
ADMIN:管理员
USER:普通用户
ipstringip地址非必传参数发送该图片的用户公网ipv4地址
phonestring用户手机号非必传参数用户手机号,可用于比对数美手机号黑库
deviceIdstring数美设备指纹标识非必传参数强烈建议传入,数美设备指纹标识,用于用户行为分析。当恶意用户篡改mac、imei等设备信息时,使用deviceId能够发现和识别此类恶意行为,同时可用于比对数美设备指纹黑名单
imeistring用户android设备唯一标识非必传参数相比tokenId和IP,imei和mac更难被更换,当恶意用户使用多个不同账户和IP进作恶时,通过imei和mac能够有效关联识别此类恶意行为,同时可用于比对数美设备黑名单。
macstring用户android设备唯一标识非必传参数同imei字段
idfvstring用户iOS应用唯一标识非必传参数相比tokenId和IP,idfv不能被修改,当恶意用户使用多个不同账户和IP进行恶意行为时,使用idfv能够发现和识别此类恶意行为
idfastring用户iOS应用唯一标识非必传参数同idfv字段
sexint用户的性别非必传参数用户的性别,可选值:
0:女性
1:男性
ageint用户的年龄非必传参数用户的年龄,可选值:
0:青年(大约18-45岁)
1:中年(大约45-60岁)
2:老年(大于60岁)
levelint用户等级非必传参数用户等级,针对不同等级的用户可配置不同拦截策略
maxFrameintgif最大截帧数量非必传参数截取git等动图帧数,最大为20帧,默认为3帧,计费按照实际截帧数量计费,如默认为截取3帧时按照3帧进行计费
intervalintgif截帧频率非必传参数GIF图检测专用,默认值为1。每interval张图片抽取一张进行检测。
当interval*maxFrame小于该图片所包含的图片数量时,截帧间隔会自动修改为该图片所包含的图片数/maxFrame,以提高整体检测效果。
isTokenSeparateint是否区分不同应用下的账号非必传参数是否区分不同应用下的账号,可能取值:
0:不区分
1:区分
默认值为0。
取值为1时不同应用下的账号体系各自独立,账号相关的策略特征在不同应用下单独统计和生效。
passThroughjson_object透传参数非必传参数客户传入透传字段,数美内部不回对该字段进行识别处理,随结果返回给用户,必须为json_object类型
dataIdstring客户自定义数据Id非必传参数可以用于数美saas后台检索

其中,imgs数组每个成员的具体内容如下:

请求参数名类型参数说明是否必传规范
imgstring要检测的图片必传参数要检测的图片,可使用图片的base64编码或者图片的url链接
建议图片下载从CDN源站下载,并且源站不能为单点
风险:如果不是从源站下载,可能存在图片下载失败,导致无法审核
支持格式:jpgjpegpngwebpgiftifftif, hief
建议图片像素不小于256*256,目前支持20*20~6000*6000以内分辨率的图片,图片大小最大10MB,异步最大30M
默认长图不切分,需要时请联系数美开通,切分后的计费以实际截取的帧数为准。
btIdstring图片唯一标识必传参数图片唯一标识,同一次请求中,图片标识不可重复,不可传入特殊字符

同步返回结果#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称参数类型参数说明是否必返规范
codeint返回码1100:成功
1901:QPS超限
1902:参数不合法
1903:服务失败
1911:图片下载失败
9101:无权限操作
除message和requestId之外的字段,只有当code为1100时才会存在
messagestring返回码描述和code对应:成功QPS超限参数不合法服务失败无权限操作
requestIdstring请求标识请求唯一标识,用于排查问题和后续效果优化,强烈建议保存
imgsjson_array检测结果多张图片的识别结果(code为1100时存在)
statisticsint_array整形数组整形数组,长度为4,分别表示一次批量图片请求中拒绝数、审核数、通过数(code为1100时存在)和错误数

其中,imgs数组每个成员的具体内容如下:

参数名称参数类型参数说明是否必返规范
btIdstring图片唯一标识图片唯一标识,该参数在发起请求时传入,同一次请求中图片标识不可重复,不可传入特殊字符
requestIdstring请求唯一标识请求唯一标识,后续可用于数据查询,调用纠错接口时使用此requestId
scoreint风险分数风险分数(callback不存在或者为空并且code为1100时存在)取值范围[0,1000],分数越高风险越大
riskLevelstring图片唯一标识风险级别(callback不存在或者为空并且code为1100时存在)
可能返回值:PASS,REVIEW,REJECT
PASS:正常内容,建议直接放行
REVIEW:可疑内容,建议人工审核
REJECT:违规内容,建议直接拦截
detailjson_object风险详情风险详情(callback不存在或者为空并且code为1100时存在)详见detail参数
businessLabelsjson_object业务标签结果业务标签结果,仅在传入参数businessType不为空时存在,详见businessLabels结构
codeint返回码详见code与message对应关系
messagestring返回码详情描述返回码详情描述

批量接口回调请求参数#

对于批量接口,系统为每张图片执行一次推送任务,每次推送机制及参数要求与上述单个图片回调请求一致。

批量请求示例#

同步批量接口请求示例#

curl –d '{"accessKey":"xxxxx","type":"XX","businessType":"XX","appId":"default","data":{"imgs":[{"img":"xxxx","btId":"xxxx"}],"tokenId":"username"}}' 'http://api-img-bj.fengkongcloud.com/v2/saas/anti_fraud/imgs'

同步批量接口返回示例#

{
"code":1100,
"message":"成功",
"requestId":"test",
"imgs":[
{
"btId":"test",
"code":1100,
"detail":{
"description":"涉政:敏感政治事件:六四事件",
"descriptionV2":"涉政:敏感政治事件:六四事件",
"hits":[
{
"description":"涉政:敏感政治事件:六四事件",
"descriptionV2":"涉政:敏感政治事件:六四事件",
"model":"MA001001007006003",
"riskLevel":"REJECT",
"riskType":100,
"score":850
}
],
"model":"MA001001007006003",
"riskSource":1002,
"riskType":100
},
"message":"成功",
"requestId":"test_bdcc36bb9d6ee6a060b051176d53fa",
"riskLevel":"REJECT",
"score":850
}
],
"statistics":[
1,
0,
0,
0
],
"passThrough":{
"my_age":9
}
}

异步回调批量请求示例#

curl –d '{"accessKey":"xxxxx","type":"XX","callback":"http://xxx","data":{"imgs":[{"img":"xxxx","btId":"xxxx"}],"tokenId":"username"}}' 'http://api-img-bj.fengkongcloud.com/v2/saas/anti_fraud/imgs'

接口返回示例#

{
"code":1100,
"message":"成功",
"requestId":"1859599420fd4c32e02841f1d8ae9429",
"statistics":[
0,
0,
2
]
}

回调数据示例#

同单张接口的返回数据格式一致

智能图片过滤纠错接口#

客户使用数美服务时发现结果有误,可以通过此接口给数美反馈错误信息

请求URL:#

https://webapi.fengkongcloud.com/saas/feedback/add/v1

请求方法:#

POST

字符编码:#

UTF-8

建议超时时间:#

1s

请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

请求参数名类型参数说明传入说明规范
accessKeystring接口认证密钥必传参数由数美提供
serviceIdstring服务标识必传参数服务标识,可选值:POST_TEXT,POST_IMG,POST_AUDIO,POST_AUDIOSTREAM,POST_VIDEO_IMG,POST_VIDEO_AUDIO,POST_VIDEOSTREAM_IMG,POST_VIDEOSTREAM_AUDIO,POST_EVENT,ACCOUNT_LOGIN,ACCOUNT_REGISTER
requestIdstring流水号必传参数
timestampint当条记录13位时间戳必传参数
riskLevelstring期望处置结果必传参数期望处置结果,可选值:PASS,REJECT
typestring错误类别必传参数误杀、漏杀类型,误杀传error,漏杀传miss
textstring文本内容非必传参数文本内容,会加入黑白名单
imgUrlstring图片url非必传参数图片url,会加入黑白名单
tokenIdstring账号标识非必传参数账号标识,文本、图片、天网服务会加黑白名单
labelIdstring一级标签英文标识非必传参数文本、图片服务各自对应的一级标签英文标识,参考下方表格

其中,labelId的列表如下:

风险类型说明
politics涉政
porn色情
sexy性感
ad广告
violence暴恐
ban违禁
logologo
qr二维码
socialFace社交人脸
minor未成年人
star公众人物

响应参数:#

返回结果参数名参数类型参数说明是否必返规范
codeint状态码状态码,1100成功,其他失败
messagestring提示语
feedbackResboolean反馈结果
listResboolean名单反馈结果
profileResboolean画像反馈结果

接口请求示例#

{
"accessKey":"xxxx",
"serviceId":"POST_IMG",
"requestId":"3fe2d8ba7d4b290ee8baaf336110fe8y",
"timestamp":1554345195048,
"riskLevel":"REJECT",
"appId":"default",
"type":"miss",
"imgUrl":"http://www.fengkongcloud.com/xxx.jpg",
"labelId":"ad"
}

接口响应示例#

{
"code": 1100,
"message": "成功",
"feedbackRes": true,
"listRes": false,
"profileRes": true
}

Demo#

目前提供了 go、java、lua、nodes、php、python 的 demo,代码位置: https://github.com/ishumei/api-demo/tree/master/v4

附录#

业务标签识别类型类型说明备注
AGE人脸 - 年龄可识别未成年人
GENDER人脸 -性别
BEAUTY人脸 - 颜值
FACEDETECTION人脸-人脸检测如识别无人脸、真人、口罩人脸、正脸、侧脸等
FAKEFACE人脸 - 伪造人脸
FACECOMPARE人脸-人脸对比
RACE人脸-人种如黑种人、白种人、黄种人
PUBLICFIGURE人物 - 公众人物如识别知名明星、网红等
TAINTEDSTAR人物 - 劣迹人物
POSTURE人像-人像姿态如识别坐姿、跪姿等
DRESS人像 - 人像穿着如识别jk、汉服等
TEMPERAMENT人像 - 人像气质如成熟大叔、靓丽女神等
BODY人体如识别头发、眼睛、鼻子等
PICTUREFORM画面属性 - 画面类型如识别动漫、表情包等
PICTURESTRUCT画面属性-画面结构如识别宫格图、桥段图等
LOWVISION画面属性 - 画面低质如识别模糊、涂抹、马赛克等
LOWCONTNET画面属性 - 内容低质如识别点线密集、虫类密集等
LIVEPICTURE画面属性-直播画面如识别床上直播、开车直播等
SCREENSHOT画面属性 - APP截图(内容搬运)如识别朋友圈截图、聊天截图等
FITNESS场景主题-健身
CATE场景主题-美食
MUSIC场景主题-音乐
SPORTS场景主题-体育
SCENERY场景主题-自然风光如识别天空、大海、草原等
CITYVIEW场景主题-城市风光如识别街景
3CPRODUCTSLOGOLOGO - 3C电子类品牌如识别华为、小米、OPPO等LOGO
SHOPPINGAPPSLOGOLOGO - 购物比价类应用如识别拼多多等LOGO
RETOUCHAPPSLOGOLOGO - 拍摄美化类应用如识别快剪辑、秒拍等LOGO
SOCIALAPPSLOGOLOGO - 社交通讯类应用如识别微博、小红书等LOGO
PHOTOMATERIALLOGOLOGO - 素材版权类应用如识别CFP等LOGO
NEWSAPPSLOGOLOGO - 新闻阅读类应用如识别新浪、视觉中国等LOGO
ENTERTAINMENTAPPSLOGOLOGO - 影音娱乐类应用如识别抖音、快手等LOGO
SPORTSLOGOLOGO - 体育赛事如识别奥运会等LOGO
APPARELLOGOLOGO - 鞋帽服饰类品牌如识别VANS、H&M等LOGO
ACCESSORIESLOGOLOGO - 饰品首饰类品牌如识别AudemarsPiguet、Nomos等LOGO
COSMETICSLOGOLOGO - 化妆品类品牌如识别LOTTE、EyesLipsFace等LOGO
FOODLOGOLOGO - 食品类品牌如识别Starbucks、LOTTE等LOGO
AUTOTRADEAPPSLOGOLOGO - 汽车交易平台类如识别懂车帝、易车、太平洋汽车、爱卡等LOGO
VEHICLE物品-交通工具
BUILDING物品-建筑
TABLEWARE物品-餐具
FOOD物品-食物
HOMEAPPLICATION物品-家用电器
OFFICESUPPLIES物品-办公用品
FASHION物品-穿着用品
SPORTEQUIPMENT物品-运动器材
TOY物品-玩具
MAKEUP物品-化妆品
DRUGS物品-药品
PAINTING物品-绘画作品
ELECTRONIC物品-电子产品
MEDICALIMAGE物品-医疗影像
FURNITURE物品-家居用品
DAILYSUPPLIES物品-生活用品
CONSTELLATION物品-星座占卜
KITCHENWARE物品-厨房用品
KEEPSAKE物品 - 纪念品
MAMMAL动物-哺乳动物
BIRDS动物 - 鸟类
REPTILE动物-爬行动物
FISH动物-鱼
ARTHROPOD动物 - 节肢动物
COELENTERATE动物 - 腔肠动物
MOLLUSKS动物 - 软体动物
CRUSTACEAN动物 - 甲壳动物
PLANT植物
SETTING场所如识别卫生间、酒店、厨房等
EXTREMEWEATHER极端天气识别如水灾、暴雨、沙尘暴、冰等
LICENCEPLATE车牌识别

FAQ#

图片的大小有限制吗?#

答:图片大小要小于10MB。

图片分辨率/像素是否有限制?#

答:答:强烈建议图片像素不小于256256,最小不低于2020像素,图片不清晰会影响识别准确率。

批量图片处理最多几张图片?#

答:最大支持12张,总大小不超过10MB,这两个因素是同时限制的。

批量图片的qps定义?#

答:批量图片的qps是根据图片张数计算的,比如:1s打3个请求,每个请求带20张图片,则qps为3*20=60。

是否可以自定义图片黑白名单,添加后多久可以生效?#

答:数美支持自定义图片黑白名单功能,客户可通过登录数美后台管理界面进行相应操作,添加完成后1-3分钟即可生效,最多不会超过3分钟。

图片同时命中多种风险类型时,返回哪种结果?#

答:会返回风险概率高的结果。例如一张图片即包含色情,也包含广告二维码,则会根据模型计算出的色情概率和二维码概率,选择较高的作为最终返回的结果。

测试服务效果欠佳#

答:首先明确双方是否沟通过拦截标准,数美需根据不同平台客户的需求来针对性的制定策略。即使双方沟通过拦截标准,也可能存在理解上和细节上的差异,需对不明确的点进行确认。同时可提供badcase给数美进行分析、策略调优,数美也会主动提供评测报告,看拦截标准和效果是否与客户预期方向一致。最后,测试和效果调优是一个不断迭代的过程,通常需要1-2周的测试调优期,需看最终效果。

调用接口返回参数错误(1902)#

答:调用数美接口时,code返回1902参数不合法,一般为客户输入的参数格式存在问题,客户可自行分析一下请求格式是否按照接口文档输入,或将请求的数据及返回数据反馈给数美分析解决。

调用接口返回无权限操作(9101)#

答:调用数美接口时,code返回9101无权限操作,一般为调用了未开通的服务,沟通确认客户调用的服务接口,开通相应的服务。

调用接口超时问题#

答:有如下两个常见问题:
1)DNS问题:
客户通过公网调用数美接口进行测试,客户DNS解析域名较慢,导致第一次请求超时,建议客户更换DNS,不建议客户在host中将域名和ip做绑定,数美更换接口IP导致无法请求接口。
2)网络问题:
客户通过公网调用数美接口,公网网络延迟较长,导致少量请求存在超时。可以建议客户ping数美不同的集群网络,建议客户接入网络延迟较低的数美集群。

在线咨询