Rotiโรตี
v1 onlyThe Southern register, quick the way the South speaks it.
- Male
- Southern Thai
- rotipaxa-tts-flash-v1
หวัดดีครับพี่น้อง วันนี้ของหรอย ๆ พร้อมแล้ว แวะมากินกันได้เลยนิครับ
Cast it for#
Roti reads at the brisk clip of the peninsular South. Words arrive close together and the phrasing is direct, which is the first thing a listener from anywhere else notices.
It is the roster's Southern voice. For audiences from Songkhla to Phuket, the register is the difference between a message addressed to them and one merely broadcast at them.
- Southern media
- Radio, food and travel video, and local reporting for a Southern audience.
- Regional announcements
- Public messaging in the South, including weather, ferry, and market notices.
- Hospitality and trade
- Restaurant, market, and tourism content where local voice carries the welcome.
Reach for instead
In production#
Call it from the API#
The voice field takes the id above. Every other value in this request is a Paxa TTS Flash default.
- Model
- Paxa TTS Flash
- Per request
- 5,000 characters
- Rate
- 10 credits per 1,000 characters
- Free credits
- 100 credits, about 16 minutes
curl -X POST https://api.paxalabs.com/v1/tts \ -H "Authorization: Bearer $PAXA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "หวัดดีครับพี่น้อง วันนี้ของหรอย ๆ พร้อมแล้ว แวะมากินกันได้เลยนิครับ", "voice": "roti", "model": "paxa-tts-flash-v1" }' \ --output roti.mp3
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: "หวัดดีครับพี่น้อง วันนี้ของหรอย ๆ พร้อมแล้ว แวะมากินกันได้เลยนิครับ", voice: "roti", model: "paxa-tts-flash-v1", }), }); if (!response.ok) throw new Error(`TTS failed: ${response.status}`); await writeFile("roti.mp3", Buffer.from(await response.arrayBuffer()));
import os import requests response = requests.post( "https://api.paxalabs.com/v1/tts", headers={"Authorization": f"Bearer {os.environ['PAXA_API_KEY']}"}, json={ "text": "หวัดดีครับพี่น้อง วันนี้ของหรอย ๆ พร้อมแล้ว แวะมากินกันได้เลยนิครับ", "voice": "roti", "model": "paxa-tts-flash-v1", }, ) response.raise_for_status() with open("roti.mp3", "wb") as f: f.write(response.content)
Questions#
What marks the register in the clip?
The greeting หวัดดี and the closing นิ, with the quick pace running between them. The Central Thai cast uses neither word.
Is there a female Southern voice?
The roster carries one Southern voice today, and the register page states that count plainly.
Is the pace adjustable?
The speed field slows any voice, though the quickness here is part of the register. Slowing it far enough to sound Central removes the reason to cast it.
Hear it read your own words. New accounts start with 100 free credits. Open the playground and this voice is already selected.
Start free