文档中心>文字识别

OCR-身份证识别

最近更新时间:2023-03-28 11:06:30

我的收藏
注意
身份证识别接口全面升级,算法更强、性能更优,支持子账号调用。欢迎立即体验 新版身份证识别
新老版本的接口计费模式相同,且共享计费阶梯和资源包,您可以在【文字识别控制台】>【用量统计】中查看调用情况。
老版本接口我们仍继续维护,但不支持新客户开通调用,建议您使用 新版身份证识别,体验更优服务。

接口描述

接口请求域名:https://recognition.image.myqcloud.com/ocr/idcard
本接口(idcard)用于识别身份证上的姓名、证件号、地址等信息。
说明
本接口支持 HTTPS 协议,如果您现在使用的是 HTTP 协议,为了保障您的数据安全,请切换至 HTTPS。

请求头 header

参数名
必选
描述
host
recognition.image.myqcloud.com
腾讯云文字识别服务器域名。
content-length
包体总长度
每个请求的包体大小限制为6MB,不支持 .gif 类型的动图。
content-type
application/json 或 multipart/form-data
根据不同接口选择:
1. 使用 application/json 格式,参数为 url ,其值为图片链接。
2. 使用 multipart/form-data 格式,参数为 image,其值为图片的二进制内容。
authorization
鉴权签名
多次有效签名,用于鉴权,生成方式见 鉴权签名方法
注意
如选择 multipart/form-data,请使用 HTTP 框架/库推荐的方式设置请求的 content-type,不推荐直接调用 setheader 等方法设置,否则可能导致 boundary 缺失引起请求失败。

使用 application/json 格式

输入参数

参数
必选
类型
说明
appid
String
接入项目的唯一标识,可在 账号信息云 API 密钥 中查看。
card_type
Int
0 为身份证有照片的一面(正面);1 为身份证有国徽的一面(反面)。如果未指定,默认为0,但反面必须填1。
url_list
String 数组
图片 url 列表。

输出参数

参数
类型
类型
result_list
JSON 数组
具体查询数据,内容见下表。
result_list( JSON 数组)中每一项的具体内容:
参数
类型
描述
code
Int
错误码,0为成功。
message
String
错误描述。
url
String
当前图片的 url。
data
Object
具体查询数据,内容见下表。
data 字段具体内容(身份证有照片的一面):
参数
类型
描述
name
string
姓名
sex
string
性别
nation
string
民族
birth
string
出生日期
address
string
地址
id
string
身份证号
name_confidence_all
array(int)
证件姓名置信度,取值范围[0,100]
sex_confidence_all
array(int)
性别置信度,取值范围[0,100]
nation_confidence_all
array(int)
民族置信度,取值范围[0,100]
birth_confidence_all
array(int)
出生日期置信度,取值范围[0,100]
address_confidence_all
array(int)
地址置信度,取值范围[0,100]
id_confidence_all
array(int)
身份证号置信度,取值范围[0,100]
data 字段具体内容(身份证反面):
参数
类型
描述
authority
string
发证机关
valid_date
string
证件有效期
authority_confidence_all
array(int)
发证机关置信度,取值范围[0,100]
valid_date_confidence_all
array(int)
证件有效期置信度,取值范围[0,100]
说明
如未识别出某字段(如 name ),则该字段对应的置信度(如 name_confidence )为-1。

示例

输入示例

POST /ocr/idcardHTTP/1.1
Authorization: FL26MsO1nhrZGuXdin10DE5tnDdhPTEwMDAwMDEmYj1xaW5pdXRlc3QyJms9QUtJRG1PNWNQVzNMREdKc2FyREVEY1ExRnByWlZDMW9wZ3FYJnQ9MTQ2OTE3NTIzMCZlPTE0NjkxNzYyMzA=
Host: recognition.image.myqcloud.com
Content-Length: 302
Content-Type: "application/json"

{
"appid":11111,
"bucket":"test",
"card_type":0,
"url_list":[
"http://www.test.com/aaa.jpg",
"http://www.test.com/bbb.jpg"
]
}

输出示例

{
"result_list": [{
"code": 0,
"message": "OK",
"url": " http://www.test.com/aaa.jpg",
"data": {
"name": "某某",
"sex": "男",
"nation": "汉",
"birth": "2000/1/1",
"address": "某地",
"id": "123456200001011234",
"name_confidence_all": [
38, 28
],
"sex_confidence_all": [
28
],
"nation_confidence_all": [
34
],
"birth_confidence_all": [
38, 38, 20, 46, 50, 49
],
"address_confidence_all": [
13, 30
],
"id_confidence_all": [
49, 50, 58, 63, 51, 52, 55, 48, 48, 47, 58, 47, 48, 56,
45, 55, 54, 47
]
}
},
{
"code": 0,
"message": "OK",
"url": " http://www.test.com/bbb.jpg",
"data": {
"name": "某某某",
"sex": "女",
"nation": "汉",
"birth": "2001/1/1",
"address": "某地",
"id": "123456200101011234",
"name_confidence_all": [
38, 28, 55
],
"sex_confidence_all": [
28
],
"nation_confidence_all": [
34
],
"birth_confidence_all": [
38, 38, 20, 46, 50, 49
],
"address_confidence_all": [
13, 30
],
"id_confidence_all": [
49, 50, 58, 63, 51, 52, 55, 48, 48, 47, 58, 47, 48, 56,
45, 55, 54, 47
]
}
}
]
}

使用 multipart/form-data 格式

输入参数

