AI 语音合成价格对比:按字符数、按分钟还是按 token

本文要点

  • 同样生成 100 万字符的语音,最便宜和最贵的方案差 45.5 倍:Google WaveNet 是 $4.00,ElevenLabs Creator 是 $181.82。这个差距不是音质差 45 倍,而是计价单位不同造成的口径差
  • 语音合成有三种互不相通的计价单位:按字符(Google 旧版语音、Azure、OpenAI 的 tts-1)、按 token(OpenAI 的 gpt-4o-mini-tts、Gemini TTS)、按积分或分钟(ElevenLabs、Cartesia)
  • 「按字符」和「按分钟」谁更便宜,取决于语速:交叉点 r* = 每分钟单价 ÷ 每字符单价。语速低于 r* 时按字符便宜,高于 r* 时按分钟便宜
  • 各家自己对「一分钟」的定义并不一样:ElevenLabs 的套餐与文档隐含 1,000 字符/分钟,Cartesia 的套餐隐含 750 字符/分钟,两者相差 33%
  • token 计价在效果上更接近「按分钟」:音频输出 token 只跟音频时长有关、跟输入文本量无关,所以文本写多长,账单几乎不动

语音合成的定价页是 AI 服务里最不容易读的一类。同一个功能,各家给出的单位完全不一样:有的写「每 100 万字符 15 美元」,有的写「每 100 万 token 0.6 美元」,有的只写「每月 121,000 积分」,还有的写「每分钟 0.17 美元」。

这些单位表面上都指向「多少钱」,实际上指向的是四件不同的东西:字符衡量你提交的文本量,token 衡量模型内部处理的最小单位,积分是厂商自己定义的代币,分钟衡量最后产出的音频长度。文本量和音频长度之间隔着一个变量——语速。语速一变,两者就脱钩。

这篇要做的就是把它们折算到同一把尺上:先用「生成 100 万字符语音」和「生成 10 小时成品音频」两个场景把五家拉平,再算出官方页面从来不会写的那件事——按字符买和按分钟买,交叉点在哪一个语速上。数据于 2026 年 9 月 24 日重新核对各家官方定价页与官方文档。

本文方法:官方公开数据交叉核对,未做本地实测。所有数字均标注来源,核对日期见文末。

100 万字符的成本区间
45.5 倍
$4.00 到 $181.82
ElevenLabs 内部交叉语速
1,030 字符/分
低于此值,按积分买更划算
两家对「1 分钟」的定义差
33%
1,000 字符 vs 750 字符

一、三种计价单位,五家全表

下面这张表把五家厂商的官方报价按计价单位分类列出。同一家厂商可能同时存在多种单位——OpenAI 的 tts-1 按字符卖,新一代的 gpt-4o-mini-tts 却按 token 卖,两者并列在同一份定价文档里。

厂商 / 模型 计价单位 官方报价
Google WaveNet / Standard 每字符 $4 / 100 万字符($0.000004/字符)
Azure Neural / Neural HD Flash 每字符 $15 / 100 万字符
OpenAI tts-1 每字符 $15 / 100 万字符
Google Neural2 / Polyglot 每字符 $16 / 100 万字符
Azure Custom Voice Professional 每字符 $24 / 100 万字符
Google Chirp 3 HD 每字符 $30 / 100 万字符($0.00003/字符)
OpenAI tts-1-hd 每字符 $30 / 100 万字符
Azure Custom Voice Professional(Neural HD) 每字符 $48 / 100 万字符
Google Chirp 3 Instant custom voice 每字符 $60 / 100 万字符
Google Studio 每字符 $160 / 100 万字符($0.00016/字符)
OpenAI gpt-4o-mini-tts 每 token 文本输入 $0.60 / 100 万 token;音频输出 $12.00 / 100 万 token
Google Gemini 2.5 Flash TTS 每 token 文本输入 $0.50 / 100 万 token;音频输出 $10.00 / 100 万 token
Gemini 3.1 Flash TTS / 2.5 Pro TTS 每 token 文本输入 $1.00 / 100 万 token;音频输出 $20.00 / 100 万 token
ElevenLabs Pro 档 每积分 $99 / 600,000 credits(约 600 分钟)
ElevenLabs Business 档 积分 + 分钟 $990 / 600 万 credits;低延迟 TTS 低至 $0.05/分钟
Cartesia Scale 档 每积分 $299 / 800 万 credits(约 10,667 分钟)

