UNLOCK API
音频

音频

如何通过 createTask 或 in.php 向 UNLOCK API 发送 音频 任务:任务类型名称、全部参数、solution 对象、代理字段,以及 7 种语言的代码示例。
价格
$0.25 每个任务 $0.00025
你发送
base64 格式的音频(MP3),最大 500 KB,以及其语言
你得到
录音中的文字

简介和价格

任务类型名称

此类型只有一个名称。
AudioTask

task 对象

type
String必填
任务类型名称。不区分大小写。 AudioTask
body
String必填
base64 格式的音频文件(MP3),最大约 500 KB。
lang
String可选
音频中所说的语言,例如 en。

此处未列出的字段会原样传给识别方。

请求

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

solution 对象

status 为 ready 时在 solution 中返回。
text
String
文本形式的答案。
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "text": "five three nine two"
  },
  "cost": "0.00025",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

代码示例

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

in.php 表单方法

用传统表单请求发送同一任务。res.php 以文本形式返回答案。
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:in.php 和 res.php