保险单识别
功能介绍
识别保险单图片上的文字信息,并将识别的结构化结果返回给用户。支持对多板式保险单的扫描图片及手机照片进行结构化信息提取。
约束与限制
- 只支持识别PNG、JPG、JPEG、BMP、TIFF格式的图片。
- 图像各边的像素在15到8192px之间。
- 图像中保险单区域有效占比超过70%,保证整张保险单及其边缘包含在图像内。
- 支持图像中保险单旋转、支持少量扭曲。
- 能处理暗光等干扰的图片但影响识别精度。
- 覆盖常见保险公司的常见保单版式,由于即使是同一家保险公司,保险种类也繁多而且都在动态变化,实际支持情况请以实际测试效果为准。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
前提条件
在使用之前,需要您完成服务申请和认证鉴权,具体操作流程请参见开通服务和认证鉴权章节。

用户首次使用需要先申请开通。服务只需要开通一次即可,后面使用时无需再次申请。如未开通服务,调用服务时会提示ModelArts.4204报错,请在调用服务前先进入控制台开通服务,并注意开通服务区域与调用服务的区域保持一致。
URI
POST https://{endpoint}/v2/{project_id}/ocr/insurance-policy
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 用于获取操作API的权限。获取Token接口响应消息头中X-Subject-Token的值即为Token。 |
Content-Type |
是 |
String |
发送的实体的MIME类型,参数值为“application/json”。 |
Enterprise-Project-Id |
否 |
String |
企业项目ID。OCR支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。 获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。 企业项目创建步骤请参见用户指南。
说明:
创建企业项目后,在传参时,有以下三类场景。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
image |
否 |
String |
与url二选一。 图片的Base64编码,要求Base64编码后大小不超过10MB。 图片最短边不小于15px,最长边不超过8192px,支持JPEG、JPG、PNG、BMP、TIFF格式。 图片Base64编码示例如/9j/4AAQSkZJRgABAg...,带有多余前缀会产生The image format is not supported报错。 |
url |
否 |
String |
与image二选一 图片的URL路径,目前支持:
说明:
|
detect_direction |
否 |
Boolean |
是否校正图片的倾斜角度,可选值如下。
支持任意角度的校正,未传入该参数时默认为“false”。 待识别图片如果存在倾斜,建议将此参数设置为“true”。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
result |
InsurancePolicyResult object |
识别结果。 调用失败时不返回此字段。 |
参数 |
参数类型 |
描述 |
---|---|---|
bank_name |
String |
发卡行。 |
bill_number |
InsurancePolicyDetail object |
保险单号(没有单号时,返回为空)。 |
company |
InsurancePolicyDetail object |
保险公司。 |
effective_date |
InsurancePolicyDetail object |
保险单生效日期。 |
applicant_name |
InsurancePolicyDetail object |
投保人姓名。 |
applicant_sex |
InsurancePolicyDetail object |
投保人性别。 |
applicant_birthday |
InsurancePolicyDetail object |
投保人出生日期。 |
applicant_id_type |
InsurancePolicyDetail object |
投保人证件类型。 |
applicant_id_number |
InsurancePolicyDetail object |
投保人证件号。 |
insurant_list |
Array of InsurantItem objects |
被保人列表(第一个默认为主被保人)。 |
beneficiary_list |
Array of BeneficiaryItem objects |
受益人列表。 |
insurance_list |
Array of InsuranceItem objects |
保险项目信息列表。 |
参数 |
参数类型 |
描述 |
---|---|---|
words |
String |
对应识别出的文本内容。 |
location |
Array<Array<Integer>> |
对应识别出的四个顶点坐标。 |
参数 |
参数类型 |
描述 |
---|---|---|
insurant_name |
InsurancePolicyDetail object |
被保人姓名。 |
insurant_sex |
InsurancePolicyDetail object |
被保人性别。 |
insurant_birthday |
InsurancePolicyDetail object |
被保人出生日期。 |
insurant_id_type |
InsurancePolicyDetail object |
被保人证件类型。 |
insurant_id_number |
InsurancePolicyDetail object |
被保人证件号码。 |
参数 |
参数类型 |
描述 |
---|---|---|
beneficiary_name |
InsurancePolicyDetail object |
受益人姓名。 |
beneficiary_type |
InsurancePolicyDetail object |
受益人类型。 |
beneficiary_order |
InsurancePolicyDetail object |
受益顺序。 |
beneficiary_share |
InsurancePolicyDetail object |
受益比例/受益顺序。 |
参数 |
参数类型 |
描述 |
---|---|---|
insurance_name |
InsurancePolicyDetail object |
产品名称。 |
insurance_period |
InsurancePolicyDetail object |
保险期限。 |
insurance_amount |
InsurancePolicyDetail object |
保险金额。 |
payment_frequency |
InsurancePolicyDetail object |
交费频率。 |
payment_period |
InsurancePolicyDetail object |
交费期间。 |
payment_amount |
InsurancePolicyDetail object |
每期交费金额。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
调用失败时的错误码,具体请参见错误码。 调用成功时不返回此字段。 |
error_msg |
String |
调用失败时返回的错误信息。 调用成功时不返回此字段。 |
请求示例

- 请求样例(方式一:使用图片的Base64编码)
POST https://{endpoint}/v2/{project_id}/ocr/insurance-policy Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "image" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAA..." }
- 请求样例(方式二:使用图片URL)
POST https://{endpoint}/v2/{project_id}/ocr/insurance-policy Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "url" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAA..." }
- Python3语言请求代码示例(其他语言参照下列示例编写或使用OCR SDK)
# encoding:utf-8 import requests import base64 url = "https://{endpoint}/v2/{project_id}/ocr/insurance-policy" token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} imagepath = r'./data/insurance-policy-demo.png' # 读取本地图片 with open(imagepath, "rb") as bin_data: image_data = bin_data.read() image_base64 = base64.b64encode(image_data).decode("utf-8") # 使用图片的Base64编码 payload = {"image": image_base64} response = requests.post(url, headers=headers, json=payload) print(response.text)
响应示例
状态码: 200
成功响应示例
{ "result" : { "bill_number" : { "words" : "192365331963636", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "company" : { "words" : "华夏人寿保险股份有限公司", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "effective_date" : { "words" : "见特别约定", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "applicant_name" : { "words" : "杨建国", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "applicant_id_type" : { "words" : "身份证", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "applicant_id_number" : { "words" : "214631270006529342", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "insurant_list" : [ { "insurant_name" : { "words" : "惠秀梅", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "insurant_sex" : { "words" : "女", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "insurant_id_type" : { "words" : "身份证", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "insurant_id_number" : { "words" : "XXXXXXXXXXXXXXXX", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] } } ], "beneficiary_list" : [ { "beneficiary_name" : { "words" : "XXX", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "beneficiary_type" : { "words" : "生存保险金", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "beneficiary_order" : { "words" : "第一顺序", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "beneficiary_share" : null } ], "insurance_list" : [ { "insurance_name" : { "words" : "华夏黄金甲两全保险(分红型)", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "insurance_period" : { "words" : "2025年7月17日零时", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "insurance_amount" : { "words" : "RMB50000.00", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "payment_frequency" : { "words" : "月交", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] }, "payment_period" : { "words" : "2017年7月17日零时", "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ] } } ] } }
状态码: 400
失败响应样例
{ "error_code" : "AIS.0103", "error_msg" : "The image size does not meet the requirements" }
错误码
错误码请参见错误码。