读这张表时要注意两件事。第一,同一家厂商内部的单位也可能不统一:OpenAI 把 tts-1 和 gpt-4o-mini-tts 放在同一份定价文档里,前者按字符卖,后者按 token 卖。第二,Google 和 Azure 的价格表是分档的,档位名字对应音质而不是用量——Google 的 Studio 语音 $160/100 万字符是 WaveNet 的 40 倍,Azure 的自定义语音 $24/100 万字符是标准神经语音的 1.6 倍。这些是音质溢价,不是规模折扣。

免费额度也完全不同。Google 给 WaveNet 和 Standard 语音每月 400 万字符免费额度,给 Neural2、Chirp 3 HD、Studio 每月 100 万字符免费;Azure 免费层 F0 是每月 50 万字符;ElevenLabs 免费档每月 10,000 credits。按 Google 的 400 万字符免费额度换算,等于每月约 4,000 分钟、也就是 66 小时的音频不花钱——这个额度在低频场景下足以覆盖全部需求,而它在定价页上只是一行小字。

二、折算到同一把尺:100 万字符要花多少钱

把上表的每字符报价直接读出来,再把 token 和积分两栏折算成每 100 万字符,就能得到一张可比的图。折算规则是:Google 官方 token 文档写明「一个 token 约等于 4 个字符」,也写明音频的 token 速率是每秒 32 个 token;积分栏按 ElevenLabs 自己的套餐换算(121,000 credits 对应约 121 分钟,即 1 credit 对应 1 个字符),Cartesia 按同样口径折算。

生成 100 万字符语音的成本(美元,越低越好;ElevenLabs 与 Cartesia 按 1 credit = 1 字符折算)
各家生成 100 万字符语音的成本对比 Google WaveNet 为 4.00 美元,Azure Neural 与 OpenAI tts-1 为 15.00 美元,Gemini 2.5 Flash TTS 约 19.33 美元,Chirp 3 HD 与 tts-1-hd 为 30.00 美元,Cartesia Scale 约 37.38 美元,Google Studio 为 160.00 美元,ElevenLabs Pro 约 165.00 美元,ElevenLabs Creator 约 181.82 美元。 Google WaveNet $4.00 Azure Neural / tts-1 $15.00 Gemini 2.5 Flash TTS $19.33 Chirp 3 HD / tts-1-hd $30.00 Cartesia Scale $37.38 Google Studio $160.00 ElevenLabs Pro $165.00 ElevenLabs Creator $181.82 成本低 中 成本高

这张图里有三个值得单独说的数字。

Gemini 2.5 Flash TTS 折算后约 $19.33。算法是:100 万字符 ÷ 1,000 字符/分钟 = 1,000 分钟音频;1,000 分钟 × 60 秒 × 32 音频 token/秒 = 192 万音频 token,按 $10/100 万 token 计为 $19.20;文本输入侧 100 万字符约 25 万 token,按 $0.50/100 万 token 计为 $0.125。合计 $19.33。这个价格落在 Azure 神经语音($15)和 Chirp 3 HD($30)之间,说明 token 计价并不必然更贵或更便宜,只是换了一把尺。

ElevenLabs 折算后约 $165 到 $182。它是这张图里最贵的一档,但要注意这里比的是同一份文本。ElevenLabs 的积分是按文本消耗的,而它的定价页把套餐额度同时标成积分和分钟两种读法——Creator 档写「121k credits」,隔壁一栏写「约 121 分钟」。121,000 ÷ 121 = 1,000,这就是 ElevenLabs 自己给「一分钟」下的定义:1,000 个字符。

最贵与最便宜的差 45.5 倍。$181.82 ÷ $4.00 = 45.5。这个倍数里,音质、语言支持、声音克隆能力都占了份额,但如果只看账单,同一份文本在不同厂商之间的成本差已经超过一个数量级。

三、第二个场景:10 小时成品音频

第一个场景比的是「同一份文本」,第二个场景反过来——固定音频时长,看文本量随语速变化时各家的账单怎么动。10 小时 = 600 分钟。这里要引入一个真实变量:语速。英语正常朗读大约每分钟 150 个词,按每个词 6.5 个字符(含空格)算约 975 个字符;中文正常朗读大约每分钟 240 到 300 个汉字。本文取英语 1,000 字符/分钟、中文 250 字符/分钟两个口径。

