跳到主要内容

泰国国民身份证 OCR

提供移动端与网页版 SDK

无需自行开发摄像头功能——我们免费开源的 eKYC SDK(网页、Flutter、iOS、Android 与 React Native)可自动拍摄证件和面部,并为您调用此 API。在 GitHub 上查看

泰国国民身份证 OCR API 可从泰国国民身份证的正反两面提取结构化数据:正面的 13 位身份证号码、泰文与英文姓名、地址、日期、宗教和性别,以及背面的激光码——并提供逐字段置信度分数,以及可选的边界框、裁剪图像和原始值。生产服务处理一张证件的中位耗时为 1.4 秒,可持续处理每小时 5,000 张。以人工核验的基准数据衡量,字段级准确率为 98.0%,其中身份证号码达到 100%;详见准确性

试用演示

上传泰国国民身份证,或使用下方的合成样本图像。

试用 AI 演示

登录或创建免费账户来使用此 AI 服务演示并探索我们强大的 API。

注册即可获得 100 积分 (IC) 免费赠送!

优惠截止至 2025 年 12 月 31 日

Example Images (Click to try)

Example 1
Try Demo

试用 SDK(实时摄像头)

若您不希望上传文件,免费开源的 iApp eKYC Web SDK 可通过您的摄像头自动拍摄身份证——它会检测证件边界、等待清晰稳定的画面、对图像进行透视校正,然后提交至此 API。更多流程请参阅完整的 SDK 实时演示页面

Loading live demo…

Loading live demo…

快速入门

您需要在 API 密钥管理 页面获取 API 密钥。将图像以 multipart/form-data 形式发送:

curl -X POST https://api.iapp.co.th/v3/store/ekyc/thai-national-id-card/front \
-H "apikey: YOUR_API_KEY" \
-F "file=@idcard.jpg"
{
"id_number": "3411700830334",
"th_name": "นาง บุญยัง โลเปช",
"en_name": "Mrs. Bunyang Lopez",
"en_dob": "22 Mar. 1957",
"address": "33/349 หมู่ที่ 7 ต.หนองปรือ อ.บางละมุง จ.ชลบุรี",
"province": "ชลบุรี",
"detection_score": 0.979
}

完整的响应结构、处理选项与错误代码请参阅技术参考

端点与定价

端点输出价格
POST /v3/store/ekyc/thai-national-id-card/front包含全部正面字段、逐字段置信度以及可选的边界框和图像的 JSON每页 1.25 IC
POST /v3/store/ekyc/thai-national-id-card/back包含背面激光码的 JSON每页 0.75 IC

旧版路径 /thai-national-id-card/v3.5/front/thai-national-id-card/v3.5.1/back 仍以相同价格继续支持。对于翻拍的身份证复印件,请使用带签名检测的翻拍泰国国民身份证识别。如需本地部署,请参阅数据安全

性能

以下数据于 2026 年 8 月在生产服务上实测。

指标数值
处理时间中位数每张 1.4 s(正面);1.3 s(背面)
持续吞吐量每秒 1.4 张(每小时 5,000 张)
最大文件大小10 MB
支持的输入格式JPEG、JPG、PNG、HEIC、HEIF、PDF

准确性

准确性以人工核验的基准数据衡量:60 张经人工标注的泰国国民身份证,共 1,380 个字段观测值。该基准数据集包含真实身份证,出于隐私原因不对外公开;完整方法论详见下方白皮书。

字段完全匹配率
身份证号码(13 位)100%
姓氏(英文)、称谓、性别、宗教100%
分区、区、邮政编码100%
省份、出生日期与到期日期100%
地址(完整)98.3%
全名(泰文)93.3%
全部字段(总体)98.0%

识别引擎已于 2026 年 8 月升级,总体字段准确率由 97.8% 提升至 98.0%,其中提升幅度最大的是地址、省份和到期日期。需要坦诚说明的一点是:泰文名/姓字段略有下降(泰文全名为 93.3%,此前为 96.7%)——如果您的集成主要依赖泰文姓名而非身份证号码或地址,请结合逐字段置信度分数进行校验。完整方法论、逐字段结果以及与某领先国际云 OCR 服务的对比已发布于基准测试白皮书:

