UNLOCK API
Audio

Audio

Cómo enviar una tarea de Audio a UNLOCK API con createTask o in.php: nombres del tipo de tarea, todos los parámetros, el objeto solution, los campos de proxy y ejemplos de código en 7 lenguajes.
Precio
$0.25 $0.00025 por tarea
Envías
El audio en base64 (MP3), hasta 500 KB, y su idioma
Recibes
Las palabras de la grabación

Resumen y precio

Nombres del tipo de tarea

Este tipo tiene un solo nombre.
AudioTask

Objeto de tarea

type
StringObligatorio
Nombre del tipo de tarea. Se reconoce sin importar mayúsculas o minúsculas. AudioTask
body
StringObligatorio
El archivo de audio en base64 (MP3), de hasta unos 500 KB.
lang
StringOpcional
Idioma que se habla en el audio, por ejemplo en.

Los campos que no aparecen aquí se pasan al resolvedor tal como se envían.

Solicitud

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AudioTask",
    "body": "SUQzBAAAAAAAI1RTU0U...",
    "lang": "en"
  }
}

Objeto solution

Se devuelve en solution cuando status es ready.
text
String
La respuesta como texto.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "text": "five three nine two"
  },
  "cost": "0.00025",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Ejemplos de código

import time, requests

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

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "AudioTask",
      "body": "SUQzBAAAAAAAI1RTU0U...",
      "lang": "en"
    }
}).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")

Método de formulario in.php

La misma tarea con la solicitud de formulario clásica. res.php devuelve la respuesta como texto.
in.php, res.php
curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=audio&lang=en&body=BASE64_AUDIO&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 de formulario: in.php y res.php