文档 / 使用指南
长文本朗读:自动分段是怎么回事
结论先行:你不需要自己给长文本分段。粘进去多长都行,Soniva 会自动切好、 依次朗读、无缝衔接。这一页解释的是"它到底怎么切的",以及为什么账单里会出现多条记录。
结论先行:你不需要自己给长文本分段。粘进去多长都行,Soniva 会自动切好、 依次朗读、无缝衔接。这一页解释的是"它到底怎么切的",以及为什么账单里会出现多条记录。
单次朗读的长度上限
| 用什么 | 单次上限 |
|---|---|
| Soniva 的积分 | 500 字 |
| 你自己的 API Key(BYOK) | 4,000 字 |
| 豆包语音小模型(classic / BV 音色) | 约 280 字(上游硬限制) |
超过上限的文本,Soniva 会在发送前按标点自动切成多段, 每段各发一次请求,播放时依次接力,你听起来是连续的一段。
为什么豆包小模型切得更碎
豆包的 doubao-tts-classic(BV 开头的音色)走的是火山引擎旧版接口,
上游规定单次请求文本不能超过 1024 字节(约 300 个汉字),
超了会直接报错,而且上游不会帮你拆。
所以 Soniva 对这一档单独收紧到 280 字一段(留出中英文混排的余量)。
这直接影响它的扣费方式——因为这一档是按调用次数计费的, 每段各算一次调用、各扣 1 积分:
- 读 280 字以内 → 1 积分
- 读 1,000 字 → 约 4 积分
- 读 10,000 字 → 约 36 积分
详见 豆包语音说明。
为什么账单里会有多条记录
一次长文朗读 = 多次上游调用 = 多条流水记录。
比如你粘了 2,000 字用阿里云读,实际发生的是 4 次 500 字的请求, 在积分流水里就会看到 4 条扣费记录。
总扣费跟一次读完是一样的(按字符计费的品牌不会因为分段而多扣), 只是记录条数变多了。按次计费的百度和豆包小模型例外—— 它们本来就是按调用次数收费,分段方式直接决定扣多少。
分段带来的一个副作用:段落之间的停顿
因为每段是独立合成的,段与段之间会有一个极短的衔接。 大多数时候察觉不到,但如果上游响应慢,可能会听到轻微的停顿。
这是所有"长文本分段接力"方案共有的特性,不是故障。
想减少停顿的办法:
- 用自己的 API Key(单次 4,000 字,段数减少 8 倍)
- 避开豆包小模型这种切得特别碎的档位
播放不会因为切换标签页而中断
Soniva 的朗读在后台标签页里会继续播放——你切到别的网页、 甚至最小化浏览器,它都会接着读。
这是刻意保留的行为(早期版本试过"切走就暂停、切回来续播", 结果反而更容易读串、丢段,已经回退了)。
如果要停,请手动点暂停。
三级容错:为什么它很少彻底读不出来
Soniva 的朗读有三层兜底:
① 你选的云端 AI 音色
↓ 失败(上游超时/报错/额度问题)
② 阿里云 Sambert 兜底音色
↓ 仍然失败
③ 你设备自带的系统语音(本地朗读,永远可用)
所以即使某家上游临时抽风,你最坏也能听到系统语音把内容读完, 不会出现"点了没反应"的情况。
如果你发现声音突然变成了明显不同的音色,通常就是触发了兜底—— 过一会儿再试,或者换个品牌。
实用建议
| 情况 | 建议 |
|---|---|
| 经常读几千上万字 | 优先选便宜的档位(腾讯精品 / 百度基础 / 豆包小模型) |
| 长文 + 在意音质 | 阿里云 CosyVoice v3-flash(16 积分/千字符)性价比最好 |
| 长文 + 用 ElevenLabs | ⚠️ 209 积分/千字符,Pro 档月度赠送只够约 2.4 万字,慎用 |
| 有自己的 API Key | 一定要填上,单次上限翻 8 倍且不扣积分 |
相关文档
这篇有用吗?
匿名反馈仅在你允许统计且服务可用时启用。你也可以直接通过邮件提出问题。
邮件会附上当前文章链接。也可以复制信息后发送至 soniva.cde@gmail.com