1. 上传一张正面人像原始照片
2. 对您的照片进行预处理,使用顶级抠图算法去除背景
3. 选择背景色及证件照规格,进行精准人脸分析,确定人脸五官位置
4. 严格遵照证件规格标准,头高标准确定缩放比例,眼顶距确定人像位置,生成专业证件照。
本站特别为B端客户提供专业的证件照裁剪API接口服务,该服务不对个人用户开放。个人客户可以通过我们的网站、PC客户端、APP客户端或小程序等平台,享受便捷的证件照制作服务。
服务功能:
您只需发送一条HTTP POST请求,请求参数包括原始人像照片以及所需的证件照规格或自定义参数,即可获得符合要求的证件照。我们的服务包括照片去背景、人脸分析,按标准裁剪等操作,所有处理工作都将在我们的服务器上完成。此服务接口对接简便,处理请求简洁高效,能够快速提供精准的证件照,极大提升证件照裁剪处理的效率,广泛适用于各类需要证件照处理的领域。
服务特点:
. 高效精准:全程自动化处理,确保每张证件照符合标准要求。
. 简便易用:只需传入照片和规格参数,快速获取处理后的证件照。
. 广泛适用:适用于各种行业和平台,尤其适合需要批量或高频次证件照裁剪的企业客户。
接口URL: https://openapi.ezidphoto.com/api/register
使用用户名密码参数请求注册新用户,注册成功后返回访问令牌和刷新令牌,后续照片裁剪等请求需要附带访问令牌数据,访问令牌有效期1小时,超时需要调用刷新接口来刷新令牌,python请求示例源代码:
REGISTER_URL = "https://openapi.ezidphoto.com/api/register" USERNAME = "testuser" PASSWORD = "123456" def register(): response = requests.post(REGISTER_URL, json={ "username": USERNAME, "password": PASSWORD }) if response.status_code == 200: data = response.json() access_token = data.get("access_token") refresh_token = data.get("refresh_token") print("注册成功:") return access_token, refresh_token else: print("注册失败:", response.text) return None, None access_token, refresh_token = register()
接口URL: https://openapi.ezidphoto.com/api/login
使用用户名密码参数发送登录请求,登录成功后返回访问令牌和刷新令牌,后续照片裁剪等请求需要附带访问令牌数据,访问令牌有效期1小时,超时需要调用刷新接口来刷新令牌,python请求示例源代码:
LOGIN_URL = "https://openapi.ezidphoto.com/api/login" USERNAME = "testuser" PASSWORD = "123456" def login_get_token(): response = requests.post(LOGIN_URL, json={ "username": USERNAME, "password": PASSWORD }) if response.status_code == 200: data = response.json() access_token = data.get("access_token") refresh_token = data.get("refresh_token") print("登录成功:") return access_token, refresh_token else: print("登录失败:", response.text) return None, None access_token, refresh_token = login_get_token()
接口URL: https://openapi.ezidphoto.com/api/refresh
访问令牌有效期1小时,超时需要调用刷新接口来刷新令牌,请求参数是注册或登录用户后保存的访问令牌和刷新令牌,python请求示例源代码:
REFRESH_URL = "https://openapi.ezidphoto.com/api/refresh" def login_refresh_token(token, refreshtoken): headers = { "Authorization": f"Bearer {token}", "X-Refresh-Token": refreshtoken } resp = requests.post(REFRESH_URL, headers=headers) if resp.status_code == 200: data = resp.json() access_token = data.get("access_token") refresh_token = data.get("refresh_token") return access_token, refresh_token else: return None, None access_token, refresh_token = login_refresh_token(old_token,old_refreshtoken)
接口URL: https://openapi.ezidphoto.com/api/crop
核心接口服务,通过此接口进行证件照裁剪请求,请求参数分为两部分:1. 是原始照片图像的字节数组; 2. 您的证件照需求,支持自定义尺寸规格或标准规格照片,会根据参数自适应处理。接口返回裁剪好的证件照图片。
接口请求参数:分为两部分: 1. 是原始照片图像的字节数组; 2. 您的证件照需求,支持自定义尺寸规格或标准规格照片,服务器根据请求参数自适应处理。
接口返回:裁剪处理好的证件照图片。
请注意: 1. 测试API用户未开通“去背景”功能,background相关参数值无效。2. 原始照片请不要戴黑框眼镜拍摄,可能会导致证件照人脸分析以及裁剪失败。
python请求示例源代码:
#证件照规格需求请求参数,支持如下两种格式: #1. 自定义尺寸请求 SPEC = { "crop": True, #是否裁剪,设置为True "Dpi": 300, #证件照保存的DPI值,默认300 "dimensions": {"width_px": 359, "height_px": 480}, "face": {"height_min": 280, "height_max": 330}, "eyes": {"y_min": 180, "y_max": 200}, "background": {"remove": False, "fillcolor": True, "color": "#FFFFFF"}} #尺寸值参数分别代表像素宽度、像素高度、最大头高、最小头高、最大眼顶距、最小眼顶距。可参考本站图示。 #2. 标准规格证件照,以规格名称请求 SPEC = { "crop": True, "Dpi": 300, "name": "日本签证", "background": {"remove": False, "fillcolor": False, "color": "#FFFFFF"}} # remove 是否使用“去背景”功能。 测试用户此参数值无效。 # fillcolor 如果使用“去背景”功能,填充照片底色值,False时返回背景镂空PNG图片,后续自行处理底色。测试用户此参数值无效。 IMAGE_PATH = r"C:\test.jpg" CROP_URL = "https://openapi.ezidphoto.com/api/crop" # ---- 裁剪请求 ---- def send_crop_request(token): with open(IMAGE_PATH, "rb") as img_file: multipart_data = MultipartEncoder( fields={ "image": ("photo.jpg", img_file, "image/jpeg"), "spec": (None, json.dumps(SPEC), "application/json") } ) headers = { "Content-Type": multipart_data.content_type, "Authorization": f"Bearer {token}" } response = requests.post(CROP_URL, data=multipart_data, headers=headers) if response.status_code == 200: with open("cropped_photo.jpg", "wb") as f: f.write(response.content) print("✅ 裁剪成功!图片已保存") else: print(f"❌ 请求失败 {response.status_code}: {response.text}") if __name__ == "__main__": access_token, refresh_token = login_get_token() if access_token: send_crop_request(access_token)