UNLOCK API
Tugas gambar kompleks

Tugas gambar kompleks

Cara mengirim tugas Tugas gambar kompleks ke UNLOCK API dengan createTask atau in.php: nama tipe tugas, semua parameter, objek solution, field proxy, dan contoh kode dalam 7 bahasa.
Harga
$0.60 $0.0006 per tugas
Yang Anda kirim
class (recaptcha, hcaptcha, funcaptcha, atau recognition), gambar, dan teks tugas
Yang Anda terima
Gambar atau sel mana yang cocok

Ringkasan dan harga

Nama tipe tugas

Tipe ini hanya punya satu nama.
ComplexImageTask

Objek task

type
StringWajib
Nama tipe tugas. Huruf besar atau kecil tidak berpengaruh. ComplexImageTask
class
StringWajib
Jenis tantangan gambar ini, misalnya recaptcha atau hcaptcha.
imagesBase64
ArrayWajib
Gambar-gambar sebagai daftar string base64.
metadata
ObjectOpsional
Pertanyaan dan tata letaknya, misalnya Task dan Grid.

Field yang tidak tercantum di sini diteruskan ke pemecah apa adanya.

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"
    }
  }
}

Objek solution

Dikembalikan di solution saat status ready.
answer
Array
Jawaban yang dikirim.
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
}

Contoh kode

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")

Metode form in.php

Tipe ini hanya tersedia lewat metode JSON.