会说中文、英语和泰语的语音智能体

为语音智能体补上说话这一环,支持中文、英语或泰语。逐句流式输出 MP3 音频,用 Idempotency-Key 让重试变得安全,并用同一个音色读出泰英混合的回复。

可以试试的想法

确认预订

รับทราบค่ะ จองโต๊ะสำหรับ 4 ท่าน วันเสาร์เวลาหนึ่งทุ่ม ใช่ไหมคะ

Nom Yenpaxa-tts-flash-v2在语音页面打开
读出账户余额

ยอดคงเหลือในบัญชีของคุณคือ 8,432 บาทค่ะ ต้องการทำรายการอื่นเพิ่มไหมคะ

Nom Yenpaxa-tts-flash-v2在语音页面打开
泰英混说的快递单号

ออเดอร์ของคุณกำลังจัดส่งโดย Flash Express หมายเลขพัสดุ TH123456789 ค่ะ

Nom Yenpaxa-tts-flash-v2在语音页面打开
简短的应答

ได้เลยค่ะ เดี๋ยวช่วยตรวจสอบให้นะคะ รอสักครู่ค่ะ

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

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

语音智能体如何使用 API

来电者评判语音智能体,看的是自己说完一句话到听见回复之间的停顿。智能体是一条流水线:语音识别把来电者的话转写成文字,语言模型写出回复,文本转语音再把它说出来。业界公开的延迟预算一般给 TTS 环节 100 到 200 毫秒来输出首段音频,端到端目标在一秒以内。听和说这两环都可以跑在这个 API 上。Paxa STT Lite Realtime 通过一个 WebSocket 转写来电者的话,并标出每个轮次在哪里结束。Paxa TTS Flash v2 用中文、英语或泰语说出回复。实际可用的接入方式是流式。语言模型每写完一句,就带上 stream: true 发送出去,分块的 MP3 一到就转发给电话线路或网页客户端。在泰国,对话通常从聊天应用开始,LINE 的月活跃用户达 5,600 万,占人口的 78.2%。接电话的助手面对的也是同一批客户。企业采用仍处于早期。在一项覆盖 580 家泰国机构的调查中,17.8%已在使用 AI,73.3%计划采用。泰语语音智能体在当地是一个活跃领域,既有创业公司在销售,也有研究团队发布开源的泰语音频模型。难点仍在语言本身,包括声调、词间不留空格的书写方式,以及在一句话里混用泰语和英语的回复。

来源:DataReportal (2026)(在新标签页中打开)ETDA (2024)(在新标签页中打开)

  1. 逐句流式发送

    语言模型每写完一句,就带上 stream: true 发送。分块的 MP3 在合成结束前就开始到达,智能体边收边转发给来电者,下一句照此进行。

  2. 让重试路径安全

    给每个请求附上 Idempotency-Key。连接断开、智能体重试时,重放会返回原来的结果,不会再次扣费。同一个键的并发重复请求会被拒绝,不产生费用。

  3. 失败也不损失积分

    计费采用先扣费、失败自动退款的方式。合成失败时,即使发生在流式传输中途,积分也会退回,每个请求无论是否扣费,都能在日志中看到。

一通电话,从来电者这一侧看

0:00

问候语开始播放

来电者早就知道自己要什么。拨号之前就想好了,问候语是他们等着熬过去的那一段。

0:04

来电者开口打断

人与人之间这再正常不过,却正是多数自动语音线路出问题的时刻。菜单继续往下念,来电者提高嗓门重复一遍,这通电话已经开始变糟。

0:05

播报停下

可以被打断的助手会在句子中间停下来倾听。来电者不会把这叫作一项功能,它却是会应答的系统与只顾自说自话的系统之间的全部差别。

0:31

问题解决,或转给人工

要么来电者办成了事,要么一位客服接起电话,文字记录已经摆在面前。两种结果都让来电者离开队列,其中只有一种要占用客服的时间。

放弃率是这里要看的数字。无法打断的来电者会挂断再拨,于是在队列里出现两次,在满意度评分里出现一次。

一次回复的毫秒花在哪里

30-80 ms

网络

来电者、智能体以及它调用的服务之间的往返。

150-300 ms

轮次判断

判断来电者已经说完,此时回复还根本没有开始。

150-400 ms

LLM 首个 token

回复开始以文本形式到达,一次一句。

100-200 ms

TTS 首段音频

第一段可听的音频离开语音环节,开始播放给来电者。

以上是业界公开的实时语音流水线延迟预算(The Prompt Bench、Hamming、Telnyx)。这些数字不是对本 API 的测量。引用它们,是为了说明下面的接入方式为什么采用流式回复。

线路上的一次回复

stream
llm   → "สวัสดีค่ะ มีอะไรให้ช่วยไหมคะ"
agent → POST /v1/tts {"stream": true, "voice": "nomyen"}
tts   ← 第 1 块  (已经在播放给来电者)
tts   ← 第 2 块 … 最后一块
agent → 下一句,同样的流程

按回复数量计价

按回复数量计价
回复字符积分费用
10020,000200$0.20
10,0002,000,00020,000$20.00
1,000 条语音回复约 $2.00

按每条回复约 200 个字符计算,相当于一两句口语,统一费率为每百万字符 $10。流式请求和整段请求计费相同,扣费后失败的请求会退款。

面向开发者

curl、TypeScript 和 Python 示例都带 stream: true 发送一句话,并在每个 MP3 分块到达时立即处理,这正是智能体每一句都要跑一遍的循环。

完整 API 参考
curl -N -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", "stream": true}' \
  --output speech.mp3

试听音色

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

  • Cookiev1 + v2在语音页面打开
  • Nom Yenv1 + v2女声主音色
  • Khanom Krokv1 + v2男声主音色
  • Foi Thongv1 + v2旁白

为泰语对话而构建

语言模型写回复时很少加标点,还常在泰语句子中间夹带英语。Paxa TTS Flash v2 不依赖标点提示也能为连写的泰语断句,并在两种语言之间保持同一个声音。整段对话里,智能体听起来始终是同一位说话人。

常见问题

来电者打断智能体时会怎样?

它会在句子中间停下,回复的剩余部分被丢弃。这就是在实时 socket 上发送的一次 cancel。同一个连接继续承载下一轮对话,整通电话无需重新开始。

智能体能说泰英混合的回复吗?

可以。泰英混合文本在一个请求中由同一个音色朗读,泰国用户和助手说话本来就是这样,语言模型回复他们时也这样写。

流式请求在合成中途失败会怎样?

流会被截断,费用自动退还。计费采用先扣费的方式,每条失败路径都会退回积分。失败的请求连同错误码仍会显示在日志中。

同一个 API 能转写来电者的话吗?

可以。Paxa STT Lite Realtime 通过 /v1/stt/live 上的 WebSocket 收听,判断每个轮次在哪里结束,并为每个轮次发送一份完整的转写,按收到的音频每分钟 12.5 积分计费。循环的两环从同一个余额扣费,记录在同一份请求日志里。

我们已经在调用 OpenAI 的语音 API,需要重写吗?

不需要。POST /v1/audio/speech 是兼容 OpenAI 的端点,默认流式输出,现有的客户端代码改用新的 base URL 和 API 密钥即可。

从免费积分开始

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