国内团队调用 Whisper API 做语音转写,接口本身并不复杂:一个 multipart 请求、一个音频文件、一段文本返回。真正决定体验的是网络路径——白天的跨境链路、晚高峰的丢包、几十兆文件传到一半断开,都会让一个简单的接口变成运维问题。

本文对比直连、代理和网关三种方案,重点讲大文件上传、超时重试、切分策略,以及上线前的验证清单。

说明:OpenAI、Whisper 是其权利人的商标,本文仅作技术接入说明,与 OpenAI 不存在隶属、代理或合作关系。接口限制、可用模型与计费口径以官方文档和站内文档为准。

一、三条路径,三种责任边界

  • 直连:代码直接请求 api.openai.com,不经过中间层。
  • 代理:自建 VPS 反向代理,或使用第三方提供的转发地址。
  • 网关:使用中商起航 AI 网关这类 OpenAI 兼容入口,统一 Key、余额、账单和发票。
维度 直连 自建代理 网关
链路可控性 取决于运营商 较高 由服务商负责
稳定性 波动较大 取决于机房和线路 通常有多线路
维护成本 低 高,需要值守 低
计费与发票 美元,自行处理 上游账单,仍需自行处理 人民币,平台开票
适合场景 低频、可失败重试 有运维能力的团队 国内团队与生产业务

三条路径的核心差别不是“能不能通”,而是出问题时谁来定位、谁来兜底。选型时先想清楚这一点,比比较延迟数字更有用。

二、直连:能通不等于稳定

直连省掉了中间层,但跨境链路的质量不归你控制。常见现象包括:

  • 白天正常,晚高峰超时率上升;
  • DNS 解析偶发变慢,TLS 握手时间拉长;
  • 上传大文件时连接被重置,重传又从零开始;
  • 同一份代码,办公室能跑,云服务器却不能跑。

测试时不要只在家用宽带上 ping 一下。要在生产服务器上跑一组真实请求,记录成功率、p50 和 p95 延迟、上传耗时,连续观察几天。对异步任务,直连可以接受,只要业务允许失败后重跑;对在线字幕、实时会议这类场景,链路波动会直接变成用户可见的卡顿。

三、代理:服务器便宜,维护不便宜

自建代理通常是在 VPS 上装 nginx 做反向代理,再配域名和证书。它能把请求路径固定下来,但会引入新的故障点:

  • 出口带宽不足,多个音频同时上传就开始排队;
  • 请求体大小限制没放开,几十兆文件直接返回 413;
  • 代理超时短于转写时间,后端还在处理,连接已经被切断;
  • 证书过期、IP 被限流、上游接口变更,都需要人工处理。

配置时至少要检查 client_max_body_size、proxy_read_timeout 和缓冲设置。共享代理地址还有额外风险:你不知道同一出口上还有谁,限流和封禁可能波及所有使用者。Key 放在代理层转发时,也要确认日志不会把鉴权头写进明文。

四、网关:把网络问题变成服务问题

网关提供 OpenAI 兼容的 Base URL,代码通常只需替换 base_url 和 Key。对国内团队的实际价值有三点:链路由服务商维护;文本、音频、Embedding 共用一套余额;人民币付款和发票。

选网关时不要只看“支持 Whisper”一句话,要确认:

  • 音频转写接口是否完整支持,包括 response_format 和时间戳;
  • 单文件大小、并发数和超时限制;
  • 失败请求如何计费,是否提供请求 ID;
  • 日志留存策略和删除方式;
  • 价格页是否写清计费口径。

网关解决的是链路和账单,不解决所有工程问题。超过大小限制的音频仍然要切分,网络抖动仍然要重试。把它当成一层有服务承诺的基础设施,而不是万能的加速器。

五、大文件上传:为什么 25 MB 以内也会失败

Whisper 接口常见的单文件限制是 25 MB,具体以官方文档为准。很多人以为只要文件小于限制就没问题,实际上失败往往发生在传输阶段。

