.wave documentation

Build with .wave.

APIs for real-time speech: hold a full-duplex voice conversation with a model, or transcribe live audio as people speak.

Choose the API

Choose by what you need back, speech or text, and by the client you use.

  1. Speech to speech · full duplexLive API Hold a spoken conversation with a model that listens while it speaks. Stream audio in, and receive its speech and transcripts of both sides in the same session. Socket wss://api.dotwave.ai/v1/live/sessionsWorks with Any WebSocket client Live API
  2. Speech to text · OpenAI Realtime formatRealtime API Transcribe live audio as people speak, with OpenAI’s Realtime transcription events. The OpenAI SDK connects by changing its base URL. Socket wss://api.dotwave.ai/v1/realtimeWorks with The OpenAI SDK for Python and TypeScript Realtime API
  3. Speech to text · Deepgram formatDeepgram-compatible API Transcribe live audio with clients built for Deepgram’s live transcription API. The Deepgram plugins of LiveKit Agents and Pipecat connect by changing their base URL. Socket wss://api.dotwave.ai/v1/listenWorks with LiveKit Agents and Pipecat Deepgram-compatible API

Each model’s page in Models names the API that serves it.

Base URLs

REST
https://api.dotwave.ai/v1: client secrets, models, sessions, usage and your project. See the API reference.
Live API
wss://api.dotwave.ai/v1/live/sessions
Realtime API
wss://api.dotwave.ai/v1/realtime
Deepgram-compatible API
wss://api.dotwave.ai/v1/listen

Authenticate with your API key from your server, or with a short-lived client secret from a browser. See Authentication.

Start building

  1. Step 1Create an account

    Your API key is shown once after signup. New accounts start with free credits, no card required.

  2. Step 2Make a first call

    The quickstart checks your key and runs a first session with each API.

  3. Step 3Prepare for production

    Handle errors and retries, and check pricing and limits.

Connection handling

Capacity
If a request returns Retry-After, wait before trying again. Start sending audio only after the session connects.
Audio timing
Send microphone audio as it is captured. Stream recorded audio at playback speed, not as a single upload.
Reconnects
After an interruption, open a new session and let the user know. Do not resend audio from the previous session.
API keys
Keep API keys on your server. For a browser client, create a short-lived client secret on the server.

Guides