UNLOCK API
Gambar garis keliling

Gambar garis keliling

Cara mengirim tugas Gambar garis keliling 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 dilingkari
Yang Anda terima
Titik-titik garis luar yang digambar

Ringkasan dan harga

Nama tipe tugas

Tipe ini hanya punya satu nama.
DrawAroundTask

Objek task

type
StringWajib
Nama tipe tugas. Huruf besar atau kecil tidak berpengaruh. DrawAroundTask
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": "DrawAroundTask",
    "body": "/9j/4AAQSkZJRgABAQ...",
    "comment": "Draw around the dog"
  }
}

Objek solution

Dikembalikan di solution saat status ready.
canvas
Array
Garis yang digambar di sekeliling objek, sebagai daftar titik.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "canvas": [
      [
        {
          "x": 10,
          "y": 20
        },
        {
          "x": 60,
          "y": 22
        },
        {
          "x": 58,
          "y": 80
        }
      ]
    ]
  },
  "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": "DrawAroundTask",
      "body": "/9j/4AAQSkZJRgABAQ...",
      "comment": "Draw around the dog"
    }
}).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=base64&canvas=1&textinstructions=Draw+around+the+dog&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