API 文档

语音识别API的详细使用说明和代码示例

API 端点
语音识别API的代理地址,解决跨域问题

方法: POST

Content-Type: application/json

支持格式: WAV, MP3, M4A 等常见音频格式

请求参数
API请求所需的参数说明

必需参数

audio_file

音频文件数据对象

  • • data: base64编码的音频数据
  • • name: 文件名
  • • type: MIME类型
  • • size: 文件大小

可选参数

context

上下文信息,默认为空字符串

language

语言设置,可选值: auto, zh, en, ja, ko

enable_itn

是否启用逆文本标准化,默认false

响应格式
API返回的数据结构

成功响应

{
  "success": true,
  "data": [
    "识别出的文本内容",
    "检测到的语言:中文"
  ]
}

错误响应

{
  "error": "Failed to process ASR inference",
  "details": "错误详细信息",
  "stack": "错误堆栈信息(开发环境)"
}
代码示例
不同编程语言的调用示例

JavaScript 示例

// 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);
  }
});