UNLOCK API

API para resolver Grade de imagens

Envie uma tarefa de Grade de imagens para a API e receba a resposta que seu código envia para a página. A imagem da grade em base64 e a instrução, por exemplo o objeto a selecionar. Você recebe: Os números das células a clicar.

Resumo

Preço por 1.000
$0.36 ($0.00036 por tarefa)
Tipo no createTask
GridTask
Método no in.php
post, recaptcha=1
Você envia
A imagem da grade em base64 e a instrução, por exemplo o objeto a selecionar
Você recebe
Os números das células a clicar

Onde encontrar os valores

Envie a grade inteira como uma imagem e a instrução como comment. rows e columns são 3 por padrão.

createTask e getTaskResult

Crie a tarefa, aguarde cerca de 5 segundos e consulte o resultado a cada 5 segundos até o status ser ready. Se a tarefa falhar, a API retorna um erro e o valor volta para o seu saldo.

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

while True:
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(r["errorCode"])   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"])
        break

in.php e res.php

A mesma tarefa com a API clássica de formulário. Adicione json=1 para receber respostas em JSON; sem isso, as respostas vêm em texto simples, como OK|1001.

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