UNLOCK API
Bildraster

Bildraster

So senden Sie eine Bildraster-Aufgabe mit createTask oder in.php an UNLOCK API: Namen der Aufgabentypen, alle Parameter, das solution-Objekt, Proxy-Felder und Codebeispiele in 7 Sprachen.
Preis
$0.36 $0.00036 pro Aufgabe
Sie senden
Das Rasterbild als base64 und die Anweisung, zum Beispiel das auszuwählende Objekt
Sie erhalten
Die Nummern der anzuklickenden Felder

Überblick und Preis

Namen der Aufgabentypen

Dieser Typ hat nur einen Namen.
GridTask

Ebenfalls akzeptiert: GridTaskProxyless

Aufgabenobjekt

type
StringPflicht
Name des Aufgabentyps. Groß- und Kleinschreibung spielt keine Rolle. GridTask
body
StringPflicht
Das Bild als base64 (JPG, PNG oder GIF), bis etwa 100 KB. Ein Präfix data: ist erlaubt.
comment
StringOptional
Anweisung für den Solver, zum Beispiel die Frage über dem Bild.
rows
IntegerOptional
Anzahl der Zeilen im Raster.
columns
IntegerOptional
Anzahl der Spalten im Raster.
imgType
StringOptional
Art des Bildes, falls bekannt.
previousId
StringOptional
ID der vorherigen Aufgabe, wenn sich das Raster nach der ersten Antwort ändert.
canSkip
BooleanOptional
true, wenn die Antwort lauten darf, dass kein Feld passt.

Hier nicht aufgeführte Felder werden unverändert an den Solver weitergegeben.

Anfrage

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

solution-Objekt

Wird in solution zurückgegeben, wenn status ready ist.
click
Array
Nummern der anzuklickenden Felder, ab 1 gezählt, von links nach rechts und von oben nach unten.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "click": [
      1,
      4,
      9
    ]
  },
  "cost": "0.00036",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Codebeispiele

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

in.php-Formularmethode

Dieselbe Aufgabe mit der klassischen Formularanfrage. res.php gibt die Antwort als Text zurück.
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"}

Formular-API: in.php und res.php