Bỏ qua để đến nội dung
Trạng tháiBảng điều khiển

Loại tác vụ

Nhận dạng hình ảnh hCaptcha

Trang này được dịch máy từ bản tiếng Trung và có thể có sai sót. Nội dung theo bản tiếng Trung.

Hình minh họaLưới ảnh: 9 ảnh dưới câu hỏi, đôi khi có ảnh mẫu (anchors) ở góc trên bên phải; API trả về số thứ tự của các ảnh cần nhấp.

HCaptchaClassification nhận dạng các câu hỏi hình ảnh mà hCaptcha hiển thị: bạn gửi câu hỏi và hình ảnh, kết quả trả về cho biết nên chọn những ảnh nào, nhấp vào vị trí nào hoặc kéo từ đâu đến đâu, chương trình của bạn sẽ thao tác trong trình duyệt. Loại này không trả về token. Kết quả trả về đồng bộ, mỗi lần 8 điểm (≈ $1.20 / 1k), không trừ điểm khi không nhận ra mục tiêu (kết quả rỗng).

POSThttps://api.yescaptcha.com/createTaskEndpoint quốc tế
POSThttps://cn.yescaptcha.com/createTaskEndpoint Trung Quốc
Loại tác vụGiáCách trả kết quảGhi chú
HCaptchaClassification$1.20 / 1k; 8 điểm/tác vụ · ¥8 / 1kĐồng bộKhông trừ điểm khi không tìm thấy mục tiêu

Giá bằng đô la Mỹ chỉ là ước tính theo US$1 ≈ ¥6.67; tác vụ được trừ điểm.

TrườngKiểuBắt buộcMô tả
typestringCóLoại tác vụ; xem "Loại tác vụ và giá" trên trang này
queriesarrayCóDanh sách ảnh câu hỏi được mã hóa Base64, theo thứ tự trên trang (lưới 3×3 có 9 ảnh nhỏ)
questionstringKhôngToàn bộ câu hỏi như hiển thị trên trang (khuyến nghị tiếng Trung giản thể hoặc tiếng Anh), ví dụ Please click each image containing a bicycle. Gửi ít nhất một trong question và anchors; khuyến nghị gửi cả hai
anchorsarrayKhôngDanh sách ảnh mẫu (ảnh nhỏ hiển thị cạnh câu hỏi) được mã hóa Base64; bắt buộc với các câu hỏi có ảnh mẫu
  • question lấy nguyên câu hỏi hiển thị trên trang, không cần dịch; nên chuyển hCaptcha sang tiếng Trung giản thể hoặc tiếng Anh. Các câu hỏi mới thường được hỗ trợ rất nhanh, các loại hoàn toàn mới được hỗ trợ trong vòng 3 ngày làm việc.

Câu hỏi có dạng “Hãy nhấp vào mọi hình ảnh chứa …”, bên dưới có 9 ảnh nhỏ. queries chứa Base64 của 9 ảnh nhỏ theo thứ tự:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "HCaptchaClassification",
"question": "Please click each image containing a bicycle",
"queries": ["BASE64_IMAGE_1", "BASE64_IMAGE_2"]
}
}

Kết quả trả về:

{
"errorId": 0,
"status": "ready",
"solution": {
"objects": [true, false, false, true, true, false, true, true, false],
"top_k": [0, 3, 4, 6, 7],
"confidences": [1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0]
}
}

objects và top_k mang cùng ý nghĩa: objects cho biết từng ảnh có phải mục tiêu hay không, top_k là thứ tự của các ảnh mục tiêu (bắt đầu từ 0). Chỉ cần nhấp vào các ảnh đó.

Câu hỏi có dạng “Hãy nhấp vào …”, bên dưới là một ảnh lớn, bạn cần nhấp vào một (hoặc vài) vị trí trên ảnh.

  1. question lấy từ câu hỏi trên trang; nếu có ảnh mẫu nhỏ thì đưa vào anchors.
  2. queries chứa một ảnh: tốt nhất dùng ảnh gốc xuất trực tiếp từ canvas (nên chuyển sang JPG); nếu chỉ chụp màn hình được thì chụp vùng ảnh lớn trong khung đỏ bên dưới, không thừa không thiếu.
  3. box trả về là các tọa độ cần nhấp, lần lượt là x1, y1, x2, y2…, lấy góc trên bên trái của ảnh đã tải lên làm gốc.
  4. Khi kích thước ảnh tải lên khác với kích thước hiển thị trên trang thì phải quy đổi: x trên trang = x trả về × chiều rộng hiển thị ÷ chiều rộng ảnh tải lên (y tương tự). Ví dụ trả về x = 769, canvas hiển thị rộng 350, ảnh tải lên rộng 1000, thì trên trang cần nhấp 769 × 350 ÷ 1000 ≈ 269.

Phạm vi chụp cho câu hỏi dạng nhấp: chữ của câu hỏi là question, ba ảnh mẫu nhỏ là anchors, ảnh lớn bên dưới là queries

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "HCaptchaClassification",
"question": "Please click on the entity present in the sample image.",
"anchors": ["BASE64_ANCHOR_1", "BASE64_ANCHOR_2", "BASE64_ANCHOR_3"],
"queries": ["BASE64_OF_THE_BIG_IMAGE"]
}
}

Kết quả trả về:

{
"errorId": 0,
"status": "ready",
"solution": {
"box": ["221", "213"]
}
}

Khi cần nhấp nhiều mục tiêu, box chứa lần lượt nhiều cặp tọa độ: ["221", "213", "340", "118", ...].

Câu hỏi có dạng “Kéo … đến …”, bạn cần kéo mảnh nhỏ bên phải đến vị trí tương ứng trong ảnh.

  1. question lấy từ câu hỏi trên trang.
  2. Chụp một ảnh đưa vào queries, trong ảnh phải có đồng thời mảnh cần kéo và vị trí đích, mỗi cạnh của ảnh không nhỏ hơn 260 pixel.
  3. Mỗi phần tử trong box trả về là một lần kéo: start là vị trí của mảnh, end là vị trí cần kéo đến. Nếu có nhiều mảnh thì kéo lần lượt từng mảnh.
{
"errorId": 0,
"status": "ready",
"solution": {
"type": "drag",
"box": [
{
"start": [644, 218],
"end": [239, 315]
}
]
}
}

Minh họa kết quả nhận dạng câu hỏi kéo: Start là mảnh cần kéo, End là vị trí đích

Nếu bạn lấy được dữ liệu giao thức (ảnh của mảnh, tọa độ của mảnh và ảnh nền lớn) thay vì ảnh chụp màn hình, trước hết hãy ghép các mảnh vào ảnh lớn theo tọa độ, tạo ra ảnh giống với ảnh chụp màn hình của trang rồi mới gửi.

Khi ảnh của câu hỏi là ảnh động, hãy đưa Base64 của ảnh động (GIF hoặc định dạng tương tự) vào queries. Nên dùng ảnh động dài ít nhất 3 giây, tốt nhất 5 đến 6 giây, tốc độ khung hình khoảng 12 FPS.

Nếu sau khi nhấp mà xác minh thất bại, bạn có thể báo cáo bằng report trong vòng 1 giờ, khoảng 24 giờ sau sẽ quyết toán hoàn điểm, quy tắc xem tại Tính phí và hoàn điểm.