What is a text to speech API?
A text to speech (TTS) API is an HTTP endpoint that accepts text and returns an audio file — typically MP3 — of that text spoken in a chosen voice. Your code sends a POST request with the text and a voice identifier; the service synthesizes the speech and streams the audio back. Because everything happens server-side, it works from any language or framework that can make an HTTP call, with no SDK required.
Is there a free text to speech API?
Yes. LyreWave provides a REST text to speech API that starts free: every account begins with 50,000 credits and no credit card is required. Credits are consumed per generation based on text length and the model used, so a free balance covers a substantial amount of testing and light production use. API access is granted on request — you sign in, describe what you're building, and your account is enabled.
How does authentication work?
Authenticate with a standard bearer token. Create an API key from the developer page, then send it on every request in the Authorization header as `Authorization: Bearer YOUR_API_KEY`. Keys are shown once at creation and stored only as a hash, so keep yours somewhere safe; you can revoke and reissue keys at any time.
Which endpoints are available?
Five endpoints cover the core voice workflow. POST /api/v1/text-to-speech/{voice_id} converts text to MP3 speech. GET /api/v1/voices lists the available voices with their IDs. POST /api/v1/sound-effects generates a sound effect from a text description. POST /api/v1/music creates original music from a prompt. POST /api/v1/speech-to-text transcribes uploaded audio and returns text with word-level timestamps and speaker labels.
Which model should I use: express, balanced, or premium?
LyreWave exposes three model tiers by name. Express is the fastest and cheapest — best for real-time or high-volume use where latency matters most. Balanced trades a little speed for noticeably more natural delivery and is a good default for most apps. Premium is the highest quality, intended for narration, audiobooks, and anything a listener will hear at length. Pass the tier as the model_id field; premium is the default if you omit it.
What languages and voices does the API support?
Text to speech works across 32+ languages, with dedicated documentation pages for English, Chinese, Spanish, French, German, Japanese, Korean, Portuguese, Hindi, Arabic, Italian, and Russian. Call GET /api/v1/voices to retrieve the voice catalog; each entry includes a voice_id, a short description, accent and gender labels, and a preview URL. The same voice can speak multiple languages.
A complete request you can copy
Send a POST to https://lyrewave.com/api/v1/text-to-speech/VOICE_ID with the header Authorization: Bearer YOUR_API_KEY, a Content-Type of application/json, and a JSON body of {"text":"Hello world","model_id":"premium"}. Save the response body to speech.mp3 — it is the finished audio, ready to play or serve. Optional voice_settings let you tune stability, similarity_boost, style, and speed per request.
What does the API return, and how are errors reported?
Successful speech requests return raw audio/mpeg. Speech to text returns JSON with the transcript text, a words array carrying start and end times and speaker IDs, and the detected language. Errors come back as JSON with a human-readable error message and a short machine-readable code — for example unauthorized for a missing key, bad_request for invalid input, or a 429 when a rate limit is hit — so clients can branch on the code rather than parsing prose.
Can I use the audio commercially?
Yes. Audio you generate through the API can be used in apps, videos, IVR and phone systems, e-learning, podcasts, and other commercial projects. Voice cloning has the usual consent requirement: only clone voices you own or have explicit permission to use.
How do I get started?
Open the developer page, sign in, and request API access with a sentence about your use case. Once enabled, create a key, call GET /api/v1/voices to pick a voice, then make your first text to speech request. The whole loop — from request to your first MP3 — typically takes a few minutes.