Hướng dẫn lấy thông tin từ CCCD
21/3/2024
Bước 1. Tạo schema JSON cho CCCD
Để tạo schema JSON cho CCCD, thực hiện các bước sau:
- Truy cập playground của img2.info
- Chọn tab "Tùy chỉnh"
- Dán link ảnh CCCD:
https://iili.io/F5OyXAN.png
vào ô input "nhập URL của tệp". Lưu ý: Ảnh CCCD đã được che các thông tin nhạy cảm để bảo mật.
- Click vào "Xem hướng dẫn" để biết cách tạo schema
- Đây là schema tôi tạo trước, các bạn có thể sử dụng lại:
{
"hoVaTen": {
"type": "string",
"description": "họ và tên"
},
"so": {
"type": "string",
"description": "số CCCD"
},
"gioiTinh": {
"type": "string",
"description": "Giới tính"
},
"quocTich": {
"type": "string",
"description": "Quốc tịch"
},
"queQuan": {
"type": "string",
"description": "Quê quán"
},
"noiThuongTru": {
"type": "string",
"description": "Nơi thường trú"
},
"giaTriDen": {
"type": "string",
"description": "Giá trị đến ngày"
}
}
- Click button "Trích xuất thông tin". Đây là kết quả đầu tiên:
{
"giaTriDen": "02/11/2025",
"gioiTinh": "Nam",
"hoVaTen": "NGUYỄN THÀNH",
"noiThuongTru": "Tổ Chi Đông\nMê Linh, Hà Nội",
"queQuan": "Chi Đông, Mê Linh, Hà Nội",
"quocTich": "Việt Nam",
"so": "00120022"
}
- Tinh chỉnh schema:
Kết quả bạn có thể thấy trường "noiThuongTru" tồn tại dấu xuống dòng
\n
, do hình ảnh có xuống dòng ở đó. Để loại bỏ dấu xuống dòng này thêm hướng dẫn để AI biết loại bỏ nó.
{
//không thay đổi
"noiThuongTru": {
"type": "string",
"description": "Nơi thường trú, thay dấu xuống hàng bằng dấu ','"
}
//không thay đổi
}
- Kết quả sau tinh chỉnh:
{
"giaTriDen": "02/11/2025",
"gioiTinh": "Nam",
"hoVaTen": "NGUYỄN THÀNH",
"noiThuongTru": "Tổ, Chi Đông, Mê Linh, Hà Nội",
"queQuan": "Chi Đông, Mê Linh, Hà Nội",
"quocTich": "Việt Nam",
"so": "00120022"
}
Bước 2. Gửi yêu cầu API
Endpoint
POST /api/v1/extract-data
Headers
X-API-Key: <your_api_key>
Content-Type: application/json
Key có thể lấy tại đường dẫn API key
Body
{
"imageUrl": "https://iili.io/F5OyXAN.png",
"schema": {
"hoVaTen": {
"type": "string",
"description": "họ và tên"
},
"so": {
"type": "string",
"description": "số CCCD"
},
"gioiTinh": {
"type": "string",
"description": "Giới tính"
},
"quocTich": {
"type": "string",
"description": "Quốc tịch"
},
"queQuan": {
"type": "string",
"description": "Quê quán"
},
"noiThuongTru": {
"type": "string",
"description": "Nơi thường trú, thay dấu xuống hàng bằng dấu ','"
},
"giaTriDen": {
"type": "string",
"description": "Giá trị đến ngày"
}
}
}
Thử bằng curl:
curl -X 'POST' \
'https://img2.info/api/v1/extract-data' \
-H 'accept: application/json' \
-H 'x-api-key: 2300a6dcf22de89722c6cdbe283c2c3c399af335' \
-H 'Content-Type: application/json' \
-d '{
"imageUrl": "https://iili.io/F5OyXAN.png",
"schema": {
"hoVaTen": {
"type": "string",
"description": "họ và tên"
},
"so": {
"type": "string",
"description": "số CCCD"
},
"gioiTinh": {
"type": "string",
"description": "Giới tính"
},
"quocTich": {
"type": "string",
"description": "Quốc tịch"
},
"queQuan": {
"type": "string",
"description": "Quê quán"
},
"noiThuongTru": {
"type": "string",
"description": "Nơi thường trú, thay dấu xuống hàng bằng dấu '\'','\''"
},
"giaTriDen": {
"type": "string",
"description": "Giá trị đến ngày"
}
}
}'
Sử dụng nodejs:
const axios = require('axios');
async function extractCCCD(apiKey, imageUrl) {
try {
const schema = {
hoVaTen: {
type: "string",
description: "họ và tên"
},
so: {
type: "string",
description: "số CCCD"
},
gioiTinh: {
type: "string",
description: "Giới tính"
},
quocTich: {
type: "string",
description: "Quốc tịch"
},
queQuan: {
type: "string",
description: "Quê quán"
},
noiThuongTru: {
type: "string",
description: "Nơi thường trú, thay dấu xuống hàng bằng dấu ','"
},
giaTriDen: {
type: "string",
description: "Giá trị đến ngày"
}
};
const response = await axios.post('https://img2.info/api/v1/extract-data',
{ imageUrl, schema },
{
headers: {
'accept': 'application/json',
'x-api-key': apiKey,
'Content-Type': 'application/json'
}
}
);
return response.data;
} catch (error) {
console.error('Error:', error.response?.data || error.message);
throw error;
}
}
// Sử dụng
const apiKey = '416cbdb077491af801b244e3a81d2e5242c9dc62';
const imageUrl = 'https://iili.io/F5OyXAN.png';
extractCCCD(apiKey, imageUrl)
.then(result => console.log('Kết quả:', result))
.catch(error => console.error('Lỗi:', error));
Phản hồi
Khi thành công, response status 200 và body:
{
"data": {
"giaTriDen": "02/11/2025",
"gioiTinh": "Nam",
"hoVaTen": "NGUYỄN THÀNH",
"noiThuongTru": "Tổ , Chi Đông, Mê Linh, Hà Nội",
"queQuan": "Chi Đông, Mê Linh, Hà Nội",
"quocTich": "Việt Nam",
"so": "00120022"
}
}
Bước 3. Nếu thiếu credits hãy tự tạo tài khoản và lấy API key
- Truy cập vào trang web img2.info
- Đăng nhập bằng tài khoản Google của bạn
- Sau khi đăng nhập, bạn sẽ được cấp 1000 credits miễn phí để bắt đầu sử dụng
- Truy cập trang API keys và bấm "Tạo API key" nếu bạn chưa có
- Mỗi lần gọi API sẽ tiêu tốn 1 credit
Lưu ý: API key cần được bảo mật và không chia sẻ cho người khác.
4. Lưu ý
- Đảm bảo ảnh CCCD rõ nét, không bị chói sáng
- Hỗ trợ các định dạng ảnh phổ biến (JPG, PNG)
- Credits sẽ được hoàn lại nếu quá trình xử lý thất bại