UNLOCK API
Gambar ke teks

Gambar ke teks

Cara mengirim tugas Gambar ke teks 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.25 $0.00025 per tugas
Yang Anda kirim
Gambar dalam base64, maksimal 100 KB
Yang Anda terima
Teks pada gambar

Ringkasan dan harga

Nama tipe tugas

Tipe ini hanya punya satu nama.
ImageToTextTask

Objek task

type
StringWajib
Nama tipe tugas. Huruf besar atau kecil tidak berpengaruh. ImageToTextTask
body
StringWajib
Gambar sebagai base64 (JPG, PNG, atau GIF), hingga sekitar 100 KB. Awalan data: diperbolehkan.
phrase
BooleanOpsional
true jika jawabannya terdiri dari dua kata atau lebih.
case
BooleanOpsional
true jika huruf besar dan kecil dibedakan.
numeric
IntegerOpsional
0 karakter apa saja, 1 hanya angka, 2 hanya huruf, 3 angka atau huruf, 4 angka dan huruf.
math
BooleanOpsional
true jika gambar menampilkan soal hitungan.
minLength
IntegerOpsional
Panjang jawaban paling pendek. 0 berarti tanpa batas.
maxLength
IntegerOpsional
Panjang jawaban paling panjang. 0 berarti tanpa batas.
comment
StringOpsional
Instruksi untuk pemecah, misalnya pertanyaan yang tampil di atas gambar.
languagePool
StringOpsional
Bahasa jawaban, misalnya en atau ru.

Field yang tidak tercantum di sini diteruskan ke pemecah apa adanya.

Request

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

Objek solution

Dikembalikan di solution saat status ready.
text
String
Jawaban sebagai teks.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "text": "w93bx"
  },
  "cost": "0.00025",
  "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": "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")

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&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