
Khao Soiข้าวซอย
The Northern register, at the pace the North speaks it.
Female · Northern Thai · 0:04khaosoi
สวัสดีเจ้า วันนี้อากาศหนาวก่อ อย่าลืมนุ่งเสื้อหนา ๆ กันเน่อเจ้า
The clip closes on เจ้า, the particle that marks the register. It also opens on สวัสดีเจ้า, which places the accent in the first two words.
Khao Soi reads with the softer, slower cadence heard in the old Lanna region. The delivery lands gently, and the politeness of the register comes through in the endings, where another voice would use volume.
It is the roster's Northern voice. For an audience in Chiang Mai or Lamphun, a Central Thai read carries a distance this one closes.
Cast it for#
- Northern media
- Radio, tourism video, and local reporting made for a Northern audience.
- Regional announcements
- Public and seasonal messaging in the North, including weather and travel.
- Hospitality and community
- Guesthouse, market, and cultural content where local voice is part of the welcome.
Reach for instead
In production#
- Announcements
Northern public and seasonal messaging.
- Creators
Tourism and community video.
- Call centers
Hotline prompts for Northern callers.
Call it from the API#
The voice field takes the id above. Every other value in this request is a Paxa TTS Flash default.
curl -X POST https://api.paxalabs.com/v1/tts \
-H "Authorization: Bearer $PAXA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "สวัสดีเจ้า วันนี้อากาศหนาวก่อ อย่าลืมนุ่งเสื้อหนา ๆ กันเน่อเจ้า",
"voice": "khaosoi",
"model": "paxa-tts-flash-v1"
}' \
--output khaosoi.mp3import { 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: "khaosoi",
model: "paxa-tts-flash-v1",
}),
});
if (!response.ok) throw new Error(`TTS failed: ${response.status}`);
await writeFile("khaosoi.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": "khaosoi", "model": "paxa-tts-flash-v1"},
)
response.raise_for_status()
with open("khaosoi.mp3", "wb") as f:
f.write(response.content)- Model
- Paxa TTS Flash
- Per request
- 5,000 characters
- Rate
- 15 credits per 1,000 characters
- Free credits
- 100 credits, about 9 minutes
Questions#
- Which particle marks the register?
- เจ้า, which opens and closes the sample line. It is the clearest audible marker of the Northern register in the clip.
- Is there a male Northern voice?
- The roster carries one Northern voice today, and the register page states that count plainly.
- How does it compare to the Central voices?
- The accents page plays one shared Central Thai sentence read by every regional voice beside a Central control. That board is the direct comparison.
Hear it read your own words.
New accounts start with 100 free credits. Open the playground and this voice is already selected.