Revolab API
Two REST endpoints — POST /v1/tts for speech synthesis and POST /v1/stt for
transcription. Authenticate with a Bearer API key, send a request, get audio or
a transcript back. No SDK required — or keep the SDK you already use: the
gateway also speaks the OpenAI, ElevenLabs, and Cartesia APIs.
Base URL & authentication
All requests go to https://api.revolab.ai and must include your API key as a
Bearer token. Keys always start with the rvl_live_ prefix.
Authorization: Bearer rvl_live_...See Authentication to create and manage keys.
Endpoints
| Method | Path | Description |
|---|---|---|
POST | /v1/tts | Text to speech — synthesize natural, expressive speech from text with Revolab’s Nada voice models. Returns the WAV audio (or a PCM stream). |
POST | /v1/stt | Speech to text — transcribe an audio file to text with Revolab’s Aisyah recognition models. Send the audio as a multipart file field. |
Quick example — text to speech
curl -X POST https://api.revolab.ai/v1/tts \
-H "Authorization: Bearer $REVOLAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nada-1.0-flash",
"text": "Hello from Revolab.",
"voice_id": "<your-voice-id>",
"language": "en",
"output_format": "wav"
}'Response — 200 OK: the WAV audio itself (audio/wav), with metrics as headers:
Content-Type: audio/wav
X-Duration-S: 2.341
X-Latency-Ms: 387Compatible APIs
- OpenAI —
audio.speech+audio.transcriptionswith abase_urlswap. WAV, progressive PCM streaming, and SSE. - ElevenLabs — text-to-speech, streaming, the realtime websocket, speech-to-text, and your voice list.
- Cartesia —
tts/bytes, SSE, the multi-context generation websocket, and batch STT at Cartesia’s real paths. - LiveKit agents — voice agents through the stock
livekit-plugins-cartesiaplugin — per-sentence streaming.
Next steps
- Quickstart — make your first TTS and STT call in under 10 minutes.
- TTS API and STT API — full parameter and response reference.
- Errors — the full error-code catalog.
- Rate limits & quotas — input caps and 429 handling.