语音转写(异步)

平台提供异步语音转写 API,适用于长音频的语音转写,单个音频文件长度小于 5 小时。

  1. 支持说话人分离,可区分不同说话人段落。
  2. 支持智能断句与标点预测,提升文本可读性。
  3. 支持时间戳信息返回,可直接用于字幕、检索、音视频对齐。
  4. 支持上下文与热词增强,提升专有名词、行业术语识别率。

支持语言

1 中文(Chinese)2 英语(English)3 粤语(Cantonese)
4 长沙话(Changsha dialect)5 客家话(Hakka dialect)6 闽南话(Hokkien)
7 南昌话(Nanchang dialect)8 山西话(Shanxi dialect)9 苏州话(Suzhou dialect)
10 上海话(Shanghainese)11 济南话(Jinan dialect)12 四川话(Sichuanese)
13 武汉话(Wuhan dialect)

使用流程

  1. 先调用 文件上传 API 上传音频文件并获取 file_id
  2. 调用 创建异步语音转写任务 API,获取 task_id
  3. 调用 查询语音转写任务状态 API,基于 task_id 获取语音转写任务进度
  4. 当任务完成时,会返回转写结果

过程示例

1. 获取 file_id

Python
"""
本示例用于获取待转写音频的 file_id。注意:需要先将密钥信息写入环境变量 `API_KEY`。
"""
import requests
import os

api_key = os.environ.get("API_KEY")
url = "https://maas-api.hivoice.cn/v1/files/upload"

payload = {'purpose': 'a2t_async_input'}
files=[
  ('file',('test.mp3',open('path/to/test.mp3','rb'),'audio/mpeg'))
]
headers = {
  'authority': 'maas-api.hivoice.cn',
  'Authorization': f'Bearer {api_key}'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

2. 创建语音转写任务

Python
"""
本示例用于创建语音转写任务。注意:需要先将密钥信息写入环境变量 `API_KEY`。
"""
import requests
import json
import os

api_key = os.environ.get("API_KEY")
url = "https://maas-api.hivoice.cn/v1/audio/asr/tasks"

payload = json.dumps({
  "model": "u2-asr",
  "file_id": <file_id>,
  "format": "mp3"
})
headers = {
  'Authorization': f'Bearer {api_key}',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

3. 查询语音转写进度

Python
"""
本示例用于查询语音转写进度。注意:需要先将密钥信息写入环境变量 `API_KEY`,并将需要查询任务的 id 写入环境变量 `TASK_ID`。
"""
import requests
import json
import os

task_id = os.environ.get("TASK_ID")
api_key = os.environ.get("API_KEY")
url = f"https://maas-api.hivoice.cn/v1/audio/asr/tasks/{task_id}"

payload = {}
headers = {
  'Authorization': f'Bearer {api_key}',
  'content-type': 'application/json',
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)