请求类型: HTTP/HTTPS
接口地址: http://apicall.id-photo-verify.com/api/cut_check_pic
请求方式: POST
数据类型: JSON
响应类型: JSON
接口状态: 启用
调用此接口,不会增加调用次数
此接口的程序会先制作证件照,然后对证件照进行检测
结果返回带水印图片、无水印图片、无水印已排版图片名字(均为多种颜色)和检测的结果。
带水印图片存储时间为 1 天,无水印图片存储时间为 7 天
通过名字获取带水印图片不会增加已调用次数
(通过获取图片的api获取无水印图片或无水印已排版图片会增加 1 次调用次数)
请求参数中“必须”项为false的,可以不用传递。如果传递自定义值,将会使用用户自定义阈值处理照片,阈值越高越容易检测通过,不传的话默认使用已经定义好的阈值处理
官网上对应的app_key应用类型必须为证件照检测与制作
下方请求参数中带" * "的参数为检测参数,由于我们检测算法会不定期更新,检测标准也可能会出现一些变化,为方便检测参数阈值及时调整,务必将请求放至服务端进行
| 参数名称 | 是否必须 | 类型 | 描述 | 示例值 |
|---|---|---|---|---|
| file | true | string | 图片的base64格式(注意不包含base64的头部数据),或者图片在oss的key(见第十三个接口) | |
| spec_id | true | string | 已有的规格ID,见页面上方的‘照片规格列表’ | 1 |
| app_key | true | string | 已申请的app_key | |
| is_fair | false | int | 是否美颜,默认为美颜 | |
| fair_level | false | int | 美颜等级, |
1 |
| *head_length_max_p | false | int | 脸部长度max | |
| *head_length_min_p | false | int | 脸部长度min | |
| * |
false | int | 脸部占比max | |
| * |
false | int | 脸部占比min | |
| *eye_space_max_p | false | int | 双眼间距max | |
| *eye_space_min_p | false | int | 双眼间距min | |
| *hairline_top_max_p | false | string | 为像素字符串时,表示头顶距离与图像顶部的距离像素,为数字0-100时,表示头顶距离与图像顶部的距离像素与图像高的比值 | 300px |
| *hairline_top_min_p | false | string | 为像素字符串时,表示头顶距离与图像顶部的距离像素,为数字0-100时,表示头顶距离与图像顶部的距离像素与图像高的比值 | 10px |
| *eyes_center_left_max_p | false | int | 双眼中心距图像左边缘max | |
| *eyes_center_left_min_p | false | int | 双眼中心距图像左边缘min | |
| *eyes_space_bottom_max_p | false | int | 双眼距图像下边缘max | 414 |
| *eyes_space_bottom_min_p | false | int | 双眼距图像下边缘min | 324 |
| *shoulder_occupy | false | int | 肩部占比 | |
| *left_right_empty | false | int | 左右各空 | |
| *facial_width_max_p | false | int | 脸部宽度max | 284 |
| *facial_width_min_p | false | int | 脸部宽度min | 180 |
| width_px | false | int | 像素宽度,最大不能超过1050 | |
| height_px | false | int | 像素高度,最大不能超过1500 | |
| false | int | |||
| false | int | |||
| file_size_max | false | int | 文件大小最大值 | 40960 |
| file_size_min | false | int | 文件大小最小值 | 20480 |
| size_options | false | string | 尺寸说明 | |
| ppi | false | int | 分辨率 | 300 |
| photo_format | false | string | 照片格式 | |
| bit_depth | false | int | 位深度 | 24 |
| false | int | |||
| *facial_pose | false | int | 人脸姿态,是人脸姿态 yaw pitch roll的集中判断见参数说明1 | 35 |
| false | int | 视线水平,此参数为必检项,检测通过返回1,不通过为0 | ||
| *facial_shelter | false | int | 面部无遮挡(见下方参数说明2) | |
| *eyes_close | false | int | 闭眼 | 50 |
| *eyes_nature | false | int | 视线自然 | 50 |
| *mouse_nature | false | int | 嘴巴自然 | 50 |
| *shoulder_equal | false | int | 肩膀等高 | 50 |
| *face_unbalance | false | int | 阴阳脸 | 50 |
| *glasses_glare | false | int | 眼镜反光 | |
| *glasses | false | int | 是否佩戴眼镜,是 |
10 |
| *thin_frame_glasses | false | int | 细框/无框 眼镜 | 50 |
| *thick_black_frame_glasses | false | int | 粗黑框眼镜 | 50 |
| *sunglasses | false | int | 墨镜 | 50 |
| *face_expression | false | int | 脸部表情 | |
| *face_center | false | int | 脸部居中,此参数为必检项,不受传参的影响 | 1 |
| false | int | |||
| *face_blur | false | int | 模糊程度 | 50 |
| *face_noise | false | int | 噪声程度 | 20 |
| *face_over_kbt | false | int | 过曝光 | 60 |
| *bg_shadow | false | int | 背景阴影 | 60 |
| *clothes_similar | false | int | 服装突出 | 90 |
| *chin_bottom_min_p | false | int | 下巴距图像下边缘min | |
| *shoulder_missed | false | int | 身体完整性,是肩部完整 头部完整 下半身悬空的集中判断 | 60 |
| *face_width_min | false | int | 人脸脸颊宽度(不包含耳朵)与照片宽度的最小比例 | |
| *face_width_max | false | int | 人脸脸颊宽度(不包含耳朵)与照片宽度的最大比例 | |
| original | false | int | 程序会按照px = mm/25.4*original去设定照片的像素大小 | |
| *missing_shoulder | false | int | 肩部完整 | 30 |
| *incomplete_head | false | int | 头部完整 | 60 |
| *lower_body_hanging | false | int | 下半身悬空 | 30 |
| *headpose_yaw | false | int | 人脸姿态(见下方参数说明1) | 50 |
| *headpose_pitch | false | int | 人脸姿态(见下方参数说明1) | 50 |
| *headpose_roll | false | int | 人脸姿态(见下方参数说明1) | 50 |
| *face_too_dark | false | int | 照片过暗 | 60 |
| *face_contrast | false | int | 对比度异常 | 60 |
| *body_posture | false | int | 身体姿态 身子不正,自拍时斜向下,举手,手放脑后,抠鼻孔,托腮等 | 60 |
| *hat_threshold | false | int | 帽子检测 | 20 |
| *bare_shouldered | false | int | 光膀检测 | 60 |
| *id_exist | false | int | 手持证件照检测 | 60 |
| *watermark_exist | false | int | 照片有水印 | 50 |
| *pn_mask_exist | false | int | 照片有挂戴口罩 | 90 |
| background_color | false | list | 自定义照片背景色,详见“参数说明4” | |
| ratios | false | list | 自定义证件照制作比率,详见“参数说明5” | |
| print_type | false | int | 排版类型,1表示默认(一寸8张),2表示紧凑型(一寸10张) | |
| image_enhancement | false | int | 图像细节增强控制参数,1表示是,0表示否,默认否, 处理后图片模糊程度会有所改善, 不美颜时无效 | 1 |
| need_adjust_lighting | false | int | 是否需要光照处理,1表示是,0表示否,默认否, 会按指定亮度进行调整 | 1 |
| hor_align_type | false | int | 裁剪方式 0表示中心裁剪(默认) 1表示耳朵裁剪 | 1 |
| *head_pose | false | int | 头部姿态异常 | 60 |
| *decoration_occlusion | false | int | 饰品遮挡 | 60 |
| *pn_over_ps | false | int | 过度ps,目前是第一个版本,需要使用请先联系客服咨询接口效果 | 60 |
| *face_gazeNG | false | int | 眼睛视线异常,目前是第一个版本,需要使用请先联系客服咨询接口效果 | 60 |
| *deal_face_skincolor | false | int | 肤色异常检测 | 60 |
| pose_fix | false | int | 是否需要做姿态调整 0表示否(默认,头像摆正依据双眼水平) 1表示是(会矫正双眼水平和肩膀水平) | 1 |
| *pn_neck_shadow_exist | false | int | 脖子有阴影 | 60 |
| *is_remake_photo | false | int | 翻拍检测,通过照片中的光线分布判断该图片是否为翻拍屏幕/纸质照片等场景 | 60 |
| out_endpoint | false | str | 控制返回链接的域名,见参数说明7 | https://oss-accelerate.aliyuncs.com |
| need_origin_beauty | false | int | 是否需要对原图进行预美颜处理, 1表示是,0表示否,默认否,为1时接口耗时偶尔会额外增加30-40秒,大多数情况下额外增加5-6秒 | 1 |
| origin_max_length | false | int | 原图缩放参数,传此参数时,原图最长边像素大于此值时会被等比例缩放到此值,此时接口耗时会相对较短,且更加稳定,推荐传此参数为1500;不传此参数时不缩放(默认不缩放). | 1500 |
| 参数名称 | 类型 | 示例 | 描述 |
|---|---|---|---|
| code | number | 200 | 状态码 |
| result | object | ||
| source_file | str | app/5f6ca...e4fb6dc1.jpg | 原图的云端存储路径(使用此路径作为此接口请求中的file将大大提高效率) |
| check | object | 1 | 检测结果汇总,各检测项中有一项未通过则为0,全部通过则为1 |
| check_result | object | 各个参数的检查结果:1代表通过,0代表未通过 | |
| background_color | number | 1 | 背景色 |
| bg_shadow | number | 1 | 背景阴影 |
| chin_bottom | number | 1 | 下巴距图像下边缘 |
| clothes_similar | number | 1 | 服装相似度 |
| eye_space | number | 1 | 眼部距离 |
| eyes_center_left | number | 1 | 双眼中心距图像左边缘 |
| eyes_close | number | 1 | 闭眼程度 |
| eyes_nature | number | 1 | 视线 |
| eyes_space_bottom | number | 1 | 双眼中心距图像下边缘 |
| face_blur | number | 1 | 模糊 |
| face_center | number | 1 | 脸部居中 |
| number | 1 | ||
| face_expression | number | 1 | 脸部表情 |
| face_noise | number | 1 | 脸部噪音 |
| face_unbalance | number | 1 | 阴阳脸 |
| facial_pose | number | 1 | 脸部姿态 |
| facial_shelter | number | 1 | 脸部遮挡 |
| facial_width | number | 1 | 脸部宽度 |
| file_size | number | 1 | 文件大小 |
| glasses | number | 1 | 眼镜样式 |
| glasses_glare | number | 1 | 眼镜反光 |
| hairline_top | number | 1 | 头顶发际线 |
| head_length | number | 1 | 头部长度 |
| shoulder_missed | number | 1 | 肩膀完整性(包括肩膀、头部和胸部完整性) |
| shoulder_equal | number | 1 | 肩膀等高 |
| headpose_pitch | number | 1 | 头部姿态 |
| headpose_roll | number | 1 | 头部姿态 |
| headpose_yaw | number | 1 | 头部姿态 |
| eyebrow_occlusion | number | 1 | 眉毛遮挡 |
| eye_occlusion | number | 1 | 眼睛遮挡 |
| nose_occlusion | number | 1 | 鼻子遮挡 |
| mouth_occlusion | number | 1 | 嘴巴遮挡 |
| cheek_occlusion | number | 1 | 脸颊遮挡 |
| ear_occlusion | number | 1 | 耳朵遮挡 |
| decoration_occlusion | number | 1 | 饰品遮挡 |
| missing_shoulder | number | 1 | 肩膀完整性 |
| incomplete_head | number | 1 | 头部完整性 |
| lower_body_hanging | number | 1 | 下半身悬空 |
| face_too_dark | number | 1 | 照片过暗 |
| face_over_kbt | number | 1 | 过曝光 |
| face_contrast | number | 1 | 对比度异常 |
| body_posture | number | 1 | 身体姿态 身子不正,自拍时斜向下,举手,手放脑后,抠鼻孔,托腮等 |
| hat_detection | number | 1 | 帽子检测 |
| bare_shouldered | number | 1 | 光膀检测 |
| id_exist | number | 1 | 手持证件照检测 |
| watermark_exist | number | 1 | 照片有水印 |
| pn_neck_shadow_exist | number | 1 | 脖子阴影 |
| is_remake_photo | number | 1 | 是否为翻拍 |
| ppi | number | 1 | 分辨率 |
| name | string | 图片的规格名称 | 图片的规格名称 |
| file_name_wm | list | ["56c...lue3_wm", ...] | 带水印图片名字,包括多种可选颜色 |
| file_name_print_wm | list | ["56c...ue3_print_wm",...] | 带水印排版图片名字,包括多种可选颜色 |
| file_name | list | ["56c...8blue3",...] | 无水印图片名字,包括多种可选颜色 |
| file_name_print | list | ["56...98blue3_print",...] | 无水印排版图片名字,包括多种可选颜色 |
| is_print | number | 1 | 有无排版 |
| size | list | [295, 413] | 图片尺寸 |
| size_print | list | [1795, 1205] | 排版后图片尺寸 |
| one_sheet_num | number | 8 | 排版的照片数量 |
| not_check_result | list | [{"check_param": "face_blur", "param_message": "脸部模糊","check_value":40},...] | 检测未通过参数,check_value表示算法检测出的结果值,为null时表示结果值未以明确的方式给出 |
| img_wm_url_list | list | ["https://...",...], | 带水印单张照url列表 |
| print_wm_url_list | list | ["https://...",...], | 带水印排版照url列表 |
import requests, json, base64
url = "http://apicall.id-photo-verify.com/api/cut_check_pic"
with open("test.png", 'rb') as f:
pic = f.read()
headers = {"Content-Type": "application/json"}
data = {
"spec_id": 391,
"app_key": "您申请的app_key",
"file": base64.b64encode(pic).decode()
}
data_json = json.dumps(data)
response = requests.post(url, headers=headers, data=data_json)
print(response.text)
{
"code": 200,
"not_check_result": [],
"result": {
"check": 1,
"check_result": {
"background_color": 1,
"clothes_similar": 1,
"eyes_close": 1,
"face_blur": 1,
"face_center": 1,
"face_noise": 1,
"facial_pose": 1,
"file_size": 1,
"headpose_pitch": 1,
"headpose_roll": 1,
"headpose_yaw": 1,
"name": "简历照片(一寸)",
"photo_format": 1,
"px_and_mm": 1,
"shoulder_equal": 1,
"sight_line": 1,
"spec_id": 391
},
"file_name": [
"0d8400b2967a11ea9cfa00163e0070b633342blue3",
"0d8400b2967a11ea9cfa00163e0070b629211white3",
"0d8400b2967a11ea9cfa00163e0070b639814red3",
"0d8400b2967a11ea9cfa00163e0070b639486blue23",
"0d8400b2967a11ea9cfa00163e0070b688485grey3",
"0d8400b2967a11ea9cfa00163e0070b672410blue33"
],
"file_name_print": [
"0d8400b2967a11ea9cfa00163e0070b633342blue3_print",
"0d8400b2967a11ea9cfa00163e0070b629211white3_print",
"0d8400b2967a11ea9cfa00163e0070b639814red3_print",
"0d8400b2967a11ea9cfa00163e0070b639486blue23_print",
"0d8400b2967a11ea9cfa00163e0070b688485grey3_print",
"0d8400b2967a11ea9cfa00163e0070b672410blue33_print"
],
"file_name_print_wm": [
"0d8400b2967a11ea9cfa00163e0070b6blue3_print_wm",
"0d8400b2967a11ea9cfa00163e0070b6white3_print_wm",
"0d8400b2967a11ea9cfa00163e0070b6red3_print_wm",
"0d8400b2967a11ea9cfa00163e0070b6blue23_print_wm",
"0d8400b2967a11ea9cfa00163e0070b6grey3_print_wm",
"0d8400b2967a11ea9cfa00163e0070b6blue33_print_wm"
],
"file_name_wm": [
"0d8400b2967a11ea9cfa00163e0070b6blue3_wm",
"0d8400b2967a11ea9cfa00163e0070b6white3_wm",
"0d8400b2967a11ea9cfa00163e0070b6red3_wm",
"0d8400b2967a11ea9cfa00163e0070b6blue23_wm",
"0d8400b2967a11ea9cfa00163e0070b6grey3_wm",
"0d8400b2967a11ea9cfa00163e0070b6blue33_wm"
],
"img_wm_url_list": ["https://...","..."],
"is_print": 1,
"one_sheet_num": 8,
"print_wm_url_list": ["https://...","..."],
"size": [
260,
378
],
"size_print": [
1795,
1205
]
}
}