注册

Whisper-1 语音识别

Whisper-1

POST https://api.quickrouter.ai/v1/audio/transcriptions 在线调试 →
Authorization

在 Header 添加参数 Authorization,其值为 Bearer 之后拼接 Token

示例: Authorization: Bearer ********************

请求参数

Header 参数
Content-Type string
可选
示例: multipart/form-data
Body 参数 multipart/form-data
file file
必需
要转录的音频文件对象,格式为:flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav 或 webm。
model string
必需
要使用的模型 ID。目前只有 whisper-1、gpt-4o-mini-transcribe 是可用的。
language string
可选
输入音频的语言,以 ISO-639-1 格式提供可提高准确性和延迟。
prompt string
可选
可选文本,引导模型的风格或继续之前的音频段落。
response_format string
可选
转录输出格式:json、text、srt、verbose_json 或 vtt。
temperature number
可选
采样温度,0-1 之间。默认为 0。

请求示例代码

curl --location --request POST 'https://api.quickrouter.ai/v1/audio/transcriptions' \
--header 'Authorization: Bearer <token>' \
--form 'file=@"/path/to/test.m4a"' \
--form 'model="whisper-1"' \
--form 'language="zh"' \
--form 'prompt="这是一段中文音频"' \
--form 'response_format="json"'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <token>");

var formdata = new FormData();
formdata.append("file", fileInput.files[0], "test.m4a");
formdata.append("model", "whisper-1");
formdata.append("language", "zh");
formdata.append("prompt", "这是一段中文音频");
formdata.append("response_format", "json");

var requestOptions = {
   method: 'POST',
   headers: myHeaders,
   body: formdata,
   redirect: 'follow'
};

fetch("https://api.quickrouter.ai/v1/audio/transcriptions", requestOptions)
   .then(response => response.text())
   .then(result => console.log(result))
   .catch(error => console.log('error', error));
import http.client
import mimetypes
from codecs import encode

conn = http.client.HTTPSConnection("api.quickrouter.ai")
dataList = []
boundary = 'wL36Yn8afVp8Ag7AmP8qZ0SA4n1v9T'
dataList.append(encode('--' + boundary))
dataList.append(encode('Content-Disposition: form-data; name=file; filename={0}'.format('/path/to/test.m4a')))

fileType = mimetypes.guess_type('/path/to/test.m4a')[0] or 'application/octet-stream'
dataList.append(encode('Content-Type: {}'.format(fileType)))
dataList.append(encode(''))

with open('/path/to/test.m4a', 'rb') as f:
   dataList.append(f.read())
dataList.append(encode('--' + boundary))
dataList.append(encode('Content-Disposition: form-data; name=model;'))
dataList.append(encode(''))
dataList.append(encode('whisper-1'))
dataList.append(encode('--' + boundary))
dataList.append(encode('Content-Disposition: form-data; name=language;'))
dataList.append(encode(''))
dataList.append(encode('zh'))
dataList.append(encode('--'+boundary+'--'))
body = b'\r\n'.join(dataList)
payload = body
headers = {
   'Authorization': 'Bearer <token>',
   'Content-type': 'multipart/form-data; boundary={}'.format(boundary)
}
conn.request("POST", "/v1/audio/transcriptions", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

返回响应

响应参数 🟢 200 OK · application/json
text string
必需
转录出的文本内容。
示例
{
  "text": "12345678910"
}