使用 multipart/form-data 格式:
参数
必选
类型
描述
appid
String
接入项目的唯一标识,可在 账号信息云 API 密钥 中查看
card_type
Int
0为身份证有照片的一面,1为身份证有国徽的一面;如果未指定,默认为0。
image
Binary
图片文件,支持多个:
1. 参数名须为 “image[0]”、“image[1]”等 image 开头的字符串。响应 HTTP body 中会按照该字符串的字典序排列。
2. 每张图片需指定 filename,filename 的值为可为空,响应 HTTP body 中会返回用户设置的 filename 值。

输出参数

字段
类型
说明
result_list
JSON 数组
具体查询数据,内容见下表。
result_list(JSON 数组)中每一项的具体内容:
字段
类型
说明
code
Int
服务器错误码,0为成功。
message
String
服务器返回的信息。
filename
String
当前图片的 filename,与请求包中 filename 一致。
data
Object
具体查询数据,内容见下表。
data 字段具体内容(身份证有照片的一面):
字段
类型
说明
name
String
姓名
sex
String
性别
nation
String
民族
birth
String
出生日期
address
String
地址
id
String
身份证号
name_confidence_all
Array(Int)
证件姓名置信度,取值范围[0,100]
sex_confidence_all
Array(Int)
性别置信度,取值范围[0,100]]
nation_confidence_all
Array(Int)
民族置信度,取值范围[0,100]
birth_confidence_all
Array(Int)
出生日期置信度,取值范围[0,100]
address_confidence_all
Array(Int)
地址置信度,取值范围[0,100]
id_confidence_all
Array(Int)
身份证号置信度,取值范围[0,100]
说明
如未识别出某字段(如 name),则该字段对应的置信度(如 name_confidence)为-1。
data 字段具体内容(身份证反面):
字段
类型
描述
authority
string
发证机关
valid_date
string
证件有效期
authority_confidence_all
array(int)
发证机关置信度,取值范围[0,100]
valid_date_confidence_all
array(int)
证件有效期置信度,取值范围[0,100]
说明
如未识别出某字段(如 name ),则该字段对应的置信度(如 name_confidence )为-1。

示例

输入示例

POST /ocr/idcard HTTP/1.1
Content-Type:multipart/form-data;boundary=-------------------------acebdf13572468
Authorization: FCHXddYbhZEBfTeZ0j8mn9Og16JhPTEwMDAwMzc5Jms9QUtJRGVRZDBrRU1yM2J4ZjhRckJiUkp3Sk5zbTN3V1lEeHN1JnQ9MTQ2ODQ3NDY2MiZyPTU3MiZ1PTAmYj10ZXN0YnVja2V0JmU9MTQ3MTA2NjY2Mg==
Host: recognition.image.myqcloud.com
Content-Length: 61478

---------------------------acebdf13572468
Content-Disposition: form-data; name="appid";

11111
---------------------------acebdf13572468
Content-Disposition: form-data; name="bucket";

testbucket
---------------------------acebdf13572468
Content-Disposition: form-data; name="card_type";

1
---------------------------acebdf13572468
Content-Disposition: form-data; name="image[0]"; filename="1.jpg"
Content-Type: image/jpeg

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
---------------------------acebdf13572468
Content-Disposition: form-data; name="image[1]"; filename="2.jpg"
Content-Type: image/jpeg

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
---------------------------acebdf13572468--

输出示例

{
"result_list": [
{
"code": 0,
"message": "success",
"filename": "1.jpg",
"data": {
"authority": "某市派出所",
"valid_date": "2012.01.01-2022.01.01",
"authority_confidence_all": [
42, 36, 40, 49, 41
],
"valid_date_confidence_all": [
44, 50, 63, 44, 47, 42, 43, 53, 48, 52, 44, 47, 48, 45, 50, 58
]
}
},
{
"code": 0,
"message": "success",
"filename": "2.jpg",
"data": {
"authority": "某市派出所",
"valid_date": "2012.01.01-2022.01.01",
"authority_confidence_all": [
42, 36, 40, 49, 41
],
"valid_date_confidence_all": [
44, 50, 63, 44, 47, 42, 43, 53, 48, 52, 44, 47, 48, 45, 50, 58
]
}
}
]
}

错误码

错误码
含义
3
错误的请求;其中 message:account abnormal,errorno is:2 为账号欠费停服
4
签名为空
5
签名串错误
6
APPID /存储桶/ url 不匹配
7
签名编码失败(内部错误)
8
签名解码失败(内部错误)
9
签名过期
10
APPID 不存在
11
SecretId 不存在
12
APPID 不匹配
13
重放攻击
14
签名失败
15
操作太频繁,触发频控
16
存储桶不存在
17
url 为空
18
没有图片或 url
19
图片数过多,单次请求最多支持20个 url 或文件
20
图片过大,单个文件最大支持1MB
21
无效的参数
200
内部打包失败
201
内部解包失败
202
内部链接失败
203
内部处理超时
-1102
图片解码失败
-1300
图片为空
-1301
参数为空
-1304
参数过长
-1308
url 图片下载失败
-5101
OCR 照片为空
-5103
OCR 识别失败
-5106
身份证边框不完整
-5107
输入图片不是身份证
-5108
身份证信息不合规范
-5109
照片模糊
-5806
身份证号码或姓名格式错误
-7001
未检测到身份证,请对准边框(请避免拍摄时倾角和旋转角过大、摄像头)
-7002
请使用第二代身份证件进行扫描
-7003
不是身份证正面照片(请使用带证件照的一面进行扫描)
-7004
不是身份证反面照片(请使用身份证反面进行扫描)
-7005
确保扫描证件图像清晰
-7006
请避开灯光直射在证件表面
-9101
身份证边框不完整
-9100
身份证日期不合法
更多其他 API 错误码请查看 错误码说明