方案 计费驱动量 600 分钟 @1,000 字符/分 600 分钟 @250 字符/分
Google WaveNet($4/100 万字符) 文本量 $2.40 $0.60
Azure Neural / OpenAI tts-1($15/100 万字符) 文本量 $9.00 $2.25
Google Neural2($16/100 万字符) 文本量 $9.60 $2.40
Gemini 2.5 Flash TTS(token) 音频时长 $11.53 $11.53
Google Chirp 3 HD / OpenAI tts-1-hd($30/100 万字符) 文本量 $18.00 $4.50
Cartesia Scale($299/800 万 credits) 文本量 $22.43 $5.61
Cartesia Startup($49/125 万 credits) 文本量 $23.52 $5.88
Cartesia Pro($5/10 万 credits) 文本量 $30.00 $7.50
ElevenLabs Business 的 $0.05/分钟报价 音频时长 $30.00 $30.00
Google Studio($160/100 万字符) 文本量 $96.00 $24.00
ElevenLabs Pro($99/60 万 credits) 文本量 $99.00 $24.75

这张表最重要的不是排名,而是两列之间的关系。凡是「计费驱动量 = 文本量」的方案,成本随语速线性变化:语速从 1,000 降到 250 字符/分钟,文本量降到四分之一,成本也降到四分之一。凡是「计费驱动量 = 音频时长」的方案,成本对语速完全不敏感,两列数字一模一样。

这里出现了全文最反直觉的一条:token 计价在行为上属于「按分钟」,不属于「按字符」。原因在于 token 计价的输出侧按音频 token 收费,而音频 token 只跟音频长度有关——1 秒音频就是 32 个 token,你输入的是 500 字还是 2,000 字,它都只跟最后生成的那段语音有多长有关。文本输入侧虽然按 token 收费,但单价只有输出侧的 1/20($0.50 对 $10.00),在总成本里几乎不占位置。

把这个规律和第一张表对照,会得到一个有用的判断方法:如果你的内容是「文本量固定、时长可变」(比如同一篇稿子用不同语速朗读),按字符买更可控;如果你的内容是「时长固定、文本量可变」(比如定时长的播客、有声书章节),按分钟或 token 买更可控。

四、交叉点:什么时候按字符买,什么时候按分钟买

官方页面不会告诉你的一件事是:按字符和按分钟这两种买法之间存在一个由语速决定的交叉点,而这个点是可以算出来的。设 c 为每字符单价(美元),m 为每分钟单价(美元),r 为语速(字符/分钟)。生成同一份内容时:

  • 按字符买,成本 = 字符总数 × c,与语速无关
  • 按分钟买,成本 = (字符总数 ÷ r)× m,语速越慢,需要的分钟越多,成本越高
  • 令两者相等,得到交叉语速 r* = m ÷ c
  • 语速 低于 r*(说得慢、每分钟字数少)时,按字符买更便宜;语速 高于 r* 时,按分钟买更便宜

方向容易记反,可以用一个极端例子验证:假设语速慢到每分钟只读 1 个字,那么 100 万字要读 100 万分钟,按分钟买会贵到离谱,按字符买则还是那笔固定支出。所以慢语速一定站在按字符这一边。

把各家的实际报价代入 r* = m ÷ c,得到下面这张阈值表。

按分钟一方 按字符一方 交叉语速 r* 现实语速下谁更便宜
ElevenLabs $0.05/分钟 ElevenLabs Pro 积分 $0.000165/字符 303 字符/分 按分钟($0.05)赢
ElevenLabs $0.05/分钟 Google Studio $0.00016/字符 312.5 字符/分 英语按分钟赢;中文按字符赢
ElevenLabs Pro 超额 $0.17/分钟 ElevenLabs Pro 积分 $0.000165/字符 1,030 字符/分 按字符(积分)赢
ElevenLabs $0.05/分钟 Cartesia Scale $0.0000374/字符 1,337 字符/分 按字符赢
ElevenLabs $0.05/分钟 Google Chirp 3 HD $0.00003/字符 1,667 字符/分 按字符赢
ElevenLabs $0.05/分钟 Azure Neural $0.000015/字符 3,333 字符/分 按字符赢,差距 10 倍以上

三行结论值得展开。

