语音识别API的详细使用说明和代码示例
方法: POST
Content-Type: application/json
支持格式: WAV, MP3, M4A 等常见音频格式
audio_file
音频文件数据对象
context
上下文信息,默认为空字符串
language
语言设置,可选值: auto, zh, en, ja, ko
enable_itn
是否启用逆文本标准化,默认false
{
"success": true,
"data": [
"识别出的文本内容",
"检测到的语言:中文"
]
}{
"error": "Failed to process ASR inference",
"details": "错误详细信息",
"stack": "错误堆栈信息(开发环境)"
}// JavaScript 示例
async function callASRAPI(audioFile) {
// 将音频文件转换为base64
const base64 = await new Promise((resolve) => {
const reader = new FileReader();
reader.onload = () => resolve(reader.result.split(',')[1]);
reader.readAsDataURL(audioFile);
});
const response = await fetch('/api/asr-inference', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
audio_file: {
data: base64,
name: audioFile.name,
type: audioFile.type,
size: audioFile.size
},
context: '上下文信息(可选)',
language: 'auto', // 或 'zh', 'en', 'ja', 'ko'
enable_itn: false // 是否启用逆文本标准化
}),
});
const result = await response.json();
if (result.success) {
console.log('识别结果:', result.data[0]);
console.log('语种检测:', result.data[1]);
return result.data;
} else {
throw new Error(result.error);
}
}
// 使用示例
const input = document.querySelector('input[type="file"]');
input.addEventListener('change', async (e) => {
const file = e.target.files[0];
try {
const result = await callASRAPI(file);
alert('识别完成: ' + result[0]);
} catch (error) {
alert('识别失败: ' + error.message);
}
});