UNLOCK API
Tâche d'image complexe

Tâche d'image complexe

Comment envoyer une tâche Tâche d'image complexe à UNLOCK API avec createTask ou in.php : noms du type de tâche, tous les paramètres, l'objet solution, les champs proxy et des exemples de code dans 7 langages.
Prix
$0.60 $0.0006 par tâche
Vous envoyez
class (recaptcha, hcaptcha, funcaptcha ou recognition), les images et le texte de la tâche
Vous recevez
Les images ou cases qui correspondent

Présentation et prix

Noms du type de tâche

Ce type n'a qu'un seul nom.
ComplexImageTask

Objet tâche

type
StringObligatoire
Nom du type de tâche. Reconnu quelle que soit la casse. ComplexImageTask
class
StringObligatoire
Le type de défi image, par exemple recaptcha ou hcaptcha.
imagesBase64
ArrayObligatoire
Les images sous forme de liste de chaînes base64.
metadata
ObjectFacultatif
La question et la disposition, par exemple Task et Grid.

Les champs qui ne figurent pas ici sont transmis au résolveur tels qu'envoyés.

Requête

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ComplexImageTask",
    "class": "recaptcha",
    "imagesBase64": [
      "/9j/4AAQSkZJRgABAQ..."
    ],
    "metadata": {
      "Task": "Select all images with a bus",
      "Grid": "3x3"
    }
  }
}

Objet solution

Renvoyé dans solution quand status vaut ready.
answer
Array
La réponse à soumettre.
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
}

Exemples de code

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

Méthode formulaire in.php

Ce type n'est disponible qu'avec les méthodes JSON.