Skip to Content
Introduction

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

MethodPathDescription
POST/v1/ttsText to speech — synthesize natural, expressive speech from text with Revolab’s Nada voice models. Returns the WAV audio (or a PCM stream).
POST/v1/sttSpeech 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: 387

Compatible APIs

  • OpenAIaudio.speech + audio.transcriptions with a base_url swap. WAV, progressive PCM streaming, and SSE.
  • ElevenLabs — text-to-speech, streaming, the realtime websocket, speech-to-text, and your voice list.
  • Cartesiatts/bytes, SSE, the multi-context generation websocket, and batch STT at Cartesia’s real paths.
  • LiveKit agents — voice agents through the stock livekit-plugins-cartesia plugin — per-sentence streaming.

Next steps