国内团队调用 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
重试策略按下面的顺序设计:
- 只重试网络错误、408、429 和 5xx,400、401、413 重试没有意义;
- 用指数退避加随机抖动,例如 1、2、4、8 秒,最多三到五次;
- 每次请求记录音频文件名、分段序号和请求 ID,方便对账;
- 合并时按分段顺序拼接文本,并把起始偏移加回时间戳;
- 重叠部分做去重,优先保留更完整的一句;
- 批量任务限制并发,给 429 留出恢复空间。
音频接口通常没有幂等键,超时后服务端可能已经完成转写并计费。重试前先查用量日志,确认能接受少量重复计费,再决定重试次数。对成本敏感的团队,可以把失败分段单独落盘,人工确认后再补跑。
七、支付、发票与合规
国内团队常见的组合是:网关人民币充值、平台开人民币发票、对公转账走采购流程。付款前确认合同主体与收款账户一致,发票金额按实付还是按到账额度计算,退款和补开规则写在哪里。详细流程可以看站内的充值说明。
合规上注意三点:
- 音频可能包含姓名、电话、病情、交易信息,上传前明确告知并取得授权;
- 敏感内容先脱敏,或改用可私有化部署的方案;
- 确认数据是否跨境传输,以及服务商的留存和删除机制。
转写结果的权利归属取决于音频内容和平台条款。会议录音、课程、客服通话涉及他人权利时,先确认授权再商用。
八、上线前验证清单
- 用十秒音频跑通 200 响应;
- 用五分钟音频确认中文识别和标点;
- 用接近 25 MB 的文件测试上传耗时和超时;
- 模拟 429 和 5xx,确认退避生效;
- 模拟断网,确认重试不会无限循环;
- 核对分段合并后的时间戳偏移;
- 检查并发上限与队列长度;
- 确认余额预警、发票和对账流程;
- 确认 Key 只存在服务端,支持轮换和吊销。
清单不长,但每一项都对应一次真实故障。小流量先跑一周,再放大并发,比一次性压满更稳。
常见问题
国内直连 Whisper API 稳定吗?
没有统一答案,取决于运营商、时段和服务器位置。要在生产环境连续测几天,看成功率和 p95 延迟,而不是只看某一次请求。
网关和代理有什么区别?
代理通常只转发流量,账单和运维仍在上游;网关一般还提供账户、余额、密钥管理、人民币付款和发票,责任边界更完整。
音频超过 25 MB 怎么办?
先转成 16 kHz 单声道 mp3 压缩体积,再按 5–10 分钟切段。切分点选静音处,合并时补回时间偏移。
转写超时后重试,会重复扣费吗?
可能。服务端可能已经完成转写。重试前查用量日志,并给重试设置上限。
国内访问需要注意哪些合规问题?
重点是音频中的个人信息、数据跨境传输、服务商留存政策和内容授权。涉及敏感数据时优先脱敏或私有化部署。
下一步
先用一段短音频验证链路,再用真实的长录音测试切分和合并,最后才接入批量任务。需要人民币充值、统一账单和发票的团队,可以先注册中商起航 AI 网关,音频模型与计费口径以模型价格为准。
相关阅读:
