实测ElevenLabs免费API的计费与边界
作者用同一免费账号测试四款语音模型的英越双语合成,记录耗时、积分消耗与免费层报错。测试中 Flash v2.5 的字符成本为其他三款的一半,订阅用量接口存在延迟,响应头可提供单次消耗。
AI 深度解读
ElevenLabs 的免费 API key 能调用哪些模型,额度怎么算,遇到限制会怎样?作者用一个免费账号实测了 Flash v2.5、Multilingual v2、v3 和 Eleven v4:四个都能生成音频,但价格、语言支持和套餐权限需要分开看。
对准备接入语音功能的程序员,这篇最有用的结论是:免费额度足够验证调用链路;正式选型时,要核对语言清单、记录每次请求的实际消耗,并区分「接口能调用」与「允许商用」。
免费 key 能跑 v4,但测试范围很窄
作者在 2026 年 10 月 24 日,用越南的一台 Windows 11 电脑,通过 WSL、Ubuntu 24.04 运行 Python 3.13 脚本。客户端使用 httpx,直接请求 api.elevenlabs.io,没有使用 SDK。
账号是 ElevenLabs Free,无须绑定支付方式,每月有 10,000 credits。作者在 Developers → API Keys 创建了一个无到期时间、上限为 2,000 credits 的 key,选用默认声音 Bella,分别输入含义相同的英文和越南文句子,每句都是 140 个字符。
四个模型都返回了可播放的 128 kbps MP3,音频约 8–9 秒。时长根据文件大小估算,并非精确测量。这证明免费 key 在这次测试中可以调用 v4,也能调用成本更低的 Flash v2.5。
它没有证明这些模型在长文本、多声音或并发请求下的表现。每种语言、每个模型只有一次调用,总共八次,更适合做接入验证,不能据此排出稳定的音质和性能榜单。
费用看响应头,交互速度看首包
同样是 140 个字符,Flash v2.5 每次消耗 70 credits,另外三个模型各消耗 140 credits。八次请求合计 1,050 credits。
作者从每次响应的 character-cost 头立即读到了消耗;但请求结束后查询 /v1/user/subscription,已用额度仍显示为 0。几分钟后,它才更新到 1,050,与响应头累计值一致。
如果要按用户统计消耗,应记录每次请求的 character-cost,不能把订阅查询当成实时账单。
GET /v1/models 还返回了计费倍率:Flash、Turbo、v4 Turbo 和 v3 Conversational 为 0.5,其余为 1.0。这里别把 v4 和 v4 Turbo 混为一谈,作者实际测试的 v4 是每字符 1 credit。
同一个接口列出的免费套餐单次字符上限也不同:Flash v2.5 为 40,000,v4 和 Multilingual v2 为 10,000,v3 为 5,000。长文本接入时,这些限制会直接影响分段逻辑。
速度则要区分「拿到完整文件」和「开始收到音频」。作者通过 /v1/text-to-speech/{voice_id}/stream 测试 Flash v2.5,英文音频首字节耗时 0.19 秒,完整文件耗时 0.40 秒。紧接首次调用的越南文 Flash 非流式请求耗时 0.36 秒;首次请求包含建连开销,不能直接拿来比较模型速度。
对需要及时回应的语音界面,首字节时间更有参考价值,但它还不等于用户实际听到声音的时间,客户端缓冲和播放也有开销。
原文另给出 Flash 的税前价格:每 1,000 字符 $0.04,140 字符约 $0.0056。这个数字可以辅助估算,不能据此认定免费额度用完后会自动按此价格继续服务,所提供的正文没有交代完整付费机制。
能返回音频,不代表支持这门语言
越南文测试暴露了一个容易踩的坑:Multilingual v2 接受输入、返回音频、照常扣费,但它的支持语言列表并没有越南语。
作者把生成结果提交给 /v1/speech-to-text,使用 scribe_v1 转写,再与原句比较。Flash v2.5、v3 和 v4 的结果被作者判为文字内容正确;Multilingual v2 的词错误率则达到 61%,音频不可用。
原文后文还提到,前三个模型有 6.5% 的差异,作者归因于拼写而非发音。开头的「逐字正确」因此需要谨慎理解:提供的正文缺少完整对照表,无法逐项复核这一归类。
机器转写只能辅助判断词句是否读对,不能替代母语者评价自然度、重音和语气。更稳妥的接入顺序是先查 /v1/models 的语言列表,再用目标语言样本试听。
免费套餐的其他边界也很清楚:21 个默认声音和 128 kbps MP3 可以使用;192 kbps MP3、社区声音库需要 Creator 或更高套餐,44.1 kHz PCM 需要 Pro 或更高套餐。订阅响应还列出了 3 个自定义声音的限制,但作者没有进一步测试这项能力。
他们触发的失败请求没有消耗 credits,错误消息会说明所需套餐。不过,所提供的正文没有列出具体错误码和完整消息,不能把这些描述直接写成程序里的错误处理规则。
我的判断
这篇最值得借鉴的是验证方法:固定声音和文本,分别检查调用结果、响应头费用、订阅统计、语言支持与套餐限制。对于准备做语音原型的团队,这比只听一段演示音频更有参考价值。
但「Flash 最便宜、最快且越南文正确」只能限定在作者这次样本里。价格差异有响应头支撑,速度和语言质量则受单句、单声音、单次调用的限制。作者没有提供多轮延迟分布、母语听测或其他服务的对照数据,不能据此推荐它作为所有团队的默认方案。
安全做法也有明确用途:服务端用 .env 保存 ELEVENLABS_API_KEY,请求携带 xi-api-key,再给每个应用配置端点权限、额度和 IP allowlist。2,000-credit 上限能约束单个 key 的消耗,但不能代替应用自身的限流和用户鉴权。原文提到,必须从客户端发起的调用可考虑 single-use tokens,但没有展开具体接法。
商用是另一道门槛。按作者当日读取的价格页,Commercial License 从 Starter 开始提供,Free 不包含。免费调用成功,只能证明技术链路可行,不能作为上线商用的依据。
能拿来做什么
- 做前端语音原型时,让浏览器请求自己的 Node 服务,由服务端保存
ELEVENLABS_API_KEY、添加xi-api-key并转发音频,避免把长期密钥放进客户端代码。 - 在服务端为每次合成记录模型、字符数、
character-cost和耗时,再用/v1/user/subscription核对累计消耗,避免统计延迟影响用户额度判断。 - 接入非英语内容前,先通过
/v1/models核对语言支持和单次字符上限,再用实际业务文本检查专有名词、数字及长句,并安排人工试听。 - 从原型转向产品时,逐项确认商用许可、输出格式和声音来源。需要流式交互,就单独测首字节到达与开始播放的时间,不只记录完整文件下载耗时。