Kenpath Labs
Get started

API overview

One endpoint, every voice.

Svara TTS Turbo speaks 80+ languages in hundreds of voices, and returns first audio in about 80 ms.

https://api.kenpathlabs.com

Quickstart

Bearer auth, JSON in, audio out.

curl
curl https://api.kenpathlabs.com/v1/audio/speech \
  -H "Authorization: Bearer $SVARA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "नमस्ते! Welcome to Svara.",
    "voice": "sv_enhdbrj5",
    "lang": "hin",
    "response_format": "mp3"
  }' --output hello.mp3
Python
from svara import Svara

client = Svara()  # reads SVARA_API_KEY

audio = client.speech.create(
    input="नमस्ते! Welcome to Svara.",
    voice="sv_enhdbrj5",
    response_format="mp3",
)
open("hello.mp3", "wb").write(audio)

What you can do

Speech synthesis

One POST returns audio. OpenAI's speech schema, so most clients work unchanged.

  • Raw graphemes in any supported language — no phoneme prep.
  • Code-switching mid-sentence, in one voice.

Streaming

Audio starts arriving while the rest is still being generated.

  • About 80 ms to first audio.
  • Tune the prebuffer and chunk size for your transport.

Input streaming

Feed an LLM's token stream straight in and the voice starts a few words behind the writer.

  • No sentence buffering.
  • Built for voice agents.

Voice cloning

Send a few seconds of reference audio and get a voice that speaks every language.

  • Encode a reference once, reuse the codes.
  • Consent-gated by design.

Voice library

Hundreds of voices across ten accent families, searchable and filterable.

  • Preview any voice before you ship it.
  • Per-voice settings you can read and edit.

Telephony formats

8 kHz G.711 straight out of the endpoint, so nothing has to be resampled.

  • µ-law and A-law for SIP and media streams.
  • 24 kHz PCM for everything else.

Word timestamps

Character-level start and end times alongside the audio.

  • Captions, karaoke highlighting, and lip-sync.
  • Available on the streaming path too.

Text normalization

Numbers, dates, amounts, and symbols read the way a person reads them.

  • Per-language, enabled with one flag.
  • Pronunciation dictionaries for names and brands.

Built for agents

Every TTS streams its output. This one also streams its input, so speech starts a few words into the reply instead of a sentence behind it.

Python · async
from svara import AsyncSvara

client = AsyncSvara()

# Feed the LLM's tokens straight in.
# The voice starts a few words behind.
async for chunk in client.speech.stream_input(
    llm_token_stream,
    voice="sv_enhdbrj5",
):
    play(chunk)

Endpoints

Request and response shapes live in the docs.

Speech

The OpenAI-compatible surface. Point an existing client at the base URL and it works.

  • POST/v1/audio/speechSynthesize speech. Set stream to start audio early.
  • POST/v1/audio/encodeTurn a reference clip into reusable codes for cloning.
  • POST/v1/audio/decodeDecode codes back to audio.

Speech (ElevenLabs-compatible)

The same model behind ElevenLabs' request shape, for stacks already built against it.

  • POST/v1/text-to-speech/{voice_id}Synthesize with a voice in the path.
  • POST/v1/text-to-speech/{voice_id}/streamThe streaming variant.
  • POST/v1/text-to-speech/{voice_id}/with-timestampsAudio plus character-level timings.
  • POST/v1/text-to-speech/{voice_id}/stream/with-timestampsBoth at once.

Voices

  • GET/v1/voicesList every available voice.
  • GET/v2/voicesSearch and filter the library.
  • GET/v1/voices/{voice_id}One voice's detail.
  • GET/v1/voices/{voice_id}/previewA sample clip of the voice.
  • POST/v1/voices/addAdd a cloned voice to your library.
  • GET/v1/voices/{voice_id}/settingsRead a voice's settings.
  • POST/v1/voices/{voice_id}/settings/editChange them.
  • DELETE/v1/voices/{voice_id}Remove a voice you added.

Account & metadata

  • GET/v1/languagesEvery supported language and its aliases.
  • GET/v1/modelsAvailable models.
  • GET/v1/userThe authenticated account.
  • GET/v1/user/subscriptionPlan and usage.
  • GET/healthService health.

Audio formats

mp3
Default. 128 kbps unless you set bitrate_kbps.
opus
Low bitrate, good for real-time transport.
aac
Broad device support.
flac
Lossless.
wav
Containered PCM.
pcm
Raw 24 kHz s16le. Lowest latency.
ulaw
8 kHz G.711 µ-law, for telephony.
alaw
8 kHz G.711 A-law, for telephony.

Key parameters

voice
A voice id, or its display name.
lang
Language hint — name, alias, or ISO-3. Enables normalization.
response_format
One of the eight formats above.
sample_rate
8000 to 48000 Hz.
speed
0.7 to 1.5. Pitch is preserved.
stream
Start returning audio before generation finishes.
mode
tts, or voice_clone with a reference.
normalize
Read numbers, dates, and symbols aloud properly. Needs lang.
pronunciation_dictionary_id
Force pronunciations for names and brands.

Start building today.

10,000 characters free every month, then ₹1 per 1,000.