Realtime / WebSocket API (preview)
Low-latency voice streaming over WebSocket. Bidirectional audio with sub-300ms round-trip for conversational AI experiences.
Overview
The Realtime API provides a persistent WebSocket connection for streaming raw PCM audio to and from Meridian models. Unlike the REST transcription endpoint, the realtime path eliminates HTTP overhead per chunk — audio frames flow continuously, and responses stream back as they are generated. This is the same transport used by the Meridian desktop client for its voice mode.
Endpoint
wss://api.getnimbus.net/v1/realtimeTLS 1.3 only. Authentication via Authorization: Bearer <api_key> passed as a query parameter during the WebSocket upgrade handshake.
Protocol
Messages are JSON-framed binary. Each frame carries a type discriminator, a sequence number for ordering, and an optional payload. Audio payloads are 16-bit mono PCM at 24 kHz.
{
"type": "audio_in",
"seq": 42,
"payload": "<base64>"
}Client → Server
audio_in— PCM chunkconfig— model, language, vad settingsping— keepalive
Server → Client
transcript— partial or final textaudio_out— TTS PCMerror— fault framepong— keepalive ack
Roadmap
WebSocket transport
Persistent connection, JSON framing, base64 PCM payloads.
Voice activity detection
Server-side VAD with configurable thresholds.
TTS audio out
Streaming text-to-speech responses back over the same socket.
Function calling
Tool-use frames for agentic voice workflows.
SDK packages
Python & Node.js client libraries with automatic reconnect.
Rate Limits
| Tier | Concurrent connections | Audio minutes / hour |
|---|---|---|
| Free | 1 | 10 |
| Pro | 5 | 300 |
| Enterprise | Custom | Custom |
This API is in active development. The protocol may change before general availability. Join the Meridian Discord for early access and protocol updates.