Node.js语音笔记App:语音转文字API选型指南

对比主流语音转文字API的免费额度、定价与Node.js集成,给出分阶段选型建议。
文章针对开发者用Node.js做语音笔记应用时如何选择语音转文字API的问题,将市面方案分为云厂商通用API、专业STT服务和本地开源方案三类,并对比了AssemblyAI、Deepgram、Google Cloud、OpenAI Whisper及本地Whisper的免费额度与单价。在Node.js集成方面,指出AssemblyAI和Deepgram的官方SDK最简洁且支持流式,Whisper API无需SDK但无流式支持,Google Cloud配置较笨重。文章按原型验证、准备上线、隐私敏感、企业级多语言四种场景给出选型建议,并提醒注意手机录音格式转码、计费方式和免费额度有效期等隐藏坑点,核心结论是先用免费额度跑通链路,后续再按实际需求迁移。
有开发者在Reddit上提问:想用Node.js做一个语音笔记应用,实现手机录音、上传、转文字的基本流程,但面对众多语音转文字API,不知道哪个免费额度合理或按量付费便宜。这个问题戳中了很多独立开发者的痛点——语音转文字(STT)是AI应用中最常见的功能之一,但选错API可能让周末项目变成财务黑洞。

语音转文字API的三种类型
市面上的STT API大致分三类,选择前先明确你的需求属于哪一类。
云厂商通用API:如Google Cloud Speech-to-Text、AWS Transcribe、Azure Speech。优势是稳定、支持多语言、有免费额度(通常每月60分钟到5小时),但超出后按秒计费,长期使用成本不低。适合需要高准确率和多语言支持的场景。
专业STT服务:如Deepgram、AssemblyAI、Speechmatics。这些服务专注语音识别,按分钟计费,价格通常比云厂商低30%-50%,且提供实时流式识别、说话人分离等高级功能。Deepgram的预付费套餐每分钟约0.0043美元,AssemblyAI提供每月100分钟免费额度。
本地/开源方案:如OpenAI的Whisper(可本地部署)、Vosk、Coqui。完全免费,但需要自己部署和维护,对服务器资源有要求。Whisper的准确率已经接近商业API,适合对隐私敏感或预算极低的项目。
流式识别与异步识别的区别:流式(实时)识别指音频边传输边返回文字,通常通过 WebSocket 保持长连接,适合语音输入法、实时字幕等交互场景,但对网络稳定性和服务端并发有要求;异步识别则是先上传完整音频文件,服务端处理完后通过轮询或 webhook 返回结果,更适合录音笔记、会议纪要等离线场景,且单价往往更低。选型时需先明确你的应用是“边说边出字”还是“录完再转”,这直接决定该用 Deepgram 的流式 API 还是 AssemblyAI、Whisper 的异步接口。
免费额度与定价对比
对于周末项目,免费额度是首要考虑因素。根据公开定价信息:
- AssemblyAI:每月100分钟免费,之后每分钟0.00025美元(异步)或0.00015美元(流式)。免费额度足够个人测试。
- Deepgram:新用户送200美元额度(约4.6万分钟),之后按量付费。适合需要大量测试的项目。
- Google Cloud STT:每月60分钟免费,之后每分钟0.006美元(标准模型)。
- OpenAI Whisper API:每分钟0.006美元,无免费额度,但API简单易用。
- 本地Whisper:完全免费,但需要GPU或较强CPU,推理速度取决于硬件。
如果只是验证想法,AssemblyAI的100分钟免费额度最友好;如果预期用量大,Deepgram的200美元赠送额度更划算。
按秒计费与按分钟计费的换算:云厂商常以“每秒”为计费单位(如 Google Cloud STT 每分钟 0.006 美元即每秒 0.0001 美元),而专业 STT 服务多以“每分钟”报价,本地方案则只消耗算力。比较价格时应统一换算到相同单位,并注意最小计费时长——部分服务对不足 15 秒的音频仍按 15 秒收费,短语音频繁上传的场景实际成本会高于标价。此外,异步接口通常比流式接口便宜 30%-50%,若业务允许延迟,优先选异步可显著降低成本。
Node.js集成体验
从开发者反馈看,各API的Node.js SDK成熟度差异明显。
AssemblyAI提供官方Node SDK,几行代码就能上传音频文件并获取转录文本,支持 webhook 回调,适合异步处理。Deepgram的Node SDK同样简洁,且支持实时流式转录——如果你想让用户边说边出文字,这是关键优势。Google Cloud的Node客户端功能全面但配置复杂,需要服务账号密钥和项目设置,对周末项目来说略显笨重。
OpenAI的Whisper API最简单:一个HTTP请求,传入音频文件,返回文本。没有SDK依赖,适合快速原型。但注意它不支持流式,且文件大小限制25MB。
whisper.cpp 与子进程调用:whisper.cpp 是 OpenAI Whisper 模型的 C/C++ 移植版,可在普通 CPU 上运行且内存占用低,社区提供了 Node.js 绑定(如 nodejs-whisper)。在 Node 中调用本地 Whisper 的常见方式有两种:一是通过 child_process 启动 whisper.cpp 编译出的可执行文件并传入音频路径,解析其输出的文本文件;二是用 Python 子进程运行 openai-whisper 包。前者无需 Python 环境、启动更快,后者模型选择更灵活。无论哪种方式,都需自行处理音频采样率转换(Whisper 要求 16kHz 单声道),并注意并发请求会争抢 CPU 导致响应变慢。
选型建议:从项目阶段出发
原型验证阶段:直接用OpenAI Whisper API或AssemblyAI免费额度。代码量最少,一小时内能跑通录音上传转文字的完整链路。
准备上线且用量可控:评估Deepgram或AssemblyAI的按量付费。两者都提供免费额度过渡,且价格透明。如果应用需要实时转录(如语音输入法),Deepgram的流式API是更优选择。
隐私敏感或长期免费:本地部署Whisper。用Node调用whisper.cpp或通过Python子进程运行,虽然增加运维复杂度,但零API成本。适合个人笔记类应用,数据不出本地。
多语言或企业级需求:Google Cloud STT或Azure Speech。准确率有保障,但成本较高,建议先用免费额度测试目标语言的识别效果。
容易被忽略的坑
音频格式兼容性:多数API支持WAV、MP3、M4A,但手机录音默认格式可能是AAC或AMR,上传前需转码。用fluent-ffmpeg在Node里转码是常见做法。
时长计费方式:有些API按音频时长计费,有些按处理时间计费。对于长录音,异步API通常更便宜,但需要轮询或webhook获取结果。
免费额度陷阱:部分服务的免费额度仅限首月,之后自动转为付费。注册时看清条款,设置预算提醒。
Reddit原帖下有不少开发者分享经验,共识是:第一个项目别纠结完美方案,选一个免费额度够用、文档清晰的API先跑起来,后续根据实际用量和功能需求再迁移。语音转文字的技术壁垒在降低,切换成本并不高。
手机录音格式与转码:iOS 默认录音格式为 M4A(AAC 编码),Android 部分机型默认 AMR-NB 或 3GP,采样率多为 8kHz-44.1kHz 不等,而多数 STT API 要求 WAV/MP3/FLAC 等格式且推荐 16kHz 以上采样率。直接用原始文件上传可能导致识别失败或准确率下降。在 Node.js 中可用 fluent-ffmpeg 封装 ffmpeg 命令行完成转码:先探测输入格式,再统一转为 16kHz 单声道 WAV 或 MP3。注意 ffmpeg 需在部署环境单独安装,Serverless 平台通常需借助 ffmpeg-static 等预编译包,且转码会额外消耗 CPU 时间,长录音建议放入队列异步处理。
相关推荐

OpenAI与Shield合作:Astra智能体如何革新IT故障修复
OpenAI与Shield合作推出Astra智能体,可自动登录电脑和遗留系统,实时修复IT故障,比传统模型快35%到40%,仅在需要人类判断时引入人工。

iPhone Duo续航实测:一天一充跑不掉,大屏是耗电元凶
iPhone Duo续航实测:重度使用一天需至少充电一次,6.5小时亮屏约剩30%电量。大屏展开频率是耗电关键,MagSafe电池背夹可救场,长期衰减同样值得关注。

Kimi K3.1 Pro开源发布:2.8万亿参数逼近Opus
Moonshot发布开源MoE模型Kimi K3.1 Pro,2.8万亿总参数、1040亿激活参数,Terminal Bench 4.0仅落后Opus 5.5不到1分,单任务成本约三分之一,API价格减半,开源权重11月4日开放。