Skip to main content
Most voice API migrations come down to the same small swap: point your existing request code at Gradium, send your Gradium API key in the x-api-key header, and use a Gradium voice_id or model setting. The bigger win is that the same API covers realtime TTS, realtime STT, semantic VAD, adaptive delay, browser-safe WebSocket tokens, and custom voices. Your app can keep the same shape:
  • POST when you already have the full input.
  • WebSocket when you want streaming input or low-latency output.
  • Audio bytes or streamed chunks come back in the same places your current provider integration already handles them.
  • Semantic VAD and adaptive delay give voice agents first-class turn-taking signals instead of forcing you to bolt on endpointing heuristics.
  • Browser clients should use short-lived Gradium tokens instead of embedding API keys. See Browser WebSockets.
If you already wrapped ElevenLabs, Cartesia, Deepgram, or Fish Audio behind a small provider adapter, migrating is usually just changing the URL, auth header, and a few field names.

Gradium POST example

For a complete text block, send one HTTP request and write the audio response to a file:
That is the whole path for one-shot TTS: request body in, audio bytes out. For the full schema, see Text-to-Speech REST.

Gradium WebSocket example

For streaming TTS, connect to the Gradium WebSocket, send setup once, then send text:
After the connection opens, send:
Gradium streams audio messages back with base64-encoded audio chunks. For the full message contract, see Text-to-Speech WebSocket.

Provider guides

ElevenLabs to Gradium

Move existing TTS calls to Gradium REST and WebSocket endpoints.

Cartesia to Gradium

Move TTS and STT adapters to Gradium request fields and message types.

Deepgram to Gradium

Replace speech adapters with Gradium STT, TTS, semantic VAD, and flush.

Fish Audio to Gradium

Move TTS, voice cloning, and ASR calls to Gradium JSON APIs.

What usually changes

Speech-to-text endpoints

If you are migrating an STT integration, use the same idea with the STT routes: See Speech-to-Text REST and Speech-to-Text WebSocket for the message formats.

Production Patterns

WebSocket lifecycle

Setup, ready, input, flush, end-of-stream, multiplexing, and errors.

Browser WebSockets

Issue short-lived tokens for browser and mobile WebSocket clients.