接入文档
FaceID基础版
RAW纯接口接入
视频活体
上传读数视频进行活体验证
上传读数视频进行活体验证
# 描述
通过语音识别、唇语识别、音画同步验证等技术来进行自拍视频的活体验证。
此API必须在使用同一个API key调用的Raw-GetRandomNumber API返回的token_random_number作为参数,否则返回400(INVALID_TOKEN)。
仅当appkey有使用网页人脸核身API服务的视频验证权限时,才可以调用此API,否则返回错误码 403(AUTHORIZATION_ERROR:Denied)。
# 调用URL
https://api.megvii.com/faceid/lite/raw/validate_video
注意:在生产环境中,请使用HTTPS的通信方式。HTTP方式的通信属于不安全链路,存在安全风险,请勿在生产环境中使用。在生产环境中使用HTTP方式的,将无法得到服务可靠性保障
# 调用方法
POST 注意:用 form-data 格式请求
# 参数
必选/可选 | 参数 | 类型 | 参数说明 |
---|---|---|---|
必选 | api_key | String | 调用此API的api_key |
必选 | api_secret | String | 调用此API的api_key的secret |
必选 | token_random_number | String | 调用Raw-GetRandomNumber API返回的token_random_number |
必选 | video | File | 需用户上传的视频,视频要求为ffmpeg所支持的格式及码率,视频建议时长为3~6秒,容量不大于20MB |
可选 | biz_no | String | 用于标志一次验证流程,不超过128字符。如果使用此参数,强烈建议对一次验证流程中调用的API(比如*Raw-GetRandomNumber、Raw-ValidateVideo、Raw-Verify*)使用同一个biz_no,对不同的验证流程使用不同的biz_no |
可选 |
return_image |
String |
此参数为可选参数,决定了是否返回从视频中截取的最佳质量图像 0(默认):不需要图像 1:需要返回1张最佳质量图 (仅当API调用成功后才返回) 2:需要返回2张最佳质量图 (仅当API调用成功后才返回) |
可选 | return_multifaces_tag | String | 是否返回活体采集过程中的多人脸标识:0:不返回(默认值),1:返回 |
可选 | face_occlusion_detection | String | 用于设置是否开启人脸遮挡检测。0(默认):不开启;1:开启,如发生全程人脸遮挡,则活体不通过 |
可选 | eye_close_detection | String | 用于设置是否开启闭眼检测。0(默认):不开启;1:开启 |
可选 | blurness_detection | String | 用于设置是否开启模糊检测。0(默认):不开启;1:开启 |
# 返回值说明
字段 | 类型 | 说明 |
---|---|---|
request_id | String | 用于区分每一次请求的唯一的字符串。此字段必定返回 |
time_used | Int | 整个请求所花费的时间,单位为毫秒。此字段必定返回 |
biz_no | String | 此参数仅当调用时设置了biz_no参数才返回,但是如果设置了则即使API调用失败也返回,值与传入的biz_no保持完全一致 |
token_video | String | 本字段仅调用成功才返回,返回的token仅供Raw-Verify API使用。本字段不超过1024字节。注意:Token有效期为24小时 |
image_best | String | 本字段仅调用成功且return_image字段配置为1或者2时才返回,返回为将会用于人脸比对的视频中的最佳质量的人脸照片。采用Base64字符串返回,图像格式为JPEG。在异常情况下,该字段有可能返回null |
image_best_2 | String | 本字段仅调用成功且return_image字段配置为2时才返回,返回为质量最佳的另一张活体图像。采用Base64字符串返回,图像格式为JPEG。在异常情况下(如只存在一张符合质量的图片),该字段有可能返回null |
error_message | String | 当请求失败时才会返回此字符串,具体返回内容见后续错误信息章节。否则此字段不存在 |
成功
{
"time_used": 6206,
"biz_no": "12345",
"token_video": "68d32116d9ba2d2662812df30705dcb5",
"request_id": "1491803871,dc23ec02-5ab5-48a4-8fe9-95f4eeb37699",
"image_best": "data:image/jpeg;base64,..."
}
失败
{
"time_used": 1,
"error_message": "MISSING_ARGUMENTS: video",
"request_id": "1491803987,5c52c7c6-e974-4c83-9f22-9d268d6e35b0"
}
# 错误码列表
Raw-ValidateVide API特有的 ERROR_MESSAGE
HTTP状态代码 | 错误信息 | 说明 |
---|---|---|
400 | INVALID_TOKEN | 参数所对应调用Raw-GetRandomNumber API的token_random_number不存在、或格式错误、或已过期、或并非通过一个API Key调用的Raw-GetRandomNumber API返回的token_random_number |
400 | VIDEO_FACE_NOT_FOUND | 上传的视频中没有检测到人脸 |
400 | VIDEO_LOW_FACE_QUALITY | 上传的视频中人脸质量太差 |
400 | VIDEO_INVALID_DURATION | 上传的视频时长不对 |
400 | VIDEO_NO_AUDIO | 上传视频中没有音轨,通常是由于手机的录音权限没有打开或者受到阻止 |
400 | VIDEO_UNSUPPORTED_FORMAT | 视频无法解析,有可能是ffmpeg不支持的格式或视频有破损 |
400 | VIDEO_FACE_OCCLUDE | 上传的视频中人脸被遮挡 |
400 | KEY_NOT_FOUND | encryption_type开启加密,但未配置加密公钥和解密私钥 |
400 | MESSAGE_ENCRYPTION_ERROR | 云端对敏感信息加密失败 |
通用的ERROR_MESSAGE
HTTP状态代码 | 错误信息 | 说明 |
---|---|---|
403 | AUTHENTICATION_ERROR | api_key 和 api_secret 不匹配 |
403 | AUTHORIZATION_ERROR:<reason> | api_key被停用、调用次数超限、没有调用此API的权限,或者没有以当前方式调用此API的权限。目前的<reason>有:Denied (没有权限调用当前API) |
403 | CONCURRENCY_LIMIT_EXCEEDED | 并发数超过限制 |
400 | MISSING_ARGUMENTS: <key> | 缺少某个必选参数 |
400 | BAD_ARGUMENTS:<key> | 某个参数解析出错(比如必须是数字,但是输入的是非数字字符串; 长度过长;不允许的输入值) |
404 | API_NOT_FOUND | 所调用的API不存在 |
500 | INTERNAL_ERROR | 服务器内部错误,当此类错误发生时请再次请求,如果持续出现此类错误,请及时联系 FaceID 客服或商务 |
该文档未解决您的疑问?查看常见问题