按 1 Mbps 的上行带宽计算,25 MB 文件仅传输就需要约 200 秒,再加上 TLS 握手、服务端排队和转写时间,很容易撞上代理或客户端超时。移动网络、跨境线路和共享带宽会让这个时间更长。

降低失败率的顺序是:先压缩,再切分,最后才考虑重试。

  • 统一转成 16 kHz 单声道,语音转写不需要高采样率;
  • 用 64 kbps 的 mp3,25 MB 大约能装下五十多分钟的语音;
  • 超过 10 分钟的音频按 5–10 分钟切段,段间留 0.5–1 秒重叠;
  • 切分点尽量选静音处,减少把词切成两半。

这些数字是工程经验值,不是接口承诺,实际以自己环境的测试结果为准。

六、超时、重试与切分

切分可以用 ffmpeg:

ffmpeg -i input.mp3 -f segment -segment_time 600 \
  -ac 1 -ar 16000 -b:a 64k part_%03d.mp3

重试策略按下面的顺序设计:

  1. 只重试网络错误、408、429 和 5xx,400、401、413 重试没有意义;
  2. 用指数退避加随机抖动,例如 1、2、4、8 秒,最多三到五次;
  3. 每次请求记录音频文件名、分段序号和请求 ID,方便对账;
  4. 合并时按分段顺序拼接文本,并把起始偏移加回时间戳;
  5. 重叠部分做去重,优先保留更完整的一句;
  6. 批量任务限制并发,给 429 留出恢复空间。

音频接口通常没有幂等键,超时后服务端可能已经完成转写并计费。重试前先查用量日志,确认能接受少量重复计费,再决定重试次数。对成本敏感的团队,可以把失败分段单独落盘,人工确认后再补跑。

七、支付、发票与合规

国内团队常见的组合是:网关人民币充值、平台开人民币发票、对公转账走采购流程。付款前确认合同主体与收款账户一致,发票金额按实付还是按到账额度计算,退款和补开规则写在哪里。详细流程可以看站内的充值说明。

合规上注意三点:

  • 音频可能包含姓名、电话、病情、交易信息,上传前明确告知并取得授权;
  • 敏感内容先脱敏,或改用可私有化部署的方案;
  • 确认数据是否跨境传输,以及服务商的留存和删除机制。

转写结果的权利归属取决于音频内容和平台条款。会议录音、课程、客服通话涉及他人权利时,先确认授权再商用。

八、上线前验证清单

  • 用十秒音频跑通 200 响应;
  • 用五分钟音频确认中文识别和标点;
  • 用接近 25 MB 的文件测试上传耗时和超时;
  • 模拟 429 和 5xx,确认退避生效;
  • 模拟断网,确认重试不会无限循环;
  • 核对分段合并后的时间戳偏移;
  • 检查并发上限与队列长度;
  • 确认余额预警、发票和对账流程;
  • 确认 Key 只存在服务端,支持轮换和吊销。

清单不长,但每一项都对应一次真实故障。小流量先跑一周,再放大并发,比一次性压满更稳。

常见问题

国内直连 Whisper API 稳定吗?

没有统一答案,取决于运营商、时段和服务器位置。要在生产环境连续测几天,看成功率和 p95 延迟,而不是只看某一次请求。

网关和代理有什么区别?

代理通常只转发流量,账单和运维仍在上游;网关一般还提供账户、余额、密钥管理、人民币付款和发票,责任边界更完整。

音频超过 25 MB 怎么办?

先转成 16 kHz 单声道 mp3 压缩体积,再按 5–10 分钟切段。切分点选静音处,合并时补回时间偏移。

转写超时后重试,会重复扣费吗?

可能。服务端可能已经完成转写。重试前查用量日志,并给重试设置上限。

国内访问需要注意哪些合规问题?

重点是音频中的个人信息、数据跨境传输、服务商留存政策和内容授权。涉及敏感数据时优先脱敏或私有化部署。

下一步

先用一段短音频验证链路,再用真实的长录音测试切分和合并,最后才接入批量任务。需要人民币充值、统一账单和发票的团队,可以先注册中商起航 AI 网关,音频模型与计费口径以模型价格为准。

相关阅读: