UNLOCK API

API de résolution Cadre de délimitation

Envoyez une tâche Cadre de délimitation à l'API et recevez la réponse que votre code soumet à la page. L'image en base64 et ce qu'il faut encadrer. Vous recevez : Rectangles autour des objets.

En bref

Prix pour 1,000
$0.60 ($0.0006 par tâche)
Type createTask
BoundingBoxTask
Méthode in.php
bounding_box
Vous envoyez
L'image en base64 et ce qu'il faut encadrer
Vous recevez
Rectangles autour des objets

Où trouver les valeurs

Envoyez l'image et la consigne comme comment.

createTask et getTaskResult

Créez la tâche, attendez environ 5 secondes, puis vérifiez le résultat toutes les 5 secondes jusqu'au statut ready. Si la tâche échoue, l'API renvoie une erreur et le montant revient sur votre solde.

import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "BoundingBoxTask",
      "body": "/9j/4AAQSkZJRgABAQ...",
      "comment": "Draw a box around each car"
    }
}).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 et res.php

La même tâche avec l'API classique par formulaire. Ajoutez json=1 pour obtenir des réponses JSON ; sinon les réponses sont en texte brut, par exemple OK|1001.

curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=bounding_box&textinstructions=Draw+a+box+around+each+car&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"}

Référence complète de l'API : tous les paramètres et l'objet solution