播客 AI 语音,支持中文、英语和泰语

根据脚本制作中文、英语或泰语播客,一位或两位主持人均可,支持日更,用时间戳生成章节标记,按字符计费。

可以试试的想法

冷开场

ยินดีต้อนรับสู่ตอนที่ 118 คืนนี้เราจะคุยกันเรื่องที่คนถามเข้ามามากที่สุดในเดือนนี้

Nom Yenpaxa-tts-flash-v2在语音页面打开
新闻回顾

สรุปข่าวเช้านี้ สามเรื่องที่ควรรู้ก่อนออกจากบ้าน เริ่มจากเรื่องแรก

Nom Yenpaxa-tts-flash-v2在语音页面打开
听众来信

มีข้อความจากผู้ฟังส่งเข้ามา เขาถามว่าถ้าเริ่มต้นใหม่ตอนอายุสามสิบ จะสายเกินไปไหม

Nom Yenpaxa-tts-flash-v2在语音页面打开
结束语

วันนี้ขอจบไว้เท่านี้ ฝากกดติดตามรายการไว้ แล้วเจอกันใหม่ตอนหน้า

Nom Yenpaxa-tts-flash-v2在语音页面打开

每张卡片播放的都是 Nom Yen 按卡片脚本原文生成的真实音频。在语音页面打开后,可以让它说任何内容。

播客制作者如何使用 API

播客通常是一两个人在聊天,说话的人就是整个制作。主持人录了音,节目才能上线,节目的状态也取决于主持人当天的精力。日更意味着每天都要录,不管嗓子还撑不撑得住。文本转语音 API 让主持人成为脚本的一项属性,中文、英语或泰语都可以。一个音色 slug 朗读整期节目,第二个 slug 就是第二位主持人,两人在第 118 期和第 1 期听起来一模一样。重写的段落按其中的字符计费,这一期的其余部分保持原样。泰语句子里的英文名字和产品术语用同一个音色读出。随音频返回的句子时间区间可以变成章节标记和节目简介里的文字稿,返回的文件就是订阅源指向的那个文件。

  1. 按说话人拆分脚本

    每位主持人连续的台词是一段,每段是一个带该主持人音色 slug 的请求。超过单次请求上限的段落,再按自然段拆分。单人节目从头到尾用一个 slug。

  2. 生成并拼接

    各段以 MP3 文件返回,可在 ffmpeg 或节目现有的编辑软件中按顺序拼接,背景音乐和音效照旧放置。节目需要章节标记或文字稿时,在同样的请求中要求返回句子时间区间。

  3. 照常发布

    拼接好的文件作为这一期的 enclosure 上传到托管服务。日更节目每天早上从脚本出发,重复这三步。更正时只重新生成一段,这一期的其余部分保持原样。

按单集时长计价

按单集时长计价
节目字符请求费用
一期 20 分钟的节目5,1402$0.05
周更节目,每月20,5608$0.21
每天一期 20 分钟的节目,每月约 $1.54

按中文语音每分钟 257 个字符、每百万字符 $10、每月 30 期计算。背景音乐、片头和剪辑不在这个数字之内。重写的段落只按它自己的字符计费。

一份脚本,两位主持人

episode-118/
script.txt        5,140 字符(中文约 20 分钟)
01 主持人 A  oolong      冷开场、新闻回顾
02 主持人 B  taohuay     听众来信
03 主持人 A  oolong      结束语
→ POST /v1/tts   每段一个请求,使用该段的音色 slug
→ part-01.mp3  part-02.mp3  part-03.mp3
→ episode-118.mp3   (按顺序拼接,下面垫背景音乐)

一段就是脚本中某位说话人连续的台词。每段是一个带该主持人 slug 的请求,各段按顺序拼接。主持人 A 每期都用同一个 slug,节目因此始终听起来像同一档节目。

订阅源指向什么

feed.xml
<item>
  <title>第 118 期</title>
  <enclosure url="https://cdn.example.com/ep118.mp3" type="audio/mpeg"/>
  <itunes:duration>20:00</itunes:duration>
  <podcast:chapters url="https://cdn.example.com/ep118.chapters.json"/>
</item>

enclosure 是拼接好的 MP3。章节文件根据 API 随每段返回的句子时间区间写成,并按该段在整期中的起始位置平移。您现在使用的托管服务照常发布订阅源,其中什么都不用改。

面向开发者

发送每一段时带上对应主持人的音色 slug,节目需要章节标记或文字稿时,在同一次调用中要求返回句子时间区间。

完整 API 参考
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",
    "timestamps": "word"
  }' \
  -o response.json

jq -r .audio response.json | base64 -d > speech.mp3
jq .timing.spans response.json

试听音色

50 个正式音色中的几个,均通过 API 使用公开的音色 ID 生成。全部音色可在文本转语音页面试听。

  • Oolongv1 + v2在语音页面打开
  • Oliangv1 + v2深夜电台
  • Khanom Krokv1 + v2男声主音色
  • Nom Yenv1 + v2女声主音色

两位主持人,各用各的请求

Paxa TTS Flash v2 每个请求朗读一个音色。双人节目就是两个 slug 在脚本中交替出现,每位主持人每期听起来都一样。它按原文朗读长段对话,包括句末语气词,泰语句子里的英文名字也不会换成另一位说话人。

常见问题

一期节目里可以有两位主持人对话吗?

可以。一个请求对应一个音色。双人脚本交替使用两个 slug,每个发言轮次或每组连续轮次一个请求,各段按顺序拼接。每位主持人每期都用同一个 slug。

一期节目最长多少?

一个请求最多 5,000 个字符。一期 20 分钟的中文节目需要 2 个请求。节目本身没有时长限制,各套餐的速率限制见价格页。

能得到章节标记和文字稿吗?

可以。在同一个请求里要求返回句子级或词级时间区间,响应会带回音频以及每个区间的时间,费用按每字符费率乘以一个公布的倍数。把每段的时间区间按它在拼接文件中的起始位置平移,就得到章节和文字稿。

能读泰语里夹带的英文名字和术语吗?

可以。一个请求中的泰英混合文本用同一个音色朗读。泰语句子里的产品名、嘉宾名和英文短语,听起来出自同一位主持人。

这样制作的节目可以变现吗?

只用免费积分时,生成的音频仅供个人使用和评估。购买套餐或积分后,音频归您所有,可用于任何用途,包括有赞助或广告的节目,首次购买之前生成的各期节目也一并适用。

从免费积分开始

使用 Google、GitHub 或 Hugging Face 登录,即可用 100 一次性免费积分处理您自己的文本。