Or jump from this list on a smaller screen.

This is a page from the Audivra documentation. Developer exportsindex: http://127.0.0.1:3000/docs/llms.txt, full corpus: http://127.0.0.1:3000/docs/llms-full.txt, OpenAPI: http://127.0.0.1:3000/docs/openapi.json, Postman: http://127.0.0.1:3000/docs/postman.json. Press ⌘K to search docs.

Text to speech

Generate speech audio from text — WAV response or low-bandwidth Opus/AAC streaming.

Try it

Hear output in the browser — same contract as POST /api/v1/tts. Uses your session or a pasted API key.

TTS playground

WAV response via /api/v1/tts

Checking session…

61 characters

Browse voice library — play samples and copy voice_id

POST
/api/v1/tts
Auth required

Returns audio/wav. Meters len(text) against plan character quota.

Parameters

NameTypeRequiredDescription
textstringYesText to synthesize
voice_idstringNoPreset ID or a ready clone UUID from POST /api/voices/clone
modelstringNokokoro-82m · f5-tts · xtts-v2

Request body

JSON
{
  "text": "Hello from Audivra",
  "voice_id": "aurora",
  "model": "kokoro-82m"
}

Errors

StatusMeaning
401Unauthorized
402Character quota exceeded
409Voice clone still training

POST /api/v1/tts/stream

Chunked Opus/AAC streaming for mobile networks. Optimized for Global South low-bandwidth regions.

Streaming request
curl -X POST http://127.0.0.1:3000/api/v1/tts/stream \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"Sentence one. Sentence two.","voice_id":"zuri-sw","format":"opus"}' \
  --output stream.opus

Voice IDs: Voice library — play samples and copy voice_id

Step-by-step guide: Stream Opus TTS on low bandwidth