UNLOCK API
ছবির গ্রিড

ছবির গ্রিড

createTask বা in.php দিয়ে UNLOCK API-তে ছবির গ্রিড টাস্ক কীভাবে পাঠাবেন: টাস্ক টাইপের নাম, প্রতিটি প্যারামিটার, solution অবজেক্ট, proxy ফিল্ড এবং 7টি ভাষায় কোড উদাহরণ।
মূল্য
$0.36 প্রতি টাস্ক $0.00036
আপনি পাঠান
base64 আকারে গ্রিড ছবি ও নির্দেশনা, যেমন কোন বস্তু বেছে নিতে হবে
আপনি পাবেন
যে ঘরগুলোতে ক্লিক করতে হবে তাদের নম্বর

সংক্ষিপ্ত বিবরণ ও মূল্য

টাস্ক টাইপের নাম

এই টাইপের একটিই নাম।
GridTask

এগুলোও গ্রহণযোগ্য: GridTaskProxyless

টাস্ক অবজেক্ট

type
Stringআবশ্যিক
টাস্ক টাইপের নাম। ছোট-বড় যেকোনো হাতের অক্ষরে মেলানো হয়। GridTask
body
Stringআবশ্যিক
ছবি base64 হিসেবে (JPG, PNG বা GIF), প্রায় 100 KB পর্যন্ত। data: prefix দেওয়া যায়।
comment
Stringঐচ্ছিক
সলভারের জন্য নির্দেশনা, যেমন ছবির ওপরে দেখানো প্রশ্ন।
rows
Integerঐচ্ছিক
গ্রিডে সারির সংখ্যা।
columns
Integerঐচ্ছিক
গ্রিডে কলামের সংখ্যা।
imgType
Stringঐচ্ছিক
ছবির ধরন, যদি আপনি জানেন।
previousId
Stringঐচ্ছিক
প্রথম উত্তরের পর গ্রিড বদলালে আগের টাস্কের id।
canSkip
Booleanঐচ্ছিক
উত্তর যদি এমন হতে পারে যে কোনো টাইল মেলে না, তাহলে true।

এখানে তালিকায় না থাকা ফিল্ড যেমন পাঠানো হয় তেমনই সলভারে দেওয়া হয়।

রিকোয়েস্ট

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

Solution অবজেক্ট

status ready হলে solution-এ ফেরত দেওয়া হয়।
click
Array
ক্লিক করার টাইলের নম্বর, 1 থেকে গোনা, বাম থেকে ডানে ও ওপর থেকে নিচে।
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "click": [
      1,
      4,
      9
    ]
  },
  "cost": "0.00036",
  "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": "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 ফর্ম মেথড

ক্লাসিক ফর্ম রিকোয়েস্টে একই টাস্ক। res.php উত্তর টেক্সট হিসেবে ফেরত দেয়।
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"}

ফর্ম API: in.php ও res.php