可以试试的想法
ฝนตกตั้งแต่เช้า ถนนหน้าบ้านเงียบกว่าทุกวัน และเธอรู้ว่าเขาจะไม่มา
ผมรออยู่ตรงนี้มาสามปีแล้ว คุณจะให้ผมรออีกนานแค่ไหน
เธอไม่เคยถามฉันสักคำว่าฉันอยากได้อะไร แล้วตอนนี้จะมาถามทำไม
ประตูเปิดออกช้า ๆ และคนที่ยืนอยู่ตรงนั้น คือคนที่ทุกคนเชื่อว่าตายไปแล้ว
每张卡片播放的都是 Nom Yen 按卡片脚本原文生成的真实音频。在语音页面打开后,可以让它说任何内容。
一集如何变成音频
周一写完一章,周四发布,这就是网络连载的节奏。在泰国,Tunwalai、readAwrite 和 Fictionlog 都按集售卖连载小说。读者催有声版已经催了一年。您早就想过要做,卡住的是配音阵容要提前预约,而您的更新节奏等不起任何人。同时,作品本身大多是对白,两三个角色在页面上你来我往。一个朗读者包揽全部时,最难听清的正是这种内容。从音色库选角把两个问题一起解决了。每个角色固定一个音色 ID,一集就是一个批处理任务,写完一章的当周就能跑完。过去把更新留到晚上看的读者,现在可以在上班路上听。
来源:Tunwalai(在新标签页中打开)readAwrite(在新标签页中打开)Fictionlog(在新标签页中打开)
按说话人拆分章节
旁白和每个角色的对白分成独立的片段。超过模型上限的片段,再在句子边界处拆开。
批量生成各片段
每个片段一个请求,带上该角色的音色 ID。片段以 MP3 返回,按顺序拼成整集音轨。不超过 5,000 个字符的片段用一个请求就能完成。
先发布,再修补单句
修正后的台词单独重新生成,替换进音轨。这一集的其余部分不受影响,这一季的其余各集也一样。
连载按集计价
| 规模 | 字符 | 积分 | 费用 |
|---|---|---|---|
| 一集 12 分钟 | 3,084 | 30.84 | $0.03 |
| 一季 20 集 | 61,680 | 616.8 | $0.62 |
| 一部 120 集的小说,全文配音 | 约 $3.70 | ||
按每分钟中文语音 257 个字符、统一费率计算。选角决定哪个音色读哪一句,每一句的价格不变。
连载的一周
写完一章
作者写完这一集,并标出每句话由谁说。流程需要的结构只有说话人标注。
套用角色表
每个说话人对应系列文件里保存的一个音色 ID。旁白固定用一个音色,从不借用角色的音色。
生成整集
每段话一个请求,作为批处理运行。十二分钟的一集要几百个请求,无人值守就能跑完。
修改一句
改过的台词用同一个音色单独重新生成,只按改动的字符计费。
关键在于日程:需要预约的配音阵容跟不上每周更新,音色 ID 跟得上。
保存角色表的系列文件
{
"title": "เงาในสายฝน",
"narrator": "foithong",
"cast": {
"ณิชา": "nomyen",
"ธาวิน": "massaman",
"คุณยาย": "miangkham",
"เด็กชาย": "lukchup"
},
"format": "mp3",
"model": "paxa-tts-flash-v2"
}五个音色 ID 和一个模型,与手稿放在一起提交。这里的内容都不会过期。第 120 集的选角方式与第 1 集相同。
面向开发者
Python 和 TypeScript 快速入门示例发送一个片段,并写出批处理收集的 MP3。选项请求展示一部连载在角色表文件中固定的 voice、model 和 format 字段。
完整 API 参考import os import requests response = requests.post( "https://api.paxalabs.com/v1/tts", headers={"Authorization": f"Bearer {os.environ['PAXA_API_KEY']}"}, json={"text": "สวัสดีครับ ยินดีต้อนรับสู่ Paxa Labs", "voice": "khanomkrok", "model": "paxa-tts-flash-v2"}, ) response.raise_for_status() with open("speech.mp3", "wb") as f: f.write(response.content)
import { writeFile } from "node:fs/promises"; const response = await fetch("https://api.paxalabs.com/v1/tts", { method: "POST", headers: { Authorization: `Bearer ${process.env.PAXA_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ text: "สวัสดีครับ ยินดีต้อนรับสู่ Paxa Labs", voice: "khanomkrok", model: "paxa-tts-flash-v2", }), }); if (!response.ok) throw new Error(`TTS failed: ${response.status}`); await writeFile("speech.mp3", Buffer.from(await response.arrayBuffer()));
curl -X POST https://api.paxalabs.com/v1/tts \ -H "Authorization: Bearer $PAXA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "สวัสดีครับ ยินดีต้อนรับสู่ Paxa Labs", "voice": "khanomkrok", "model": "paxa-tts-flash-v2", "format": "mp3", "stream": false }' \ --output speech.mp3
试听音色
50 个正式音色中的几个,均通过 API 使用公开的音色 ID 生成。全部音色可在文本转语音页面试听。
- Espressov1 + v2在语音页面打开
- Tao Huayv1 + v2剧情女主
- Oolongv1 + v2有声小说
- Khanom Krokv1 + v2男声主音色
对白是泰语小说的难点
泰语散文的词与词之间不留空格,小说对白要靠语气词和人称代词来表明谁在说话、双方是什么关系。Paxa TTS Flash v2 像识字的读者一样从拼写读出声调,并在整部连载中保持同一种演绎。角色表因此从第一集到最后一集都能让人认出来。
常见问题
一部小说能用多少个音色?
音色库的 50 个音色都能用,故事需要多少就用多少。角色表就是说话人名字到音色 ID 的映射。第 40 集加一个角色,就是在这个文件里加一行。
角色整季都保持同一个声音吗?
是的。音色是固定的 ID,同一个 ID 在最后一集和第一集返回的是同一个声音。多次运行之间不会有任何漂移。
一集要花多少钱?
12 分钟的成品音频约 $0.03,按章节的字符数计费。修补的台词也按同样方式计费,只算改动的字符。
能读泰英混合的章节吗?
可以,而且用同一个音色。泰语句子里的英文名字或短语,仍由同一个说话人的语气读出。
可以发布并出售这些音频吗?
用免费积分生成的内容仅供个人使用和评估。购买套餐或积分后,生成的内容归您所有,可用于任何用途,包括商业出版,购买前生成的内容也包括在内。故事本身的版权仍需您自行处理。
从免费积分开始
使用 Google、GitHub 或 Hugging Face 登录,即可用 100 一次性免费积分处理您自己的文本。
相关阅读
- 2026 年泰语配音多少钱:录音棚、自由配音员与 AI
- 泰语 AI 配音怎么选:按用途挑选全部 34 个音色
- 如何为泰语 AI 配音撰写脚本
- 泰语没有句号:流式语音合成该在哪里断句
- 用十个句子评测一个泰语 AI 音色
- Paxa TTS Flash 开始说中文,并新增六个音色
- Paxa TTS Flash 新增两个能读情感标签的音色
- Paxa TTS Flash 在 104 毫秒内开始发声
- 文本转语音(TTS)是什么?AI 配音的原理与用途
- 如何为 TikTok、Reels 和 Shorts 添加 AI 配音
- 泰语文本转语音怎么选:应用、视频和电话线路
- YouTube AI 配音工具怎么选:解说旁白、无人出镜频道和 Shorts
- 免费文本转语音怎么选:个人项目与付费前试听音色
- 有声书和长篇朗读适合用哪款文本转语音工具
- 如何制作 AI 配音:从写稿到下载
- 用 AI 朗读小说:旁白音色与角色配音
- AI 音色设计怎么写描述:如何描述一个声音,附示例
- 音色设计与声音克隆:两种打造专属 AI 音色的方式
- 适合泰语音色、已保存音色和语音智能体的 AI 音色设计工具
- Paxa TTS Flash v2 文本转语音模型正式上线
- AI 音色设计现已上线
- Paxa TTS Flash v2 文本转语音新增 Temperature 与停顿标签