Massamanมัสมั่น
v1 + v2Deep and steady, for copy that has to land heavy.
- Male
- Thai, English, and Mandarin Chinese
- Leading man
- massamanpaxa-tts-flash-v2
ในเมืองที่ไม่เคยหลับ มีเรื่องราวหนึ่งรอให้ใครสักคนกล้าเล่ามันออกมา
Cast it for#
Massaman is the voice a trailer reaches for. It sits low, moves slowly, and leaves space around a line so the line has somewhere to land.
That makes it a specialist. The register is written for copy measured in seconds, and the roster keeps separate voices for the distances it does not cover.
- Trailers and teasers
- Film, series, and game copy where the read has to carry more than the words do.
- Title sequences
- Cold opens and stingers that run under ten seconds and set the register for everything after.
- High-stakes announcements
- Launch films and keynote lines where a neutral read would undersell the moment.
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 v2 default.
- Model
- Paxa TTS Flash v2
- 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": "massaman", "model": "paxa-tts-flash-v2" }' \ --output massaman.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: "massaman", model: "paxa-tts-flash-v2", }), }); if (!response.ok) throw new Error(`TTS failed: ${response.status}`); await writeFile("massaman.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": "massaman", "model": "paxa-tts-flash-v2", }, ) response.raise_for_status() with open("massaman.mp3", "wb") as f: f.write(response.content)
Questions#
Can it narrate long material?
It is built for lines measured in seconds. Across a chapter the low register starts to flatten, and Khanom Krok or Foi Thong carry that distance better.
How is it different from Panang?
Panang is theatrical in the stage sense, with articulation that carries to the back of a room. Massaman is cinematic, sitting lower and moving slower.
Can it read English and Mandarin copy?
Yes. Every Paxa TTS Flash v2 voice speaks English, Thai, and Mandarin, even in the same sentence. Latte covers a polished register that sits higher than this one.
Hear it read your own words. New accounts start with 100 free credits. Open the playground and this voice is already selected.
Start free