UNLOCK API
تحويل الصورة إلى نص

تحويل الصورة إلى نص

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

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

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

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

كائن المهمة

type
Stringمطلوب
اسم نوع المهمة. يُطابق بأي حالة أحرف. ImageToTextTask
body
Stringمطلوب
الصورة بصيغة base64 (JPG أو PNG أو GIF)، حتى نحو 100 KB. يُسمح بالبادئة data:.
phrase
Booleanاختياري
true إذا كانت الإجابة من كلمتين أو أكثر.
case
Booleanاختياري
true إذا كانت حالة الأحرف مهمة.
numeric
Integerاختياري
0 أي أحرف، 1 أرقام فقط، 2 حروف فقط، 3 أرقام أو حروف، 4 أرقام وحروف معًا.
math
Booleanاختياري
true إذا كانت الصورة تعرض عملية حسابية.
minLength
Integerاختياري
أقصر طول ممكن للإجابة. 0 يعني بلا حد.
maxLength
Integerاختياري
أطول طول ممكن للإجابة. 0 يعني بلا حد.
comment
Stringاختياري
تعليمات للحلّال، مثلًا السؤال الظاهر فوق الصورة.
languagePool
Stringاختياري
لغة الإجابة، مثلًا en أو ru.

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

الطلب

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ImageToTextTask",
    "body": "/9j/4AAQSkZJRgABAQ...",
    "case": true
  }
}

كائن solution

يُرجع في solution عندما تكون status هي ready.
text
String
الإجابة كنص.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "text": "w93bx"
  },
  "cost": "0.00025",
  "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": "ImageToTextTask",
      "body": "/9j/4AAQSkZJRgABAQ...",
      "case": true
    }
}).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"]["text"])
        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&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