第一行说明 ElevenLabs 自己的两种报价是自洽的。r* = 303 字符/分钟。ElevenLabs 官方隐含的语速是 1,000 字符/分钟,远高于 303,所以对它的用户来说,$0.05/分钟这个低延迟报价比按积分买更便宜——大约便宜 3.3 倍($0.165/分钟 ÷ $0.05/分钟)。这也解释了为什么这个报价被放在 Business 档:它是给高频、大批量、已经谈过价的客户准备的,而不是给 Creator 档用户的折扣。

第二行是唯一一个「英语和中文结论相反」的组合。Google Studio 的 $0.00016/字符 是这张表里最贵的字符单价,只有它能把交叉点压到 312.5 字符/分钟这么低。英语正常朗读约 1,000 字符/分钟,高于 312.5,所以 $0.05/分钟赢;中文正常朗读约 250 字符/分钟,低于 312.5,所以按字符买反而赢。这是全文里唯一一处「换语言就换结论」的地方,原因是中国用户读同样时长只需要大约四分之一的字符数。

最后一行说明阈值高到什么程度就没意义了。Azure 神经语音的 $0.000015/字符 对应 r* = 3,333 字符/分钟,而正常朗读最快也就 1,000 出头。按 1,000 字符/分钟折算,Azure 是 $0.015/分钟,对 ElevenLabs 的 $0.05/分钟便宜 3.3 倍——这个结论在任何现实语速下都成立,因为 r* 已经高到不可能达到。当 r* 明显超过 2,000 字符/分钟时,可以认为这家厂商的字符单价已经低到不需要再考虑按分钟买。

五、三个比价时容易踩的坑

坑一:把两家的「每分钟价格」直接相减

ElevenLabs Pro 折合约 $0.165/分钟,Cartesia Scale 折合约 $0.028/分钟,看起来差 5.9 倍。但这两家的「分钟」不是同一个东西:ElevenLabs 的套餐把 121,000 credits 标为约 121 分钟,隐含 1,000 字符/分钟;Cartesia 的套餐把 10 万 credits 标为约 133 分钟,隐含 750 字符/分钟。也就是说同样一分钟,Cartesia 认为里面装着 750 个字符,ElevenLabs 认为装着 1,000 个——两者相差 33%。

正确做法是先折到每 100 万字符:ElevenLabs Pro 约 $165,Cartesia Scale 约 $37.38,差 4.4 倍。这个倍数才是可比的,而且比用「每分钟」算出来的 5.9 倍要小。

坑二:以为同一家厂商的两种计价单位可以互换

OpenAI 在同一份定价文档里同时列出 tts-1($15 / 100 万字符)和 gpt-4o-mini-tts($0.60 / 100 万文本 token + $12.00 / 100 万音频 token)。前者按文本量计费,后者主要由音频时长驱动。这不是「新款更便宜」或「新款更贵」的关系,而是计费驱动量换了。

实践含义:如果同一份文本要生成多个语速版本,tts-1 的账单是固定的,gpt-4o-mini-tts 的账单随总时长走。语速调慢一半,后者的成本大约翻倍,前者不变。选型时要先问「我的变量是文本量还是时长」。

坑三:只比单价,不算免费额度和积分结转规则

Google 给 WaveNet 和 Standard 语音每月 400 万字符的免费额度,给 Neural2、Chirp 3 HD、Studio 每月 100 万字符免费;Azure 免费层 F0 是每月 50 万字符;ElevenLabs 免费档每月 10,000 credits。按 400 万字符折算,Google 的免费额度相当于每月约 4,000 分钟、也就是约 66 小时的音频。

另一侧是结转规则。ElevenLabs 的积分、Cartesia 的积分都按月发放、不结转(ElevenLabs 定价页把超额部分标为「Extra minute」单独计价,说明额度用完要另买)。低频团队如果按年付了高档套餐,闲置额度是沉没成本。做预算时应该按「峰值月需求」选档,而不是按「全年总量 ÷ 12」选档。

