UNLOCK API
Sınırlayıcı kutu

Sınırlayıcı kutu

createTask veya in.php ile UNLOCK API'ye Sınırlayıcı kutu görevi gönderme: görev türü adları, tüm parametreler, solution nesnesi, proxy alanları ve 7 dilde kod örnekleri.
Fiyat
$0.60 Görev başına $0.0006
Gönderdiğiniz
Base64 olarak görsel ve neyin çerçeveleneceği
Aldığınız
Nesnelerin etrafındaki dikdörtgenler

Genel bakış ve fiyat

Görev türü adları

Bu türün tek bir adı vardır.
BoundingBoxTask

Görev nesnesi

type
StringZorunlu
Görev türü adı. Büyük/küçük harf fark etmez. BoundingBoxTask
body
StringZorunlu
Görsel base64 olarak (JPG, PNG veya GIF), en fazla yaklaşık 100 KB. data: öneki kullanılabilir.
comment
Stringİsteğe bağlı
Çözücü için talimat, örneğin görselin üstünde gösterilen soru.

Burada listelenmeyen alanlar, gönderildiği gibi çözücüye iletilir.

İstek

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

solution nesnesi

status ready olduğunda solution içinde döndürülür.
bounding_boxes
Array
İstenen nesnelerin etrafındaki kutular, piksel cinsinden.
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
}

Kod örnekleri

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

in.php form yöntemi

Aynı görev, klasik form isteğiyle. res.php yanıtı metin olarak döndürür.
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 ve res.php