Espressoเอสเพรสโซ
v1 + v2Deep and slow, for stories told in the dark.
- Male
- Thai, English, and Mandarin Chinese
- Long-form reader
- espressopaxa-tts-flash-v2
Some stories are never told. They are kept, and passed from hand to hand, until someone finally dares to open the book.
Cast it for#
Espresso reads English from the bottom of the male range. The pace is slow, the consonants land, and a sentence is allowed to end before the next one begins.
The weight sets its range. It suits fiction, history, and anything with secrets in it, and it is too heavy for a product walkthrough, where a viewer wants a person on screen.
- Audiobooks
- Fiction and narrative non-fiction in English, chapter after chapter.
- Documentaries
- History, true crime, and nature narration that needs authority.
- Trailers
- English teasers and title sequences read at the bottom of the range.
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 11 minutes
curl -X POST https://api.paxalabs.com/v1/tts \ -H "Authorization: Bearer $PAXA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Some stories are never told. They are kept, and passed from hand to hand, until someone finally dares to open the book.", "voice": "espresso", "model": "paxa-tts-flash-v2" }' \ --output espresso.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: "Some stories are never told. They are kept, and passed from hand to hand, until someone finally dares to open the book.", voice: "espresso", model: "paxa-tts-flash-v2", }), }); if (!response.ok) throw new Error(`TTS failed: ${response.status}`); await writeFile("espresso.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": "Some stories are never told. They are kept, and passed from hand to hand, until someone finally dares to open the book.", "voice": "espresso", "model": "paxa-tts-flash-v2", }, ) response.raise_for_status() with open("espresso.mp3", "wb") as f: f.write(response.content)
Questions#
How is it different from Latte?
Latte is polished and sits higher, the read a brand film is scored around. Espresso is lower and slower, a reader for long stories.
Can it read Thai and Mandarin?
Yes. Every Paxa TTS Flash v2 voice speaks English, Thai, and Mandarin, even in the same sentence.
Does it hold up over a whole book?
The register is built for length. The pace stays even across chapters, and the low level does not tire a listener the way a bright read does.
Hear it read your own words. New accounts start with 100 free credits. Open the playground and this voice is already selected.
Start free