唇语活体
接口描述
通过计算视频中人朗读的数字与系统给出数字串是否相同来判定用户是否为活体
安全保证
- 动作属性:唇语活体的动作属性保证用户没法用静态照片攻击的方式通过活体验证
- 随机性:随机性保证无法用视频攻击通过验证
请求说明
HTTP 方法:
POST
请求 URL:
/ai-cloud-face/lipreading
Header如下:
参数名称 | 值 |
Content-Type | application/json;charset=UTF-8 |
Body中放置请求参数,参数详情如下:
请求参数:
参数名称 | 数据类型 | 参数描述 |
appKey | String | 应用生成的appkey |
sign | String | 签名 |
nonceStr | String | 随机字符串 |
video | String | 视频的base64编码 |
label | String | 输入的唇语信息 |
type | String | 视频的类型,如mp4 |
token | String | Token信息 |
busFlowId | String(1,64) | 业务流水号,业务系统唯一序列号(对账用,建议传入) |
返回说明
返回参数:
返回值名称 | 类型 | 描述 |
---|---|---|
code | int | 返回结果,0 表示成功,非 0 为对应错误号 |
success | Boolean | 是否成功 |
message | String | 返回详细信息 |
data | Object | 返回的数据如下 |
errorinfo | String | 错误信息 |
faceIamge | String | result 为0的情况下,返回最佳人脸 jpg格式 |
code | int | 唇语检测出现错误时,返回具体错误码 |
返回示例:
{
"code": 0,
"data": {
"code": 0,
"errorInfo": null,
"faceImage": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIB......"
},
"success": true,
"message": "success"
}
`
具体错误码定义:
-1003, "标签无效改成标签不是我们后端生成的或者标签过期"
-1002, "唇语识别错误"
-1001, "唇语识别没通过"
-999, "扣嘴攻击"
-998, "边框攻击"
-997, "视频回放攻击"
-996, "半边脸攻击"
100, "模型未加载"
101, "视频文件不存在或解码失败"
102, "输入的唇语信息错误"
103, "返回原始图片的空间太小"
104, "返回对齐人脸的空间太小"
105, "最佳人脸编码失败"
106, "最佳人脸空间不够"