六、按场景怎么选

  • 文本量大、时长不重要、成本最敏感(比如批量把商品描述转成语音):Google WaveNet 的 $4/100 万字符 是这张表里的地板价,且每月前 400 万字符免费。折算成每分钟只要 $0.004。
  • 需要标准商用音质、又不想上自定义语音:Azure Neural 和 OpenAI tts-1 都是 $15/100 万字符,Google Neural2 是 $16,三家在同一档位。这个价位对应的是「正常朗读质量」,不是「真人级」。
  • 时长固定、文本量随语速变化(比如固定 30 分钟的播客、有声书章节):优先看按分钟或 token 计费的方案。Gemini 2.5 Flash TTS 折合约 $0.019/分钟,且不随语速变化;ElevenLabs Business 的 $0.05/分钟报价也属于这一类。
  • 需要声音克隆:价格台阶会陡增。Google Chirp 3 的即时自定义语音是 $60/100 万字符,Azure Custom Voice Professional 是 $24/100 万字符(Neural HD 版 $48)。两者都不含训练成本——Azure 的自定义语音还要另付模型训练费($52/计算小时,单次最高 $936)和端点托管费($4.04/模型/小时),这两笔在按字符单价里是看不到的。
  • 中文内容:注意语速差异会改变结论。中文正常朗读约 250 汉字/分钟,是英语的四分之一左右,所以在按字符计费的方案上,同样时长的中文内容成本只有英语的四分之一。反过来,在按分钟计费的方案上,中英文成本完全一样。
  • 已经在用 ElevenLabs、月用量稳定:先在 Pro($99/60 万 credits)和 Business($990/600 万 credits)之间比每 1,000 credits 的单价,两档都是 $0.165,没有规模折扣;真正的折扣只在 Business 的 $0.05/分钟低延迟报价上。这个报价对应 r* = 303 字符/分钟,对英语和中文内容都划算。

把这篇的方法收束成一句:语音合成的账单有两个自变量——文本量和音频时长,而厂商只会告诉你其中一个。Google 和 Azure 卖的是文本量,ElevenLabs 和 Cartesia 的积分本质上也是文本量,OpenAI 的 gpt-4o-mini-tts 和 Gemini TTS 卖的是时长。选型时先确认自己的用量更像哪一种,再去比单价,否则算出来的倍数差都是假的。

本站的语音类横评用的是同一套折算方法:转写方向(音频变文字)的单位混乱程度不比合成低,见 AI 语音转写工具价格对比。编程工具的席位计费是另一个单位不可比的典型,见 AI 编程工具订阅价格全盘点。

数据来源与核实说明

本文首发于 2026 年 8 月 12 日,文中价格数据于 2026 年 9 月 24 日复核更新,来源为各厂商官方定价页与官方文档。本文未做本地实测,所有数字来自公开官方来源。价格为不含税报价。需要说明四处口径:

  • 音频 token 与秒数的换算用的是 Google 官方文档给出的每秒 32 个 token。需要明确:该数字在 Google 文档中的语境是音频输入的 token 化速率,Google 未单独公布音频输出的 token 速率。本文把它同时用于 Gemini TTS 与 OpenAI gpt-4o-mini-tts 的音频输出折算,属于推定,非官方确认。因此 Gemini 2.5 Flash TTS 的 $19.33 与 $0.019/分钟、以及 gpt-4o-mini-tts 的折算值都带有这一不确定性。
  • 「1 credit = 1 字符」是本文的推定,不是官方表述。依据有两条:ElevenLabs 官方模型文档把 eleven_v3 的 5,000 字符标注为约 5 分钟、eleven_multilingual_v2 的 10,000 字符标注为约 10 分钟;其定价页把 121,000 credits 标注为约 121 分钟。两处都指向 1,000 字符/分钟且 1 credit 对应 1 字符。Cartesia 的公开定价页只给出 credits 与分钟数的对应(10 万 credits ≈ 133 分钟),未说明 credits 与字符的换算,本文按同一口径处理,其 $37.38/100 万字符属推算值。
  • ElevenLabs 各档单价按套餐总额除以积分数计算:Creator $22/121,000 credits、Pro $99/600,000、Scale $299/1,800,000、Business $990/6,000,000。其中 Creator 档定价页同时显示 $22 与「首月 50% off」的 $11,本文按标准价 $22 计算。
  • Azure 的自定义语音成本未计入主表。除 $24/100 万字符的合成费外,官方还列出语音模型训练 $52/计算小时(单次最高 $936)与端点托管 $4.04/模型/小时,这两项按时间计费,无法折进每字符单价。Google Chirp 3 Instant custom voice 的 $60/100 万字符是否含训练,官方定价页未说明。

各家定价与语音档位调整频繁,选型前请以官网为准。发现数据错误欢迎联系我们。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注