A pronunciation API with audio, IPA, and stress in one response
/v1/pronunciation/:wordSend a word and get back a synthesized MP3 clip from Google WaveNet voices, plus IPA for US and UK and a syllable breakdown with stress marks. Accent, gender, and speed are query parameters. No API key.
curl "https://api.quickpronounce.site/v1/pronunciation/wonderful?accent=us&gender=female"What you get back
The phonetic data from the dictionary endpoint, plus a ready-to-play audio clip.
| Param | Values | Description |
|---|---|---|
accent | us (default) or uk | Which pronunciation and voice region to use. |
gender | male (default) or female | Voice gender for the synthesized clip. |
speed | slow, normal (default) or fast | Playback rate. slow is useful for learners hearing a word for the first time. |
{
"success": true,
"data": {
"word": "wonderful",
"meta": { "accent": "uk", "gender": "female", "speed": "normal" },
"phonetics": { "us": "/ˈwʌndɚfl/", "uk": "/ˈwʌndəfl/" },
"syllables": {
"uk": [
{ "text": "wuhn", "stress": 1 },
{ "text": "duhfl", "stress": 0 }
]
},
"audio": {
"content": "SUQzBAAAAAA...<base64 mp3>...",
"encoding": "base64",
"format": "mp3"
}
}
}How it works
Base64 MP3 inside the JSON, not a separate binary download.
One request, no binary handling
The clip comes back as base64 in the audio.content field. Drop it into a data:audio/mp3;base64 URI and it plays in an <audio> tag or an Audio() object.
Works from the browser
CORS is open, so a client-side app fetches and plays a clip with no backend of its own.
Consistent across devices
A given word plus accent plus gender plus speed always synthesizes the same way, so a cached clip stays correct. Unlike the browser speech engine, the voice doesn't change with the user's OS.
Meant to be cached
Store the MP3 on first fetch. Synthesis has a real cost and there's no long-term server cache yet, which is why the limits are deliberately tight.
Fetch, play, or save a clip
These snippets match the runnable copies in the API repo's examples folder.
# The response is JSON with base64 audio. Decode it to an MP3:
curl -s "https://api.quickpronounce.site/v1/pronunciation/wonderful?accent=uk&gender=female" \
| jq -r '.data.audio.content' | base64 --decode > wonderful.mp3Limits, and what not to build on it
A quick reality check before you wire it into anything load-bearing.
The pronunciation endpoint allows 10 requests per minute and 50 per day per IP. Those numbers are low on purpose. Each call runs a real WaveNet synthesis that costs money, and there's no persistent audio cache yet, so every cold request is a fresh synthesis. If you cache each clip the first time you fetch it, 50 new words a day goes a long way.
This is a public testing phase with no SLA. It runs on serverless infrastructure with cold starts, so the first request after a quiet period is slower. Don't build a feature that synthesizes the same words over and over on every page load, and don't treat it as a general text-to-speech service for sentences or paragraphs. It's a per-word pronunciation source. For a real production workload, get in touch about a dedicated key and higher limits.
Where it fits
Anywhere you need a spoken word without standing up a cloud TTS account.
Language-learning apps
Play a native-sounding clip next to the written word and its IPA. The slow speed option lets a learner hear each syllable before trying it at normal pace.
Pronunciation practice tools
Pair the audio with the syllable stress array so a learner sees which beat to hit while they hear it. This is the pattern behind the practice widgets on QuickPronounce itself.
Read-aloud and accessibility
For a single hard word in a block of text, fetch one clip on demand rather than running a full text-to-speech engine over the whole page.
Vocabulary and flashcard decks
Cache the MP3 per word when a card is first created, then play it offline from then on. One request per word, forever.
Prototypes and demos
You need spoken words in a hackathon build or a proof of concept and don't want to wire up a cloud TTS account and billing just to ship a demo.
Chatbots and voice agents
Give an assistant a way to demonstrate how a word sounds when a user asks, without leaving the conversation to a separate service.
Frequently Asked Questions
Straight answers on cost, limits, licensing, and how this compares to the alternatives.
Is the pronunciation audio free?
Why are the pronunciation limits lower than the dictionary limits?
What voices and accents are available?
Can I get WAV or OGG instead of MP3?
Is there a plain audio URL I can put in an <audio> tag?
Can I cache or store the MP3?
Does it work offline?
How is this different from the browser's SpeechSynthesis API?
Does it support SSML?
Can I use it commercially?
Keep Reading
Build on it today
The free tier is live and works for prototypes, side projects, and small production apps. Paid plans for higher request volumes are planned as usage grows. For early access or a dedicated API key now, get in touch. The full enriched dataset is also available as a one-time licensed download, separate from API access.
Dictionary content is derived in part from Wiktionary, used under CC BY-SA 4.0, with definitions and examples rewritten and enriched by QuickPronounce. Pronunciation data draws on CMUdict and WordNet.