H5静默活体检测
一、接口描述
1. 功能描述
传入人像视频,接口返回静默活体检测结果,是否返回图片可由入参控制。
2. 接口数据要求:
- 视频格式:base64编码
- 视频类型: mp4, avi, flv, wmv, mov, rm,格式建议 MP4
- 视频大小: 小于16M
- 视频时常建议: 3~4秒
3. 接口使用:
平台为每个API提供试用体验服务,您在AI市场选择“免费试用”规格下单后,即可开始体验业内领先的人工智能API服务。 免费试用服务具有调用量、QPS限制,如需更高性能的API服务,可以提交咨询工单,联系京东AI扩容购买。
在获得使用权限后,您可使用已经封装好的SDK/参照接口鉴权规则进行相应开发,整体流程详见 接入流程
用户需要使用图片base64编码去做请求,使用其他图片的base64编码请求成功时也会加入计费。
二、请求说明
1. 接口地址 :
https://aiapi.jd.com/Situchangjing/H5_Silent_vivisection
2. 请求方式:
post
3. 请求参数
(1)query请求参数
公共请求参数
名称 | 类型 | 必填 | 示例值 | 描述 |
---|---|---|---|---|
appkey | String | 是 | 80d2b762ecb86593f9668526920f46c | 您的appkey,可在买家中心控制台中获取 |
timestamp | long | 是 | 1541491668060 | 请求的时间戳,精确到毫秒,timestamp有效期5分钟 |
sign | String | 是 | 2e148773a0337a8f2200ba90d445f083 | 签名,根据规则MD5(sectetkey+timestamp) |
(2)header请求参数
业务请求参数
名称 | 类型 | 必填 | 示例值 | 描述 |
---|---|---|---|---|
Content-Type | String | 是 | application/json | 标准编码格式 |
(3)body请求参数
业务请求参数
名称 | 类型 | 必填 | 示例值 | 描述 |
---|---|---|---|---|
videoInfo | String | 是 | 如下 | 待检测视频文件的 base64 编码(videoBase64) |
fileSuffix | String | 否 | 如下 | 常见视频格式都支持,包括但不限于mp4, avi, flv, wmv, mov, rm视频大小不应超过16M,时常建议3~4秒,格式建议MP4。视频格式,不传则默认mp4 |
returnFaceImage | boolean | 否 | 如下 | 静默活体检测通过时(即'passed'为true),returnFaceImage控制是否返回响应参数'base64FaceImage'。默认值为false;值为true时, 才返回''base64FaceImage'' |
returnImage | boolean | 否 | 如下 | 静默活体检测通过时(即'passed'为true),returnImage控制响应参数'imageTimestamp'及'base64Image'返回的值是否为null。默认值为false,响应参数返回值为null;值为true时,响应参数返回值不为null |
returnStatus | boolean | 否 | 如下 | 是否返回错误状态描述,默认为false;当值为true时,才会返回livenessStatus字段 |
{
"fileSuffix": "mp4",
"returnFaceImage": true,
"returnImage": true,
"returnStatus": true,
"videoInfo": {
"videoBase64": "……"
}
}
(4)请求代码示例
建议您使用我们提供的SDK进行调用,SDK获取及调用方式详见本页一接口描述中的2接口使用
三、返回说明
1.返回参数
(1)公共返回参数
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
code | string | 1000 | 参见下方错误码-系统级错误码 |
charge | boolean | false 或 true | false:不扣费, true:扣费 |
remainTimes | long | 1305 | 剩余调用次数;免费api:每天剩余调用次数;收费api:剩余次数;无限制时为-1 |
remainSeconds | long | 1223456 | 剩余调用时间(s);免费api:-1;收费api:剩余调用时间;无限制时为-1 |
msg | string | 查询成功 | 参见下方错误码-系统级错误码 |
result | object | {...} | 查询结果 |
(2)业务返回参数
result参数信息
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
msg | string | 成功! | 附加结果说明 |
result | object | {...} | 返回结果 |
imageTimestamp | number | 0.5778777777777778 | 视频选帧时间戳,单位是秒 |
livenessStatus | string | ok | 静默活体检测错误状态描述,当请求参数returnStatus为true时,才返回该字段 |
imageInfo | object | {...} | 图片入参的base64 |
base64Image | string | /9j/4AAQSkZJRgAB...... | base64 编码后的图片文件流 |
base64faceImage | string | /9j/2wBDAAgGBgcGBQ...... | base64 编码后的人脸裁剪图片 |
passed | boolean | 成功 | 返回状态码:1(二要素一致) 2(二要素不一致) |
livenessScore | number | 0 | 静默活体检测得分(注:该字段目前无效,静默活体检测结果请以passed字段为准) |
globalRequestId | string | 600x15536005160274506RB | 请求 ID |
rtn | number | 0 | 返回状态码:0 为正常(详见附 录) |
2.返回示例
{
"msg":"成功!",
"rtn":0,
"globalRequestId":"600x15536005160274506RB ",
"result":{
"passed":true,
"livenessScore":0,
"imageTimestamp":0.5778777777777778,
"livenessStatus":"ok",
"imageInfo":{
"base64Image":"/9j/4AAQSkZJRgAB......",
"base64faceImage":"/9j/2wBDAAgGBgcGBQ......"
}
}
}
四、错误码信息
1.系统级错误码
2.业务返回码
rtn 返回码 | 说明 |
---|---|
0 | 成功 |
-1 | 未知异常 |
-2 | Header 中缺少某个域 |
1 | 传入参数错误! |
2 | 传入参数缺少字段或字段内容错误! |
101 | 证件照转码失败! |
102 | 疑似非活体! |
103 | 图片质量太低! |
104 | 未检测到人脸! |
105 | 出现多张人脸! |
106 | 人脸特征提取失败! |
107 | 姓名格式不正确,不能为空! |
108 | 身份证号码有误! |
109 | 图片大小不合适(建议 5kb-100kb)! |
110 | 图片格式必须为:JPG,BMP,PNG,GIF,TIFF 之一,宽和高大于 8px,小于等于 4000px! |
111 | 图片内容无法解析! |
300 | 特殊未知异常! |
301 | 切换策略配置为空 |
302 | 未找到实现接口 bean |
303 | 反射调用方法时出现异 |
1000 | json 无法解析 |
1100 | 无权限 |
10000 | 签名时间过期 |
10001 | 签名参数错误 |
10002 | 签名验证失败 |