UNLOCK API
Ảnh sang chữ

Ảnh sang chữ

Cách gửi tác vụ Ảnh sang chữ tới UNLOCK API bằng createTask hoặc in.php: tên loại tác vụ, mọi tham số, object solution, trường proxy và code mẫu bằng 7 ngôn ngữ.
Giá
$0.25 $0.00025 mỗi tác vụ
Bạn gửi
Ảnh dạng base64, tối đa 100 KB
Bạn nhận
Chữ trong ảnh

Tổng quan và giá

Tên loại tác vụ

Loại này chỉ có một tên.
ImageToTextTask

Object task

type
StringBắt buộc
Tên loại tác vụ. Không phân biệt chữ hoa, chữ thường. ImageToTextTask
body
StringBắt buộc
Ảnh dạng base64 (JPG, PNG hoặc GIF), tối đa khoảng 100 KB. Được phép có tiền tố data:.
phrase
BooleanTùy chọn
true nếu kết quả có từ hai từ trở lên.
case
BooleanTùy chọn
true nếu phân biệt chữ hoa, chữ thường.
numeric
IntegerTùy chọn
0 ký tự bất kỳ, 1 chỉ chữ số, 2 chỉ chữ cái, 3 chữ số hoặc chữ cái, 4 cả chữ số và chữ cái.
math
BooleanTùy chọn
true nếu ảnh là phép tính cần tính ra kết quả.
minLength
IntegerTùy chọn
Độ dài ngắn nhất của kết quả. 0 là không giới hạn.
maxLength
IntegerTùy chọn
Độ dài dài nhất của kết quả. 0 là không giới hạn.
comment
StringTùy chọn
Hướng dẫn cho người giải, ví dụ câu hỏi hiện phía trên ảnh.
languagePool
StringTùy chọn
Ngôn ngữ của kết quả, ví dụ en hoặc ru.

Các trường không có trong danh sách này được chuyển nguyên cho người giải.

Request

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

Object solution

Trả về trong solution khi status là ready.
text
String
Kết quả dạng văn bản.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "text": "w93bx"
  },
  "cost": "0.00025",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Code mẫu

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

Phương thức form in.php

Cùng tác vụ đó với request form kiểu cũ. res.php trả kết quả dạng văn bản.
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 form: in.php và res.php