下载基准测试白皮书 (PDF)

数据安全与合规

  • 本服务符合 GDPR 与 PDPA。
  • 上传的图像仅在内存中处理,响应返回后不予保留。
  • 提供完全自包含的本地(on-premise)部署方案,证件数据完全不会离开您的基础设施。详情请联系我们

技术参考

泰国国民身份证端点

1. 泰国国民身份证 - 正面

POST /v3/store/ekyc/thai-national-id-card/front

从泰国国民身份证正面提取详细信息。

请求头
名称类型是否必填描述
apikeystring您的 API 密钥
请求体 (multipart/form-data)
参数类型是否必填描述
fileFile图像的二进制数据(正面)
fieldsString输出中选择字段的选项
optionsString选择处理工具和设置的选项

2. 泰国国民身份证 - 背面

POST /v3/store/ekyc/thai-national-id-card/back

从泰国国民身份证背面提取信息。

请求头
名称类型是否必填描述
apikeystring您的 API 密钥
请求体 (multipart/form-data)
参数类型是否必填描述
fileFile图像的二进制数据(背面)
optionsString选择处理工具和设置的选项

可用选项

  • not_crop_card - 跳过卡片裁剪
  • not_rotate_card - 跳过自动旋转
  • get_bbox - 返回边界框坐标
  • get_image - 返回处理后的图像
  • get_original - 返回原始图像
可用选项的响应格式

使用可用选项时,响应 JSON 将根据所选选项包含额外的字段:

使用 get_bbox 选项的响应

[x1, y1, x2, y2] 格式返回每个检测到的字段的边界框坐标及置信度分数:

{
"bbox": {
"address": [
[[119, 292, 376, 334], 0.991],
[[75, 330, 255, 362], 0.999]
],
"card": [[[0, 0, 713, 462], 0.99]],
"en_dob": [[[370, 235, 526, 266], 0.999]],
"face": [[[544, 218, 708, 407], 0.999]]
// Other field coordinates...
}
}
使用 get_image 选项的响应

为每个检测到的字段返回 base64 编码的裁剪图像:

{
"image": {
"address": ["/9j/4AAQSk...", "/9j/4AAQSk..."],
"card": ["/9j/4AAQSk..."],
"face": ["/9j/4AAQSk..."],
"id_number": ["/9j/4AAQSk..."]
// Other field images...
}
}
使用 get_original 选项的响应

返回在后处理阶段进行自动更正之前从卡片检测到的原始值:

{
"original": {
"address": "XXXXX XXXXX X ต.หนองปรือ อ.บางละมุง จ.ชลบุรี",
"en_dob": "XX Mar. 1957",
"en_expire": "XX Mar. 2025",
"th_name": "นาง XXXXXX โลเปซ"
// Other original field values...
}
}

无论使用何种选项,响应始终包含 detection_score、error_message 和 process_time 等标准字段。

响应

正面

泰国国民身份证示例(正面)
请求:
curl -X POST https://api.iapp.co.th/v3/store/ekyc/thai-national-id-card/front
-H "apikey: YOUR_API_KEY"
-F "file=@/path/to/idcard.jpg"
响应:
{
"address": "XXXXXX XXXX X ต.หนองปรือ อ.บางละมุง จ.ชลบุรี",
"alley": "",
"detection_score": 0.981011797984441,
"district": "บางละมุง",
"en_dob": "XX Mar. 1957",
"en_expire": "XX Mar. 2025",
"en_fname": "XXXXXX",
"en_init": "Mrs.",
"en_issue": "26 Jul. 2016",
"en_lname": "Lopez",
"en_name": "Mrs. XXXXXX Lopez",
"error_message": "",
"face": "/9j/4AAQ...UAFFFFAH/9k=", # Base64 of photo's image
"gender": "Female",
"home_address": "XXXXX XXX",
"house_no": "XXXXXX",
"id_number": "34117XXXXXX334",
"id_number_status": 1,
"lane": "",
"postal_code": "20150", # Automatic Retrieve from Database
"process_time": 1.3018648624420166, # Seconds
"province": "ชลบุรี",
"religion": "",
"request_id": null,
"road": "",
"sub_district": "หนองปรือ",
"th_dob": "XX มี.ค. 2500",
"th_expire": "XX มี.ค. 2568",
"th_fname": "XXXXX",
"th_init": "นาง",
"th_issue": "XX ก.ค. 2559",
"th_lname": "โลเปซ",
"th_name": "นาง XXXXX โลเปซ",
"village": "",
"village_no": "7",
"confidence": {
"id_number": 0.95,
"th_name": 0.95,
"th_fname": 0.95,
"th_lname": 0.95,
"en_name": 0.95,
"en_fname": 0.95,
"en_lname": 0.95,
"th_dob": 0.9,
"en_dob": 0.9,
"th_issue": 0.9,
"en_issue": 0.9,
"th_expire": 0.9,
"en_expire": 0.9,
"address": 0.95,
"gender": 0.95,
"religion": 0.9
}
}

