人脸实名认证
1. 接口介绍
基于用户授权,将用户姓名、身份证号和现场采集的人脸图像,与权威数据源进行比对,判断用户身份真实性,防止身份信息被顶替、冒用。
1.1 接入指南
- 联系客户经理开通账号
- 同客户经理沟通详细需求与审核标准。根据您的需求,客户经理将为您开通对应的应用(SID)
- 访问控制台 - 数字证书 获取用于接口鉴权的 API Key
- 查阅下方的接口参数文档,了解如何构建请求以及如何解析响应数据
- 使用 示例资源 调用接口,进行调试和测试
- 查阅 审核场景汇总结果说明,了解如何通过汇总结果判断内容是否违规,以及如何解析汇总结果
- 添加异常处理逻辑,以处理可能出现的错误和异常情况,增强代码的健壮性和稳定性
如果在接入过程中遇到任何技术问题,请联系客户经理以获取帮助。
1.2 v3.1 版本特性
v3.1 版本通过 image 参数传输图片数据,通过 video 参数传输视频数据,通过 fileType 参数指定输入文件类型(URL 或 Base64),支持图片和视频两种认证方式,相比传统的图片认证方式,视频认证能够更好地进行活体检测,提高身份验证的安全性。新版本支持以下功能:
- 通过
image参数传输图片数据,通过video参数传输视频数据 - 通过
fileType参数指定数据传输方式(URL 或 Base64) - 通过视频进行更准确的活体检测
- 支持用户录制动态视频进行身份验证
- 支持多种主流图片和视频格式
- 提供更安全的身份验证机制
2. 请求
2.1 请求地址
- v3.1(推荐)
- v3
| 区域 | 请求地址 |
|---|---|
| 国内 | https://api.open.tuputech.com/v3.1/recognition/face/verify/<secretId> |
| 国外 | https://api-oversea.open.tuputech.com/v3.1/recognition/face/verify/<secretId> |
| 区域 | 请求地址 |
|---|---|
| 国内 | https://api.open.tuputech.com/v3/recognition/face/verify/<secretId> |
| 国外 | https://api-oversea.open.tuputech.com/v3/recognition/face/verify/<secretId> |
提示
<secretId> 需替换为您的应用 SID,请联系客户经理为您开通及配置。关于 SID
详见 常见问题(FAQ)。
2.2 请求方法
POST
2.3 请求头
| 请求头名称 | 取值 | 是否必需 | 示例 | 说明 |
|---|---|---|---|---|
Content-Type | application/json | 是 | Content-Type: application/json | 请求数据类型为 JSON |
X-API-Key | <API Key> | 是 | X-API-Key: <API Key> | API Key 用于接口鉴权。请访问控制台 - 数字证书 获取 API Key |
2.4 超时时间及异常处理
建议配置超时时间 3 秒,在 HTTP 响应状态码非 200 或业务状态码不为 0 时进行重试。
危险
由于模型基于请求流量动态伸缩,在空闲一定时间后会关闭(部分专用模型空闲一定时间后会关闭全部实例)。
由于模型冷启动耗时较长,部分请求可能无法处理,最终返回非 200 HTTP 状态码或业务状态码 101。该现象可能在以下情况下出现:
- 初次请求
- 长时间未调用后再次请求
- 请求流量突增
- 请求存在规律性的流量波动(例如每隔超过 5 分钟请求一批数据,或仅在工作日期间有大量请求)
针对以上情况,我们分别建议您:
- 间隔 2~3 分钟后重试
- 间隔 2~3 分钟后重试,并且后续保持至少每分钟 1 次调用
- 提前进行预热,或及时联系我们扩容
- 调整业务请求时间间隔到 5 分钟内,或联系我们调整实例保持策略。若您的业务仅在工作日期间有大量请求,节假日期间较少,请务必联系我们
2.5 请求参数说明 🔥
- v3.1(推荐)
- v3
| 参数名称 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
image | String | 否 | 图片链接或 base64 字符串 |
video | String | 否 | 视频链接或 base64 字符串 |
fileType | String | 是 | 输入文件类型,可选值:url 或 base64。1. 当为 base64 时,请将图片或视频数据编码为 base64 字符串(不包含 data:image/png;base64, 或 data:video/mp4;base64, 前缀) |
name | String | 是 | 姓名 |
idNo | String | 是 | 身份证号码 |
timestamp | Int | 否 | 当前服务器的 Unix 时间戳。 当前已废弃,仅保持兼容(采用该鉴权方式的调用不受影响)。新接入请使用 API Key 接口鉴权 |
nonce | Float | 否 | 随机数(建议使用 Unix 时间戳或若干位随机整数)。 当前已废弃,仅保持兼容(采用该鉴权方式的调用不受影响)。新接入请使用 API Key 接口鉴权 |
signature | String | 否 |
|
| 参数名称 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
image | String | 是 | 图片链接或 base64 字符串。默认图片数据大小不超过 1M |
imageType | String | 是 | 图片类型,可选值:url 或 base64。1. 当为 base64 时,请将图片数据编码为 base64 字符串(不包含 data:image/png;base64, 前缀) |
name | String | 是 | 姓名 |
idNo | String | 是 | 身份证号码 |
timestamp | Int | 否 | 当前服务器的 Unix 时间戳。 当前已废弃,仅保持兼容(采用该鉴权方式的调用不受影响)。新接入请使用 API Key 接口鉴权 |
nonce | Float | 否 | 随机数(建议使用 Unix 时间戳或若干位随机整数)。 当前已废弃,仅保持兼容(采用该鉴权方式的调用不受影响)。新接入请使用 API Key 接口鉴权 |
signature | String | 否 |
|
2.6 请求示例
- v3.1(推荐)
- v3
图片链接认证请求示例
{
"image": "<图片链接>",
"fileType": "url",
"name": "<姓名>",
"idNo": "110101199001011234"
}
图片Base64认证请求示例
{
"image": "<图片Base64编码>",
"fileType": "base64",
"name": "<姓名>",
"idNo": "110101199001011234"
}
视频链接认证请求示例
{
"video": "<视频链接>",
"fileType": "url",
"name": "<姓名>",
"idNo": "110101199001011234"
}
视频Base64认证请求示例
{
"video": "<视频Base64编码>",
"fileType": "base64",
"name": "<姓名>",
"idNo": "110101199001011234"
}
{
"image": "<图片链接>",
"imageType": "url",
"name": "<姓名>",
"idNo": "110101199001011234"
}
3. 返回结果
3.1 响应参数说明 🔥🔥
| 参数名称 | 类型 | 说明 |
|---|---|---|
signature | String | 同步响应或回调请求签名,由图普使用私钥签名,在需要时,您可以通过 图普公钥
进行验签以确保此响应内容来自图普(与您调用接口时使用的公私钥不同)。验签步骤:
|
json | String | 同步响应或回调请求经过 JSON 转义后的字符串,需进一步解析得到业务数据。
|
JSON 参数说明
| 字段 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
code | Int | 是 | 状态码,详见 业务状态码 |
message | String | 是 | 状态信息 |
label | Int | 是 | 结果标签,详见 返回标签说明 |
rate | Float | 是 | 标签置信度,取值在 0.0 - 1.0 之间 |
review | Boolean | 是 | 是否复审 |
featureId | String | 否 | 人脸特征 ID,已废弃。认证通过时返回,如 6da8741182ccbfb9084a7e7c4bffe144 |
timestamp | Int | 是 | 当前服务器的 Unix 时间戳 |
nonce | Float | 是 | 随机数 |
3.2 返回标签说明 🎯
| Label 值 | 说明 |
|---|---|
-1 | 模型错误 |
0 | 认证通过 |
1 | 认证不通过:人脸质量不符合要求 |
2 | 认证不通过:非活体 |
3 | 认证不通过:实名认证失败 |
4 | 身份证号格式错误 |
5 | 名字格式错误 |
6 | 身份证号和名字不匹配 |
3.3 响应示例 🔥🔥🔥
{
"code": 0,
"message": "success",
"label": 0,
"rate": 1,
"review": false,
"nonce": 1685000000,
"timestamp": 1685000000
}
4. 更新日志
| 日期 | 说明 |
|---|---|
| 2025-12-29 | 新增 v3.1 版本,支持视频文件或视频链接方式的人脸实名认证 |
| 2025-12-26 | 新增国外接口地址 |
| 2025-09-18 | 调整文档内容 |