用户指南 API 参考

语音转文字 (STT) 转录

上传预先录制的音频文件,以异步方式获取带时间戳的精准文本转录。

由于处理大型音频文件可能需要数分钟,该 API 采用了稳健的“提交与轮询”(Submit & Poll)架构。您首先提交文件以获取 `job_id`,随后轮询状态接口,直至转写任务完成。

1. 提交音频任务

发布 /api/v1/stt/submit/
参数 必填 类型 描述
audio 必需的 文件 待转录的音频文件。支持 mp3、wav、m4a 等格式,最大 50MB。
language 可选的 字符串 默认值为 ar-JO。
output_format 可选的 字符串 接受 json 或 srt 格式。默认为 json。

2. 检查任务状态

获取 /api/v1/stt/status/{job_id}/

生产环境集成示例(Python)

import requests
import time

API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

# 1. 提交音频文件
submit_url = "https://moknah.io/api/v1/stt/submit/"
files = {"audio": ("audio.mp3", open("long_audio.mp3", "rb"), "audio/mpeg")}
data = {"language": "ar-JO", "output_format": "json"}

print("正在提交音频……")
response = requests.post(submit_url, headers=HEADERS, files=files, data=data)
job_id = response.json().get("job_id")
print(f"任务已加入队列!ID: {job_id}")

# 2. 轮询结果
status_url = f"https://moknah.io/api/v1/stt/status/{job_id}/"

while True:
    res = requests.get(status_url, headers=HEADERS)
    result = res.json()

    if result.get("status") in ["queued", "processing"]:
        print("正在处理……5秒后再次检查。")
        time.sleep(5)
    elif result.get("status") == "completed":
        print("转写已完成!")
        print(result["result"]["subtitles"])
        break
    else:
        print("\n任务失败:", result)
        break
API 支持

如有关于 API 的问题或疑问,请联系我们: api@moknah.io.