UNLOCK API
Lưới ảnh

Lưới ảnh

Cách gửi tác vụ Lưới ảnh tới UNLOCK API bằng createTask hoặc in.php: tên loại tác vụ, mọi tham số, object solution, trường proxy và code mẫu bằng 7 ngôn ngữ.
Giá
$0.36 $0.00036 mỗi tác vụ
Bạn gửi
Ảnh lưới dạng base64 và hướng dẫn, ví dụ vật cần chọn
Bạn nhận
Số thứ tự các ô cần bấm

Tổng quan và giá

Tên loại tác vụ

Loại này chỉ có một tên.
GridTask

Cũng được nhận: GridTaskProxyless

Object task

type
StringBắt buộc
Tên loại tác vụ. Không phân biệt chữ hoa, chữ thường. GridTask
body
StringBắt buộc
Ảnh dạng base64 (JPG, PNG hoặc GIF), tối đa khoảng 100 KB. Được phép có tiền tố data:.
comment
StringTùy chọn
Hướng dẫn cho người giải, ví dụ câu hỏi hiện phía trên ảnh.
rows
IntegerTùy chọn
Số hàng của lưới.
columns
IntegerTùy chọn
Số cột của lưới.
imgType
StringTùy chọn
Loại ảnh, nếu bạn biết.
previousId
StringTùy chọn
id của tác vụ trước khi lưới thay đổi sau lần trả lời đầu tiên.
canSkip
BooleanTùy chọn
true nếu kết quả có thể là không ô nào khớp.

Các trường không có trong danh sách này được chuyển nguyên cho người giải.

Request

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "GridTask",
    "body": "/9j/4AAQSkZJRgABAQ...",
    "comment": "Select all squares with traffic lights",
    "rows": 3,
    "columns": 3
  }
}

Object solution

Trả về trong solution khi status là ready.
click
Array
Số thứ tự các ô cần bấm, đếm từ 1, từ trái sang phải và từ trên xuống dưới.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "click": [
      1,
      4,
      9
    ]
  },
  "cost": "0.00036",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Code mẫu

import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "GridTask",
      "body": "/9j/4AAQSkZJRgABAQ...",
      "comment": "Select all squares with traffic lights",
      "rows": 3,
      "columns": 3
    }
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

for _ in range(60):   # 60 x 5 s = the 5 minute task limit
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(f"{r['errorCode']}: {r.get('errorDescription', '')}")   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"])
        break
else:
    raise SystemExit("timed out")

Phương thức form in.php

Cùng tác vụ đó với request form kiểu cũ. res.php trả kết quả dạng văn bản.
in.php, res.php
curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=base64&recaptcha=1&textinstructions=Select+all+traffic+lights&body=BASE64_IMAGE&json=1"
# {"status":1,"request":"1001"}

curl -s "https://unlock-api.com/res.php?key=YOUR_API_KEY&action=get&id=1001&json=1"
# {"status":0,"request":"CAPCHA_NOT_READY"}  then  {"status":1,"request":"ANSWER"}

API form: in.php và res.php