背面

泰国国民身份证示例(背面)
请求:
curl --location --request POST 'https://api.iapp.co.th/v3/store/ekyc/thai-national-id-card/back' \
--header 'apikey: {Your API Key}' \
--form 'file=@"path/to/id-card-back.jpg"'
响应:
{
"back_number": "JT0-XXXXXXX-05",
"detection_score": 0.99846746524175,
"process_time": 1.370201416015625
}

支持的字段

正面

字段类型描述
addressString身份证上的地址
detection_scorefloat相关字段的检测分数
districtString身份证上的区名
en_dobString出生日期,英文
en_expireString到期日期,英文
en_fnameString英文名
en_initString称谓,英文
en_issueString签发日期,泰文
en_lnameString英文姓
en_nameString英文名和姓
error_messageString错误消息
faceString从图像转换而来的 Base64 字符字符串
genderString性别
home_addressString身份证上的家庭住址
id_numberString国民身份证号码
postal_codeString邮政编码
process_timeString处理时间(秒)
provinceString身份证上的省名
religionString身份证上的宗教
sub_districtString身份证上的分区名
th_dobString出生日期,泰文
th_expireString到期日期,泰文
th_fnameString泰文名
th_initString称谓,英文
th_issueString签发日期
th_lnameString泰文姓
th_nameString泰文名和姓
confidenceObject每个提取字段的置信度分数 (0-1)

背面

字段类型描述
back_numberString身份证背面的激光号码

通用响应字段

字段类型描述
detection_scoreFloat置信度分数 (0-1)
error_messageString请求失败时的错误消息
process_timeFloat处理时间(秒)

错误代码

具体错误消息

泰国国民身份证正面
状态码状态消息描述
420NO_ID_CARD_FOUND图像文件不是身份证
421IMAGE_ERROR_UNSUPPORTED_FORMAT无法解析图像。文件格式可能不受支持或文件已损坏
422INVALID_IMAGE_SIZE上传图像的大小不符合要求
424PLEASE_VERIFY_ID_CARD_NUMBER国民身份证号码有 13 位但错误。当使用 id_check 选项时,响应代码 424 将显示
425CANNOT_READ_ID_CARD_NUMBER_CLEARLY国民身份证号码不足 13 位。当使用 id_check 选项时,响应代码 425 将显示
426IMAGE_ERROR_UNSUPPORTED_BLACK_WHITE_IMAGE使用 gray_check 选项检查黑白和灰度图像
泰国国民身份证背面
状态码状态消息描述
430NO_ID_CARD_FOUND图像文件不是身份证
431IMAGE_ERROR_UNSUPPORTED_FORMAT无法解析图像。文件格式可能不受支持或文件已损坏
432INVALID_IMAGE_SIZE上传图像的大小不符合要求
434LASER_NUMBER_NOT_FOUND无法在身份证背面检测到激光号码
435CANNOT_READ_LASER_NUMBER_CLEARLY激光号码不足 12 位。当使用 id_check 选项时,响应代码 435 将显示
436IMAGE_ERROR_UNSUPPORTED_BLACK_WHITE_IMAGE使用 gray_check 选项检查黑白和灰度图像

