UNLOCK API
الرسم حول الشكل

الرسم حول الشكل

كيف ترسل مهمة الرسم حول الشكل إلى UNLOCK API عبر createTask أو in.php: أسماء نوع المهمة، وكل معامل، وكائن solution، وحقول البروكسي، وأمثلة كود بـ 7 لغات.
السعر
$0.60 $0.0006 لكل مهمة
ترسل
الصورة بصيغة base64 وما يجب الرسم حوله
تستلم
نقاط الخط المرسوم حول الشكل

نظرة عامة والسعر

أسماء نوع المهمة

لهذا النوع اسم واحد.
DrawAroundTask

كائن المهمة

type
Stringمطلوب
اسم نوع المهمة. يُطابق بأي حالة أحرف. DrawAroundTask
body
Stringمطلوب
الصورة بصيغة base64 (JPG أو PNG أو GIF)، حتى نحو 100 KB. يُسمح بالبادئة data:.
comment
Stringاختياري
تعليمات للحلّال، مثلًا السؤال الظاهر فوق الصورة.

الحقول غير المذكورة هنا تُمرر إلى الحلّال كما أُرسلت.

الطلب

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "DrawAroundTask",
    "body": "/9j/4AAQSkZJRgABAQ...",
    "comment": "Draw around the dog"
  }
}

كائن solution

يُرجع في solution عندما تكون status هي ready.
canvas
Array
حد مرسوم حول الجسم، كقائمة من النقاط.
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
}

أمثلة الكود

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

طريقة نموذج in.php

المهمة نفسها عبر طلب النموذج الكلاسيكي. يرجع res.php الإجابة كنص.
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"}

API النماذج: in.php وres.php