Text to Speech API for Accessibility and Audio Content Versions
Serve audio versions of your written content to users with visual impairments, reading disabilities, or situational constraints. One endpoint, 32 languages.
Why it matters.
Screen readers mispronounce technical terms and proper nouns
OS screen readers (NVDA, VoiceOver) apply generic phonetic rules. Audexum narrates your exact text as a trained TTS voice: proper nouns, product names, and abbreviations render more naturally. Pre-generated audio also bypasses screen reader latency entirely.
WCAG 1.2.1 asks for audio alternatives to text content
Pre-generated audio files are a straightforward path to meeting WCAG Success Criterion 1.2.1 (Audio-only and Video-only). Generate an MP3 per article, link it with an <audio> element, and the criterion is satisfied for that content unit.
On-demand generation costs more than pre-generation at scale
For static content (blog posts, help docs, legal pages), render audio at publish time and store the file. You pay the character cost once. Serving a cached MP3 on repeat visits costs zero additional API calls.
Multilingual audiences need audio in their own language
If you publish content in 5 languages, a single API integration generates audio for all 5. No separate TTS provider per language, no per-language pricing uplift.
First audio in 60 seconds.
No SDK. One POST request, binary audio in the response body.
"""
Accessibility audio generator: called from your CMS publish webhook.
Stores one MP3 per article in /audio/<slug>.mp3 (or S3 / R2).
"""
import os, requests
API = "https://audexum.com/api/synthesize"
KEY = os.environ["AUDEXUM_API_KEY"]
def publish_audio_version(article_slug: str, body_text: str, lang: str = "en") -> str:
"""
Render body_text as MP3, save to disk, return file path.
Call this from your CMS publish hook.
"""
r = requests.post(
API,
headers={"Authorization": f"Bearer {KEY}"},
json={
"text": body_text,
"voice": "F1", # warm, readable narrator voice
"lang": lang,
"format": "mp3",
},
timeout=120,
)
r.raise_for_status()
dest = f"/var/www/audio/{article_slug}.mp3"
with open(dest, "wb") as f:
f.write(r.content)
return dest # link in your <audio src="..."> elementFull parameter reference: audexum.com/docs. Formats: wav, mp3, ogg. Voices: F1 to F5, M1 to M5 (43 voices total). Languages: 33.
No per-use-case surcharge.
Every plan covers every use case at the same credit rate. Pack credits never expire, and dictation uses the same balance.
Full pricing details- Free
- €0
- 2,000 + 250/day
- Creator
- €12/mo
- 480,000 / mo
- Pro
- €29/mo
- 1,200,000 / mo
- Scale
- €49/mo
- 4,000,000 / mo
- Business
- €149/mo
- 15,000,000 / mo
- Credit packs
- €7
- 250,000, never expire
Questions, answered.
Does Audexum support SSML for pronunciation control?
Can I pre-generate audio for an entire documentation site?
What voice is recommended for accessibility narration?
Can I serve audio on-demand rather than pre-generating?
Tools and guides for this use case.
Same API, every use case.
One endpoint handles Discord bots, podcast narration, e-learning courses, accessibility audio, and newsletter editions.