Spanish TTS API: batch narration with Audra Essential — Audra
Spanish is the highest-leverage localization for most English products — and the easiest TTS locale to get subtly wrong. Three es Essential presets (lucia, mateo, noel) cover course, podcast, and IVR narration at the same $25/1M characters as English.
Spanish voice slugs on Essential
- lucia — neutral Castilian female, default for course narration
- mateo — male read for podcast and documentary pacing
- noel — alternate register for IVR and short prompts
- Three slugs is thin — A/B all three on /compare before a large batch; Plus adds presets if none fit
Spanish-specific notes
- These are es (Castilian) presets: vosotros forms and European vocabulary read naturally; Latin-American scripts should still test well
- Accents are load-bearing — never strip diacritics; normalized ASCII input causes stress errors
- ¿ and ¡ control intonation contours; keep them in input text
- Numbers with decimals: es voices read the European convention by default — verify pricing copy in samples
Example request in Spanish (es-ES)
curl
curl https://audratalks.com/v2/speech \
-H "Authorization: Bearer sk-live-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"audra-essential","text":"Bienvenidos a la lecci\u00f3n tres: en este cap\u00edtulo veremos c\u00f3mo funciona la cola de renderizado.","voice":"lucia","language":"es-ES","format":"mp3"}' \
--output out.mp3
Python
import requests
r = requests.post(
"https://audratalks.com/v2/speech",
headers={"Authorization": "Bearer sk-live-YOUR_KEY"},
json={
"model": "audra-essential",
"text": 'Bienvenidos a la lección tres: en este capítulo veremos cómo funciona la cola de renderizado.',
"voice": "lucia",
"language": "es-ES",
"format": "mp3",
},
timeout=120,
)
r.raise_for_status()
open("out.mp3", "wb").write(r.content)
JavaScript
import { writeFile } from "node:fs/promises";
const res = await fetch("https://audratalks.com/v2/speech", {
method: "POST",
headers: {
Authorization: "Bearer sk-live-YOUR_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "audra-essential",
text: 'Bienvenidos a la lección tres: en este capítulo veremos cómo funciona la cola de renderizado.',
voice: "lucia",
language: "es-ES",
format: "mp3",
}),
});
if (!res.ok) throw new Error(await res.text());
await writeFile("out.mp3", Buffer.from(await res.arrayBuffer()));
Test lucia on a real lesson script — free API key with 25k characters at /dashboard.
FAQ
Is this Latin-American or Castilian Spanish?
The Essential es presets read Castilian (es-ES) by default. Preview on /voices with your own script to judge fit for LATAM audiences.
What if none of the three es slugs fit?
A/B on /compare first; Plus engine presets expand the multilingual set — see /pricing#engines.
Same price as English voices?
Yes — $25/1M characters on Essential before engine multipliers, like all ten supported languages.
Catalog: /voices. Comparisons and pricing models: /compare and /calc.