UNLOCK API
Kotak pembatas

Kotak pembatas

Cara mengirim tugas Kotak pembatas 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
Gambar dalam base64 dan apa yang harus ditandai
Yang Anda terima
Kotak di sekitar objek

Ringkasan dan harga

Nama tipe tugas

Tipe ini hanya punya satu nama.
BoundingBoxTask

Objek task

type
StringWajib
Nama tipe tugas. Huruf besar atau kecil tidak berpengaruh. BoundingBoxTask
body
StringWajib
Gambar sebagai base64 (JPG, PNG, atau GIF), hingga sekitar 100 KB. Awalan data: diperbolehkan.
comment
StringOpsional
Instruksi untuk pemecah, misalnya pertanyaan yang tampil di atas gambar.

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

Request

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "BoundingBoxTask",
    "body": "/9j/4AAQSkZJRgABAQ...",
    "comment": "Draw a box around each car"
  }
}

Objek solution

Dikembalikan di solution saat status ready.
bounding_boxes
Array
Kotak di sekitar objek yang diminta, dalam piksel.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "bounding_boxes": [
      {
        "xMin": 12,
        "yMin": 30,
        "xMax": 140,
        "yMax": 96
      }
    ]
  },
  "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": "BoundingBoxTask",
      "body": "/9j/4AAQSkZJRgABAQ...",
      "comment": "Draw a box around each car"
    }
}).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

Tugas yang sama dengan request form klasik. res.php mengembalikan jawaban sebagai teks.
in.php, res.php
curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=bounding_box&textinstructions=Draw+a+box+around+each+car&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"}

Form API: in.php dan res.php