跳转到主要内容

OpenRouter 语音转文字 API 上线:聊天和转录一个 Key 搞定

OpenRouter 刚刚干了一件挺实在的事——把语音转录直接塞进了它现有的 API 里。从 7 月 22 日起,开发者可以用同一个 Bearer Key,既跟模型聊天,又能把音频转成文字。

以前做语音转录,总得东拼西凑:聊天用 OpenRouter,转录得另起一个 Whisper 服务,或者再集成个第三方的 SDK。现在好了,OpenRouter 新上线的 POST /api/v1/audio/transcriptions 端点,让这一切合二为一。你只需把音频用 base64 编码发过去,就能拿到转录好的文本和使用详情。

两种模型,按需选择

在模型方面,OpenRouter 提供了两条路:一是像 openai/whisper-1 这样的 Whisper 类模型,按音频时长(每秒)计费;二是更新的 STT 模型,按 Token 计费。不过要注意,STT 模型不会出现在默认的模型列表里,得通过 ?output_modalities=transcription 参数才能筛选出来。

调用简单,兼容 OpenAI

调用方式也很直接:把音频文件 base64 编码,带上模型和格式信息,POST 过去,就能从响应里拿到文本和用量。OpenRouter 特别提醒,data 字段要的是纯 base64 字节,别加 data:audio/mp3;base64 前缀。如果你已经有现成的 OpenAI 客户端,只需把 base URL 改成 https://openrouter.ai/api/v1,就能直接用了,代码一行都不用改。

参数细节与高级功能

必填字段包括 modelinput_audio.datainput_audio.format。支持的音频格式有 wav、mp3、flac、m4a、ogg、webm、aac 等。语言代码用 ISO-639-1 格式,不填的话会自动检测。temperature 参数控制采样随机性,范围 0 到 1。response_format 默认返回 JSON,设为 verbose_json 还能拿到任务、语言、时长和分段时间戳等信息。如果再把 timestamp_granularities 设为 word,甚至能拿到每个词的时间戳。不过这些高级功能只在 OpenAI、Groq、Together 等兼容 OpenAI 的提供商上有效,其他提供商会直接返回 400 错误。

provider 块可以用来传递各提供商的私有参数,比如 Groq 可以通过 provider.options.groq.prompt 传入期望词汇,帮助模型正确处理专有名词,避免把技术术语念错。

计费与路由

响应里会包含 usage 对象,让你精确知道每次请求花了多少钱。文档里举了个例子:一段 9.2 秒的音频,产生了 113 个 Token(83 个输入,30 个输出),费用是 0.000508 美元。当然,实际费用取决于你选的模型和音频长度。

路由逻辑跟聊天一样:如果一个转录模型有多个提供商托管,OpenRouter 会根据价格自动负载均衡,避免你被单一供应商绑定。不过,转录端点目前还不支持按请求控制路由,聊天里那些 orderonlyallow_fallbacks 等字段在这里都不管用。

OpenRouter 明确表示不会在提供商定价上加价,列表价格就是你的实际支付价格。如果转录失败,也不会收费。如果你有自己的提供商协议,还可以用 BYOK 功能,用自己的 Key 进行路由,只付平台费,省掉模型成本。而且,可变计费模式下,每月前 100 万次请求的平台费是免的。

四个必须注意的限制

在实际开发前,有四个限制得先想清楚:

  1. 60 秒上游超时:这个超时是指处理时间,不是音频长度。所以大文件或未压缩的录音可能会超时,长音频最好切成段,再拼接文本。
  2. 不支持音频 URL:端点只接受 base64 JSON 或 OpenAI 风格的多部分文件,且不超过 25MB。
  3. 不支持 SRT/VTT 格式输出srtvtttext 这些格式会被拒绝,返回 400 错误。时间戳只能通过 verbose_json 获取,字幕得自己用时间戳拼。
  4. 格式支持因提供商而异:wav 是最通用的安全选择,压缩格式如 mp3 能生成更小、更快的负载。几个小时的录音,比如一整晚的游戏实况,没法一次调用搞定,必须分块处理。

什么时候用转录,什么时候用聊天?

最后,OpenRouter 也帮你理清了场景:如果只是把音频转成文字,用 /audio/transcriptions;如果想让模型理解音频内容,比如分析客服电话的情绪、回答关于音频的问题,或者在同一提示里结合音频和其他模态,那就用 /chat/completions 里的 input_audio 内容类型。文本转语音则是另一个独立的端点。

一个 Key 既能聊天又能听写,给应用加上语音能力的门槛,确实又低了一截。

Image

Key Points

  • OpenRouter 在同一个 API 中集成了语音转录功能,使用相同的 Bearer Key。
  • 支持 Whisper 类模型(按秒计费)和 STT 模型(按 Token 计费)。
  • 兼容 OpenAI 格式,现有客户端只需修改 base URL 即可使用。
  • 支持自动负载均衡,不锁定单一供应商。
  • 有 60 秒处理超时、25MB 文件大小等限制,长音频需分块处理。