• 支持 99 种语言的语音识别
  • 多种输出格式:json / text / srt / verbose_json / vtt
  • 最大文件 25MB
POST/v1/audio/transcriptions

认证

string必填

所有接口均使用 Bearer Token 进行认证。

获取 API Key:访问控制台 创建。

请求时在请求头中添加:

Authorization: Bearer YOUR_OAIRoute_KEY

本接口需要上传文件,不支持在浏览器里直接「试一试」。请用 cURL、Postman 或 SDK 测试。

请求参数

请求体为 multipart/form-data。

file必填

待转录的音频文件。

支持的格式:mp3、mp4、mpeg、mpga、m4a、wav、webm。单文件最大 25MB。

string必填

语音识别模型名称。当前取值 whisper-1。

string可选

音频语言代码,ISO-639-1 格式。明确指定可提升准确率与速度,共支持 99 种语言。

常用值:zh 中文、en 英文、ja 日文、ko 韩文。

string可选

可选文本提示,用于引导转录风格或承接上一段音频内容。上限 224 token。

string可选

输出格式,默认 json。

  • json JSON,仅含文本
  • text 纯文本
  • srt SRT 字幕
  • verbose_json 详细 JSON,含时间戳及其他元数据
  • vtt WebVTT 字幕
number可选

采样温度,取值 0 到 1,默认 0。数值越高结果越随机,越低越确定。

响应

string

转录后的文本。所有格式下都返回该字段。

string

任务类型,固定值 transcribe。仅 verbose_json 返回。

string

检测到或指定的语言代码。仅 verbose_json 返回。

number

音频时长,单位秒。仅 verbose_json 返回。

array

文本片段数组。仅 verbose_json 返回。

segments 元素字段

segments[] 的元素字段 · 8 项
integer

片段 ID。

number

片段起始时间,单位秒。

number

片段结束时间,单位秒。

string

片段文本。

number

该片段使用的采样温度。

number

平均对数概率。数值越接近 0 表示置信度越高。

number

压缩比。异常高的值通常提示识别出现了循环重复。

number

无语音概率。接近 1 时说明这段大概率是静音或噪音。

响应示例

json 格式:

{
  "text": "这是一段测试音频的转录文本内容。"
}

verbose_json 格式:

{
  "task": "transcribe",
  "language": "zh",
  "duration": 8.5,
  "text": "这是一段测试音频的转录文本内容。",
  "segments": [
    {
      "id": 0,
      "seek": 0,
      "start": 0.0,
      "end": 3.5,
      "text": "这是一段测试音频",
      "tokens": [50364, 1234, 5678],
      "temperature": 0.0,
      "avg_logprob": -0.3,
      "compression_ratio": 1.2,
      "no_speech_prob": 0.01
    }
  ]
}

srt 格式:

1
00:00:00,000 --> 00:00:03,500
这是一段测试音频

2
00:00:03,500 --> 00:00:08,500
的转录文本内容。

提升准确率的做法

指定语种。 短音频自动识别容易判错,明确 language 能显著改善。

用 prompt 喂专有名词。 把可能出现的行业词汇、人名、缩写写进去,能减少同音错字。注意上限 224 token。

长音频先切分。 按静音点切成 5 到 10 分钟一段,既避开 25MB 限制,也降低单次失败的重试成本。

用 no_speech_prob 过滤静音段。 批量处理录音时,这个字段能帮你跳过无内容的部分。

错误

HTTPtype说明
400invalid_request_error请求参数无效
401authentication_error身份验证失败,请检查您的API密钥
402payment_required账户余额不足,请充值后再试
429rate_limit_error请求过于频繁,请稍后再试

更多状态码与重试建议见错误码与限流,常见报错的排查步骤见常见问题。

支持的模型列表

以下语音识别模型均可通过本接口调用,实际可用范围以你的账号分组为准:

OpenAI 语音 系列

  • tts-1-hd语音合成,音质优先
  • tts-1语音合成,延迟优先
  • gpt-4o-mini-tts新一代,支持风格指令
  • whisper-1语音转文字 等

Google 语音 系列

  • gemini-3.1-flash-tts-preview轻量语音合成,多语言 等

更多模型持续更新中…

使用示例

转写为纯文本

最简形式:上传音频文件,拿回整段文字。response_format 不传时默认 json。

curl --request POST https://api.oairoute.com/v1/audio/transcriptions \
  -H "Authorization: Bearer YOUR_OAIRoute_KEY" \
  -F "[email protected]" \
  -F "model=whisper-1"

指定语言

明确告诉模型音频的语言,能减少识别偏差、加快处理。不传时自动检测。

curl --request POST https://api.oairoute.com/v1/audio/transcriptions \
  -H "Authorization: Bearer YOUR_OAIRoute_KEY" \
  -F "[email protected]" \
  -F "model=whisper-1" \
  -F "language=zh"

带时间戳的转写

response_format 设为 verbose_json 会返回分段信息,每段带起止时间,适合做字幕。

curl --request POST https://api.oairoute.com/v1/audio/transcriptions \
  -H "Authorization: Bearer YOUR_OAIRoute_KEY" \
  -F "[email protected]" \
  -F "model=whisper-1" \
  -F "response_format=verbose_json" \
  -F "timestamp_granularities[]=segment"

用提示词纠正专有名词

prompt 可以喂一段术语表或上文,模型会倾向于用这些写法。人名、产品名、缩写多时很有用。

curl --request POST https://api.oairoute.com/v1/audio/transcriptions \
  -H "Authorization: Bearer YOUR_OAIRoute_KEY" \
  -F "[email protected]" \
  -F "model=whisper-1" \
  -F "prompt=本次会议涉及 OAIRoute、Seedance、Claude Sonnet 等术语。"