通用错误消息

状态码状态消息描述
404REQUESTED_URL_NOT_FOUND请求中找不到 API 路由
405METHOD_NOT_ALLOWEDURL 中的方法名称(GET、POST)不正确
413FILE_IS_TOO_LARGE: (more than 2 MB)文件大小过大
427LONG_TIME_TO_PROCESS服务器处理时间过长
428LONG_TIME_TO_REQUEST客户端在队列中等待时间过长
461NO_FILE_ATTACHED未附加文件
560SERVER_IS_BUSY: (Please try again in a few seconds.)服务器正在处理大量请求
563ID_CARD_API_NOT_SUPPORT_THIS_IMAGEAPI 在处理过程中出现错误

代码示例

curl -X POST https://api.iapp.co.th/v3/store/ekyc/thai-national-id-card/front \
-H "apikey: YOUR_API_KEY" \
-F "file=@idcard.jpg"

限制与最佳实践

限制

  • 最大文件大小:10MB
  • 支持的格式:JPEG、JPG、PNG、HEIC、HEIF、PDF

最佳实践

  1. 确保图像质量良好
  2. 检查响应中的 detection_score
  3. 妥善处理错误消息
  4. 验证身份证号码格式
  5. 根据具体需求考虑使用 options 参数

泰国国民身份证规格

了解泰国国民身份证的物理规格有助于确保最佳的图像捕获以进行 OCR 处理。

卡片尺寸 (ขนาดบัตรประชาชน)

规格公制英制(英寸)
宽度85.60 毫米3.370 英寸 (3⅜")
高度53.98 毫米2.125 英寸 (2⅛")
厚度0.76 毫米0.030 英寸
圆角半径3.18 毫米0.125 英寸
泰国身份证尺寸

泰国国民身份证尺寸为 3.370 × 2.125 英寸(85.60 × 53.98 毫米),符合 ISO/IEC 7810 ID-1 标准,与全球信用卡尺寸相同。

卡片格式标准

标准描述
格式ISO/IEC 7810 ID-1(信用卡尺寸)
材料聚碳酸酯(PC)塑料
芯片类型接触式智能卡芯片(2005 年起)
数据存储生物识别数据、数字证书、指纹模板

卡片特征

  • 正面: 照片、姓名(泰文/英文)、身份证号、出生日期、地址、签发/到期日期、条形码
  • 背面: 激光码(12 位字母数字)
  • 安全特征: 全息图、紫外线印刷、微缩文字、激光雕刻
  • 智能卡芯片: 包含加密的生物识别数据和数字签名

OCR 图像要求

为获得最佳 OCR 准确度,请确保捕获的图像满足以下要求:

要求推荐最低
分辨率600 DPI300 DPI
图像宽度1000+ 像素600 像素
图像高度630+ 像素400 像素
文件大小< 5 MB< 10 MB
格式JPEG, PNGJPEG, PNG, HEIC, PDF

更新日志

版本日期准确性变更内容
v3.6.0-202608242026 年 8 月 24 日字段级 98.0%英文格式日期(en_doben_issueen_expire)现与证件印刷格式一致:缩写月份名带句点(23 Apr. 1997);May 为全拼,不带句点。已在 60 张证件上核验——仅这三个字段发生变化,所有泰文字段完全一致。请调整客户端日期解析以接受带句点的格式。
v3.5.3-202608242026 年 8 月 24 日字段级 98.0%升级识别引擎:以人工核验的基准数据衡量,总体字段准确率由 97.8% 提升至 98.0%,身份证号码达到 100%;提升幅度最大的是地址、省份和到期日期。每张证件处理中位耗时 1.4 s。提供完全自包含的本地部署方案。
3.52022 年 11 月字符级 98.13%新的 OCR 引擎,更快的处理速度。
3.42022 年 7 月93.25%添加了泰国军衔。
3.02021 年 2 月91.75%主要准确性改进。
2.02020 年 2 月85%添加了卡片背面支持。
1.02019 年 11 月76%初始发布。