Italian and Dutch TTS on Audra Essential — Audra
Italian and Dutch narration used to mean two vendors and two invoices. On Audra both are first-class Essential languages behind the same OpenAI-compatible endpoint: six it-IT slugs, three nl-NL slugs, one /v2/speech call shape.
Italian and Dutch voice slugs
- Italian: sara-it (neutral explainer), giulia (bright course narration), marco and dante-it (male reads)
- Dutch: femke (neutral), sanne (energetic), daan (documentary pace) — three nl presets on Essential
- Set language: it-IT or nl-NL only when the slug does not already imply the locale
- Filter /compare by language to A/B the whole set before committing
Italian and Dutch specifics
- Italian: watch vowel-final punctuation — TTS can over-lengthen sentence-final vowels; add a period, not an ellipsis
- Dutch: compound words and loanword stress (e.g. 'software') vary per voice; test brand names first
- Both locales: keep one language per request; never mix IT and NL strings in a single POST
- Dutch has fewer slugs — if none fit, preview Plus presets on /compare before switching engines
Example request in Italian (it-IT)
curl
curl https://audratalks.com/v2/speech \
-H "Authorization: Bearer sk-live-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"audra-essential","text":"Benvenuti alla lezione tre: in questo capitolo vedremo come funzionano le code di rendering.","voice":"sara-it","language":"it-IT","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": 'Benvenuti alla lezione tre: in questo capitolo vedremo come funzionano le code di rendering.',
"voice": "sara-it",
"language": "it-IT",
"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: 'Benvenuti alla lezione tre: in questo capitolo vedremo come funzionano le code di rendering.',
voice: "sara-it",
language: "it-IT",
format: "mp3",
}),
});
if (!res.ok) throw new Error(await res.text());
await writeFile("out.mp3", Buffer.from(await res.arrayBuffer()));
Test sara-it on a real lesson script — free API key with 25k characters at /dashboard.
FAQ
Are Italian and Dutch both on the Essential engine?
Yes — it-IT (six voices) and nl-NL (three voices) are included in Essential at the same $25/1M rate.
My Dutch script reads some English product names oddly — fixable?
Often yes: try a different nl slug first, then an account lexicon entry on /docs for stubborn brand names.
Can one pipeline serve both languages?
Yes, same endpoint and auth — just branch voice and language per request and keep one locale per call.
Catalog and A/B at /compare; engine options for thin locales at /pricing#engines.