induwara.lk
All endpoints
POST/api/v1/voice key required Featured

Free Text to Speech API

A free text-to-speech (TTS) REST API that turns text into natural AI speech and returns an MP3 or WAV. Five voices, 28 languages, and — unlike most free TTS APIs — expressive voice effectsyou embed right in the text: whisper, laugh, pause, slow down and more. It runs on our own servers, so it's a genuinely free ElevenLabs API alternative with no per-call cost. Send a POST with a JSON body.

Quick example

curl -X POST https://induwara.lk/api/v1/voice \
  -H "Authorization: Bearer ilk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello! <whisper>this part is whispered</whisper> [laugh]","voice":"eve","language":"en","codec":"mp3"}' \
  --output voice.mp3

JavaScript (SDK):

import { InduwaraLK } from "https://induwara.lk/sdk/induwaralk.js";
const api = new InduwaraLK("ilk_live_…");
const blob = await api.voice("Hello [laugh]", { voice: "leo", codec: "mp3" });

Returns binary audio (Content-Type: audio/mpeg or audio/wav). On error, returns JSON { ok:false, error }.

Parameters (JSON body)

FieldDefaultDescription
textrequiredThe text to speak (1–6,000 chars). May embed effects (see below).
voiceeveVoice id — eve | ara | leo | rex | sal.
languageenLanguage code (28 supported). Use auto to detect.
codecmp3Output format — mp3 | wav.
sample_rateHz — one of 8000, 16000, 22050, 24000, 44100, 48000.
bit_ratebps (mp3 only) — one of 32000, 64000, 96000, 128000, 192000.
text_normalizationtrueExpand numbers, dates and abbreviations before speaking.

Voices (5)

idNameGenderTone
eveEveFemaleEnergetic, upbeat
araAraFemaleWarm, friendly
leoLeoMaleAuthoritative, strong
rexRexMaleConfident, clear
salSalMaleSmooth, balanced

Voice effects

Effects are written directly into the text.

Inline — insert a tag for a one-off sound

"Let me think [pause] okay, here goes [laugh]"
[pause][long-pause][breath][inhale][exhale][sigh][laugh][chuckle][giggle][cry][tongue-click][lip-smack][hum-tune][tsk]

Wrapping — wrap text to change how it's spoken

"This is normal. <whisper>this is a secret</whisper> <slow>and this is slow</slow>"
<whisper>…</whisper><soft>…</soft><loud>…</loud><slow>…</slow><fast>…</fast><higher-pitch>…</higher-pitch><lower-pitch>…</lower-pitch><build-intensity>…</build-intensity><decrease-intensity>…</decrease-intensity>

Languages (29)

auto Auto-detecten Englishar-EG Arabic (Egypt)ar-SA Arabic (Saudi Arabia)ar-AE Arabic (UAE)bn Bengalica Catalanzh Chinese (Simplified)da Danishnl Dutchfi Finnishfr Frenchde Germanhi Hindihu Hungarianid Indonesianit Italianja Japaneseko Koreanpl Polishpt-BR Portuguese (Brazil)pt-PT Portuguese (Portugal)ru Russianes-MX Spanish (Mexico)es-ES Spanish (Spain)sv Swedishth Thaitr Turkishvi Vietnamese

Output formats

  • mp3MP3 (recommended). Small, plays everywhere.
  • wavWAV (lossless). Uncompressed, largest file.

Sample rates (Hz): 8000, 16000, 22050, 24000, 44100, 48000. Bit rates (mp3, bps): 32000, 64000, 96000, 128000, 192000.

Limits

Up to 6,000 characters per request. Requires a free API key (100 requests/day on the free tier).

Frequently asked questions

Is there a completely free text-to-speech API?
Yes. This TTS API is free — it runs on our own servers, so there's no per-call cost and no 'free-tier trap'. You can try it without a key at a low daily limit; a free API key raises the limit to 100 voice requests/day. POST text, get MP3 or WAV back.
Does this text-to-speech API support voice effects?
Yes — and most free TTS APIs don't. You embed effects directly in the text: inline tags like [pause], [laugh], [sigh], [breath], and wrapping tags like <whisper>…</whisper>, <slow>…</slow>, <loud>…</loud> to change how a passage is spoken.
Is this a free ElevenLabs API alternative?
It's a free, no-cost option for natural AI speech with expressive effects, ideal for voiceovers, prototypes and apps. It doesn't do voice cloning like ElevenLabs' paid plans, but for everyday text-to-speech it's a genuine free alternative.
What audio formats and quality does the API return?
MP3 (default) or WAV. You can set the sample rate (8000–48000 Hz) and, for MP3, the bit rate (32–192 kbps). The response is raw audio bytes you can save straight to a file.
How many languages does the free TTS API support?
28 languages including English, Hindi, Arabic, Chinese, Japanese, French, German, Spanish and more — or set language=auto to detect it from the text.
Do I need to sign up to use the text-to-speech API?
You need a free API key for the voice endpoint (it's a heavier operation). The key takes a moment to create with a free account — no card, no cost.