Carl19/sfwllldoubaolllfew
0
Doubao ASR API
OpenAI 兼容的语音转文字 API,基于豆包输入法 ASR 服务。
快速开始
API 端点
使用方法
基本请求
curl -X POST "https://你的域名/v1/audio/transcriptions" \
-F "file=@audio.wav" \
-F "model=doubao-asr"带 API 密钥的请求
如果设置了 DOUBAO_ASR_API_KEY 环境变量:
curl -X POST "https://你的域名/v1/audio/transcriptions" \
-H "Authorization: Bearer 你的API密钥" \
-F "file=@audio.wav" \
-F "model=doubao-asr"请求参数
响应格式
JSON 格式(默认)
{
"text": "识别出的文字内容"
}verbose_json 格式
{
"task": "transcribe",
"language": "zh",
"duration": 0.0,
"text": "识别出的文字内容"
}text 格式
识别出的文字内容srt 格式
1
00:00:00,000 --> 00:00:00,000
识别出的文字内容vtt 格式
WEBVTT
1
00:00:00.000 --> 00:00:00.000
识别出的文字内容Python 示例
使用 requests
import requests
url = "https://你的域名/v1/audio/transcriptions"
headers = {
"Authorization": "Bearer 你的API密钥" # 如果设置了密钥
}
files = {
"file": open("audio.wav", "rb")
}
data = {
"model": "doubao-asr"
}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
# {"text": "识别出的文字内容"}使用 OpenAI SDK
from openai import OpenAI
client = OpenAI(
api_key="你的API密钥", # 如果设置了密钥,否则填任意值
base_url="https://你的域名/v1"
)
audio_file = open("audio.wav", "rb")
transcript = client.audio.transcriptions.create(
model="doubao-asr",
file=audio_file
)
print(transcript.text)JavaScript 示例
const formData = new FormData();
formData.append('file', audioFile);
formData.append('model', 'doubao-asr');
const response = await fetch('https://你的域名/v1/audio/transcriptions', {
method: 'POST',
headers: {
'Authorization': 'Bearer 你的API密钥' // 如果设置了密钥
},
body: formData
});
const result = await response.json();
console.log(result.text);环境变量配置
关于凭据
- 首次启动时,服务会自动注册虚拟设备并获取凭据
- 凭据会自动缓存到
credentials.json文件 - Token 会自动刷新,无需手动维护
- Space 重建后,凭据会丢失,需要重新注册(自动完成)
注意事项
- 这是非官方 API:基于逆向分析豆包输入法实现,可能随时失效
- 仅支持中文:目前只支持中文语音识别
- 免费层限制:Hugging Face 免费 Space 会休眠,首次请求可能较慢
- 建议设置 API 密钥:防止被滥用
错误处理
错误响应格式:
{
"error": {
"message": "错误描述"
}
}