UNLOCK API
Tác vụ ảnh phức tạp

Tác vụ ảnh phức tạp

Cách gửi tác vụ Tác vụ ảnh phức tạp 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.60 $0.0006 mỗi tác vụ
Bạn gửi
class (recaptcha, hcaptcha, funcaptcha hoặc recognition), các ảnh và nội dung yêu cầu
Bạn nhận
Ảnh hoặc ô nào khớp

Tổng quan và giá

Tên loại tác vụ

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

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. ComplexImageTask
class
StringBắt buộc
Loại thử thách ảnh, ví dụ recaptcha hoặc hcaptcha.
imagesBase64
ArrayBắt buộc
Các ảnh, dạng danh sách chuỗi base64.
metadata
ObjectTùy chọn
Câu hỏi và bố cục, ví dụ Task và Grid.

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": "ComplexImageTask",
    "class": "recaptcha",
    "imagesBase64": [
      "/9j/4AAQSkZJRgABAQ..."
    ],
    "metadata": {
      "Task": "Select all images with a bus",
      "Grid": "3x3"
    }
  }
}

Object solution

Trả về trong solution khi status là ready.
answer
Array
Kết quả để gửi.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "answer": [
      false,
      true,
      false,
      false,
      true,
      false,
      false,
      false,
      true
    ]
  },
  "cost": "0.0006",
  "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": "ComplexImageTask",
      "class": "recaptcha",
      "imagesBase64": [
        "/9j/4AAQSkZJRgABAQ..."
      ],
      "metadata": {
        "Task": "Select all images with a bus",
        "Grid": "3x3"
      }
    }
}).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

Loại này chỉ dùng được với các phương thức JSON.