腾讯云国际版语音合成 TTS 实战:按字符计费、53 种音色,TextToVoice 从开通到出声
Meta Description: 腾讯云国际版语音合成(TTS)实战教程:TextToVoice API 从开通到出声全流程、标准/精品音色 0.
- TTS 是什么?先把与 ASR / OCR / TMT 的边界划清
- 计费口径:按字符,不按分钟(全文最值钱的一节)
- 53 种音色与参数速查:标准 vs 精品,情感合成是亮点
- 四套真实场景成本测算
- 七步实操:从开通到拿到第一段音频
- 七个硬边界与避坑要点
Meta Description: 腾讯云国际版语音合成(TTS)实战教程:TextToVoice API 从开通到出声全流程、标准/精品音色 0.125 / 0.185 USD 每万字符的官方价格对照、"按字符不按分钟"的计费口径、150 字请求上限与长文本分片拼接、四套真实场景成本测算,以及与 ASR / OCR / TMT 的能力边界划分。
关键词:腾讯云国际版 TTS、语音合成、TextToVoice、文字转语音、按字符计费、精品音色、SSML
声明:本文价格与接口数据采集于 2026 年 10 月,仅供参考,价格可能变动,请以腾讯云官网为准。
一句话结论:腾讯云国际版语音合成(TTS)只有一个公开接口 TextToVoice,按字符数计费——标准音色 0.125 USD / 万字符、精品音色 0.185 USD / 万字符,单次请求上限 150 个汉字;把一段 1 小时的音频"说出来"约 0.19 USD,比用 ASR 把同一段音频"听回来"(约 1 USD/小时)便宜约 4~5 倍。本文按"计费口径 → 音色与参数 → 成本测算 → 七步实操 → 硬边界避坑 → FAQ"的顺序讲透。
如果你之前看过本站的《语音识别 ASR 实战》,会发现 TTS 正好是它的镜像:ASR 把声音变成文字,TTS 把文字变成声音。两者最大的区别在计费单位——ASR 按小时,TTS 按字符。这个差异决定了它们的成本结构和适用场景完全不同,下面第一节先把边界划清。
一、TTS 是什么?先把与 ASR / OCR / TMT 的边界划清
腾讯云国际版语音合成(Text To Speech,简称 TTS)把任意文本合成为"自然发音"的语音,官方定位覆盖智能客服、有声书制作、新闻播报等场景。它和站内已经写过的几个"AI 基础能力"接口的最大区别,是输入输出方向与计费单位都不一样:
| 能力 | 输入 → 输出 | 计费单位 | 国际站公开接口 | 站内对应篇目 |
|---|---|---|---|---|
| 语音合成 TTS | 文本 → 语音 | 每万字符 | TextToVoice(唯一) | 本篇 |
| 语音识别 ASR | 语音 → 文本 | 每小时 | CreateRecTask / 实时 WebSocket | 《ASR 实战》2026-10-08 |
| 文字识别 OCR | 图片 → 文本 | 每次 / 每千次 | GeneralBasicOCR 等 | 《OCR 实战》2026-10-05 |
| 机器翻译 TMT | 文本 → 目标语言文本 | 每次 / 每百万字符 | ImageTranslateLLM(国际站公开项) | 《TMT 实战》2026-10-07 |
一句话记忆:TTS 是"开口说话"的能力,且它按你喂进去的字数收费,而不按说出来的时长。这意味着同一个成本模型放在 TTS 上会得出很反直觉的结论——下文第二节会展开。
TTS 官方支持的合成语言只有三种形态:中文、英文、中英混读。它不负责翻译(那是 TMT 的事),也不负责从图片里取字(那是 OCR 的事)。如果你的流程是"图片 → 文字 → 语音",正确做法是 OCR → TTS 串联,而不是指望某一个接口全包。
二、计费口径:按字符,不按分钟(全文最值钱的一节)
这是 TTS 最容易被误解、也最值得先搞清楚的一节。市面上大量第三方 TTS 按"合成时长"或"调用次数"报价,而腾讯云国际版 TTS 官方口径是按最终处理的字符数计费,且只有两档单价:
| 音色类型 | 官方单价 | 折算(每 1 万字符) | 折算(每 100 万字符) |
|---|---|---|---|
| 标准音色(Standard) | 0.125 USD / 万字符 | 1 万字符 = 0.125 USD | 100 万字符 = 12.5 USD |
| 精品音色(Premium) | 0.185 USD / 万字符 | 1 万字符 = 0.185 USD | 100 万字符 = 18.5 USD |
计费与结算规则(官方 Purchase Guide 原文口径):
- 计费模式:按量计费(Pay-as-You-Go),后付费;
- 结算周期:按日结算,今天产生的用量次日出账并扣费;
- 扣费依据:以"最终处理的字符数"为准,SSML 标记不额外收费(官方 FAQ 明确"按最终处理字符数收费");
- 欠费处理:账户余额为负后,服务在 24 小时后暂停;数据保留 7 天,逾期未充值则数据被销毁且不可恢复。
官方算例复现:当月用标准音色处理 100 万字符、精品音色处理 3,000 万字符,费用为:
100 × 0.125 + 3000 × 0.185 = 12.5 + 555 = 567.5 USD
这个算式里有两点最值得记住:① 计费单位是"万字符",所以 100 万字符对应的是 100 个单位,不是 1 个单位;② 精品音色的占比一旦上来,账单几乎完全由精品音色主导——上例里精品音色占了 97.8% 的费用。
与 ASR 的横向对比——本文最反直觉的一条:
| 维度 | 语音合成 TTS | 语音识别 ASR(录音普通版) |
|---|---|---|
| 计费单位 | 每万字符 | 每小时音频 |
| 单价 | 0.125(标准)/ 0.185(精品)USD | 1.0 USD / 小时(自 0.6 起阶梯) |
| 1 小时音频成本 | 约 0.19(标准)/ 0.28(精品)USD | 约 1.0 USD |
(1 小时音频按中文播报约 250 字/分钟估算,即 15,000 字 = 1.5 个计费单位,属示意换算,实际字数取决于语速与文本。)
也就是说,同一段 1 小时的内容,用 TTS"说出来"的成本,只有用 ASR"听回来"的约 1/5 ~ 1/3.6。原因很朴素:ASR 要处理的是"经过压缩、带噪声、需要解码"的音频流,算力开销大;TTS 处理的是"干净、结构化"的文本,单位成本天然更低。做"语音交互闭环"的产品,如果只算 ASR 不算 TTS,会高估整体语音成本。
一个必须提前知道的口径冲突:TTS 的 API 文档(TextToVoice 页)里写着 "It is free for use in beta.",而 Purchase Guide 与 FAQ 都给出了明确的 0.125 / 0.185 USD 单价和计费示例。两个口径并存,建议以控制台实际出账为准;上线前先跑一次小批量、到控制台核对账单,不要仅凭"beta 免费"这句就按零成本做预算。本站惯例是如实并列两个口径,不替官方下结论。
三、53 种音色与参数速查:标准 vs 精品,情感合成是亮点
官方 FAQ 与产品简介都写"目前提供 53 种男声/女声",并明确 精品音色编号从 101000 起。把 API 文档里 VoiceType 的枚举清单逐条数出来,得到的是 13 个标准音色 + 43 个精品音色(合计 56 个条目)——与"53 种"的说法略有出入,原因是两者统计口径不同,以控制台实际可选音色为准。这种官方文档内部数字不完全对齐的情况,逐项列出比强行统一更负责。
标准音色(Standard,0.125 USD / 万字符)完整清单:
| VoiceType | 名称 | 语言/说明 |
|---|---|---|
| 10510000 | zhixiaoyao | 中文 |
| 1001 / 1002 / 1003 / 1004 / 1005 | zhiyu / zhiling / zhimei / zhiyun / zhili | 中文 |
| 1008 / 1009 / 1010 / 1017 / 1018 | zhiqi / zhiyun / zhihua / zhirong / zhijing | 中文 |
| 1050 / 1051 | WeJack / WeRose | 英文 |
精品音色(Premium,0.185 USD / 万字符)精选:编号从 101000 起,覆盖 zhixiaoyao、zhiyu、zhiling、zhimei、zhiyun、zhili、zhiyan、zhidan、zhihui、zhining、zhimeng、zhitian、zhirong、zhijing、zhigang、zhirui、zhihong、zhixuan、zhihao、zhiwei、zhixi 等;其中还有几个方言/口音音色值得注意——101019-zhitong(粤语)、101040-zhichuan(四川话)、101056-zhilin(东北官话),以及英文 101050-WeJack / 101051-WeRose。粤语、四川话、东北官话这三个方言音色在国际站属于精品档,做本地化播报时别默认它们和普通话同价。
核心请求参数速查表(TextToVoice):
| 参数 | 必填 | 取值范围 / 说明 |
|---|---|---|
Text | ✅ | 源文本,UTF-8;最多 150 个汉字(全角标点算一个汉字)或 500 个字母 |
SessionId | ✅ | 请求唯一标识,原样返回;建议用 uuid 防重复 |
VoiceType | ❌ | 音色编号,默认标准音色;精品音色编号从 101000 起 |
Volume | ❌ | 音量 [0, 10] 共 11 档,0 为正常音量,无静音档 |
Speed | ❌ | 语速 [-2, 6]:-2=0.6×、0=1.0×(默认)、2=1.5×、6=2.5×;可带一位小数做细粒度调速 |
SampleRate | ❌ | 采样率:16000(16k,默认)或 8000(8k,适合电话线) |
Codec | ❌ | 返回格式:WAV(默认)、MP3、PCM |
EnableSubtitle | ❌ | 是否开启时间戳,默认 false;开启后返回逐字 Subtitles 数组 |
EmotionCategory | ❌ | 情感控制,仅多情感音色支持;见下方 17 种取值 |
EmotionIntensity | ❌ | 情感强度 [50, 200],默认 100;仅当指定了 EmotionCategory 时生效 |
FastVoiceType | ❌ | 瞬时声音复刻的音色 ID,使用复刻音色时必填 |
EmotionCategory 支持的 17 种情感:neutral(中性)、sad、happy、angry、fear、news(新闻)、story(故事)、radio(电台)、poetry(诗歌)、call(客服)、sajiao(撒娇)、disgusted、amaze、peaceful、exciting、aojiao(傲娇)、jieshuo(解说)。情感合成是 TTS 相对很多同类产品的一个实打实的差异点——有声书、剧情号做多角色切换时,不用再靠拼接不同音色来"演",同一个音色加情感标签即可。
输出方面,TextToVoice 直接返回 Base64 编码的音频数据(Audio 字段)和时间戳(Subtitles),无需轮询任务——这是一次同步返回的接口,也是它与 ASR 的 CreateRecTask(异步、需轮询 DescribeTaskStatus)最大的工程差别。同步意味着简单,但也意味着单次不能太长(受 150 字上限约束),长文本必须自己分片,这一点在第五节实操里会给出可直接用的分片代码。
四、四套真实场景成本测算
把第二节的单价套进具体业务里,成本账会清晰很多。以下均按 0.125(标准)/ 0.185(精品)USD 每万字符计算,结果已逐格脚本复算:
| 场景 | 月字符量 | 标准音色月成本 | 精品音色月成本 | 说明 |
|---|---|---|---|---|
| A. 有声书:一本 20 万字小说 | 200,000 | 2.50 USD | 3.70 USD | 一整本书一次性合成 |
| B. 短视频配音:每天 100 条 × 120 字 | 360,000 | 4.50 USD | 6.66 USD | 30 天计 |
| C. 智能客服语音应答:每次 50 字 × 每天 2 万次 | 30,000,000 | 375.00 USD | 555.00 USD | 高频应答是成本主战场 |
| D. 运营商级批量通知:每月 1 亿字符 | 100,000,000 | 1,250.00 USD | 1,850.00 USD | 万字符单价 × 10,000 |
几条从表里能直接读出来的结论:
- 低频、内容型场景(有声书、课程)成本近乎可忽略。一本 20 万字的有声书,即使全用精品音色也只要 3.7 USD——相比雇真人配音,这个量级的差异是数量级的。
- 成本真正失控的地方是"高频交互"(场景 C / D)。客服机器人每次应答都要现合成一遍语音,2 万次/天就是 3,000 万字符/月,精品音色下 555 USD/月。这里的省钱关键是缓存:同样的问候语、菜单播报、状态提示,合成一次就把 MP3 存下来复用,而不是每次都调 TTS。
- 标准 vs 精品的取舍有官方给的现成策略:FAQ 里的建议是"有声书的热门书用精品音色、其余用标准音色"——用 0.06 USD/万字符的差价换用户体验,把预算花在真正会被反复听的内容上。
- 注意"字符"的计数陷阱:计费按最终处理的字符,中文里一个全角标点也按一个汉字算。文本里大量的空格、换行、标点都会计入。做批量前先用脚本统计一遍真实字符数,别按"字数感受"估。
五、七步实操:从开通到拿到第一段音频
下面按控制台 + Python SDK 的完整路径走一遍。国际站的接入点域名是 tts.intl.tencentcloudapi.com,Region 只支持 ap-singapore(新加坡)。
第 1 步,注册国际站账号并完成认证。 打开 intl.cloud.tencent.com 注册(免实名即可开通基础服务,涉及支付时再按提示补充)。已有账号直接登录。
第 2 步,开通 TTS 服务。 登录 TTS 控制台(console.tencentcloud.com/tts)点击激活。官方 Operation Guide 明确:TTS 激活后即按量计费,无需预先购买套餐。
第 3 步,创建 API 密钥。 到 API 密钥管理页点击 "Create Key",得到 AppID、SecretId、SecretKey 三件套,用于生成请求签名。密钥只显示一次,务必妥善保存。
第 4 步,用 Python SDK 跑通第一次合成。 先安装国际版 SDK(pip install tencentcloud-sdk-python-intl-en,注意是 -intl-en 后缀的国际版包),然后调用 TextToVoice。下面是可直接运行的完整代码(纯代码、无注释,步骤说明放在块外):
import base64
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.tts.v20190823 import tts_client, models
cred = credential.Credential("你的SecretId", "你的SecretKey")
http_profile = HttpProfile()
http_profile.endpoint = "tts.intl.tencentcloudapi.com"
client_profile = ClientProfile()
client_profile.httpProfile = http_profile
client = tts_client.TtsClient(cred, "ap-singapore", client_profile)
req = models.TextToVoiceRequest()
req.Text = "欢迎使用腾讯云国际版语音合成服务,这是一段示例音频。"
req.SessionId = "session-20261009-demo"
req.VoiceType = 101001
req.SampleRate = 16000
req.Codec = "mp3"
req.Speed = 0.5
req.Volume = 2
resp = client.TextToVoice(req)
audio_bytes = base64.b64decode(resp.Audio)
with open("output.mp3", "wb") as f:
f.write(audio_bytes)
print("合成完成,音频字节数:", len(audio_bytes))
print("时间戳条数:", len(resp.Subtitles))
跑通后会得到一个 output.mp3。若返回 InvalidParameterValue.AppIdNotRegistered,就是第 2 步没激活服务。
第 5 步,长文本分片合成并拼接。 因为单次 Text 上限 150 个汉字,一本小说必须切段。最简单的做法是按 150 字切片、逐段合成、把每段 MP3 字节按顺序写进同一个文件。下面是分片辅助函数(同样纯代码):
import uuid
def split_text(text, size=150):
return [text[i:i + size] for i in range(0, len(text), size)]
def synth_long(text, path):
pieces = []
for seg in split_text(text):
r = models.TextToVoiceRequest()
r.Text = seg
r.SessionId = str(uuid.uuid4())
r.VoiceType = 101001
r.Codec = "mp3"
r.SampleRate = 16000
pieces.append(client.TextToVoice(r).Audio)
with open(path, "wb") as out:
for p in pieces:
out.write(base64.b64decode(p))
print("段落数:", len(pieces), "-> ", path)
切片要尽量在标点处断开,否则一句话被拦腰截断会出现怪异的停顿或连读。生产环境建议按 。!?; 做切分,再对超长句二次切分。
第 6 步,用 SSML 解决停顿、多音字和数字读法。 官方 FAQ 明确:自定义读音、数字读法、段落间停顿都通过 SSML(语音合成标记语言) 实现,Text 参数直接支持 SSML 语法。常用能力包括用 break 标签插入停顿、用 phoneme 标签纠正多音字、用 say-as 标签指定数字/货币/地址的读法。注意 SSML 标签不额外收费(按最终处理字符数收费),但注意数字部分只能是数字、,、. 和空格,否则会报 InvalidParameterValue.ErrorCardinalFormat。
第 7 步,查看用量与对账。 登录 TTS 控制台可查看每次合成的明细。控制台目前只保留 200 个生成的语音文件,且 API 调用本身不做数据留存——生成的音频务必下载到本地/对象存储做持久化,不要依赖控制台当"仓库"。
六、七个硬边界与避坑要点
TTS 接口简单,但要真正用稳,下面这些边界必须提前知道:
- 单次 150 个汉字是硬上限,且全角标点也占位。
Text最多 150 个汉字(或 500 个字母),逗号、句号、问号这些全角标点各算一个汉字。一封 200 字的产品文案直接被拒,必须先分片。超限报UnsupportedOperation.TextTooLong。 - 国际站只公开了 1 个 TTS 接口。API Category 里
TextToVoice是唯一列出的接口,没有国内站那种"长文本异步合成任务"接口。这意味着国际站做有声书只能"分片 + 同步调用 + 本地拼接",无法把长文本一次性交给服务端异步处理。选型前务必认清这一点。 - 默认限流 20 请求/秒。单请求 150 字、20 QPS,理论上限是 3,000 字符/秒(约 1,080 万字符/小时)。批量合成时要自己做令牌桶限速 + 失败重试,否则会遇到
LimitExceeded.AccessLimit。注意还有InternalError.ExceedMaxLimit(服务高负载被限流)和InternalError.NoResource(资源不足),二者属于服务端侧,重试即可。 - Region 只有
ap-singapore。国际站 TTS 当前只支持新加坡地域,请求头X-TC-Region填ap-singapore。跨境调用时留意网络时延,批量任务建议放在同区域的 CVM 上跑。 - 支持语言只有中/英/中英混读。粤语、四川话、东北官话虽在音色清单里,但它们属于方言发音的音色,不属于"支持的语言"范畴;不要指望用 TTS 做多语种翻译播报(翻译是 TMT 的职责)。
- 不支持的能力别硬凑:不支持本地化部署(需提工单)、不支持插入打字/脚步声等音效、不支持直接生成视频文件、不支持在控制台长期留存数据(仅 200 个文件)。
- 计费口径以控制台出账为准。API 文档写 "free in beta",Purchase Guide 给了 0.125 / 0.185 的明确单价——上线前先小批量跑一次、次日出账后核对,避免预算失真。另注意欠费 24 小时停服、数据 7 天销毁这条硬规则,做长周期任务时把余额监控挂上。
总结与延伸阅读
腾讯云国际版 TTS 是一把"便宜、简单、够用"的语音合成工具:唯一接口 TextToVoice 同步返回音频、单次 150 字、按字符计费(0.125 / 0.185 USD 每万字符)、53 种音色含 17 种情感与 3 种方言。它最适合低频、内容型场景(有声书、课程、播报),成本几乎可忽略;真正需要精打细算的是高频交互场景,靠缓存复用 + 标准/精品分级把账单压下来。
把它和站内的几篇放一起看,AI 基础能力这条线就完整了:
- 把声音变成文字——腾讯云国际版语音识别 ASR 实战
- 把文字翻成另一种语言——腾讯云国际版机器翻译 TMT 实战
🚀 需要海外云服务器部署你的语音应用?通过 4.chengzicloud.cloud 访问首页,可一站对比腾讯云国际版等主流海外云厂商的服务器方案与优惠。
本文由 4.chengzicloud.cloud 提供,点击访问首页了解更多
常见问题(FAQ)
1:腾讯云国际版 TTS 到底是怎么收费的?
按量计费、后付费、按日结算,按最终处理的字符数收费。标准音色 0.125 USD / 万字符,精品音色 0.185 USD / 万字符。官方算例:标准 100 万字符 + 精品 3,000 万字符 = 12.5 + 555 = 567.5 USD。(API 文档另有 "free in beta" 表述,建议以控制台实际出账为准。)
2:TTS 和 ASR 哪个贵?
单位不同不能直接比,但折算成"每小时音频"后结论清晰:TTS 合成 1 小时音频约 0.19 USD(标准)/ 0.28 USD(精品),而 ASR 识别 1 小时录音约 1.0 USD。同一段内容,"说出来"比"听回来"便宜约 4~5 倍。(按中文约 250 字/分钟估算,属示意换算。)
3:单次请求能合成多长的文本?
最多 150 个汉字(全角标点算一个汉字)或 500 个字母。超出必须分片,且要用相同的 VoiceType、SampleRate、Codec 保证拼接后的音频一致。国际站没有异步长文本接口,长内容只能客户端分片。
4:标准音色和精品音色怎么选?
精品音色保真度更高、听感更自然,单价贵 0.06 USD/万字符。官方建议的实用策略是按内容热度分级:高频、被反复听的内容(热门有声书、核心客服音)用精品,长尾内容用标准。这样在体验和成本之间取平衡。
5:生成的音频会一直存在腾讯云吗?
不会。TTS API 不做数据留存,控制台只保留 200 个生成文件。必须自行下载到本地或对象存储(如 COS)做持久化,否则文件会被轮换掉。
6:用 SSML 会额外收费吗?合成出来的音频能商用吗?
SSML 不额外收费,仍按最终处理字符数计费(数字读法、多音字、停顿都靠 SSML 实现)。音频可商用——官方 FAQ 明确"只要合法,TTS 不限制语音的使用场景",具体仍需符合你所在地的法律法规。