.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.
-
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 -
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 -
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
- Step 1Create an account
Your API key is shown once after signup. New accounts start with free credits, no card required.
- Step 2Make a first call
The quickstart checks your key and runs a first session with each API.
- 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
Stream microphone audio and play the model’s speech from an async event loop.
Open → Live APITypeScriptConnect from a server, send PCM, and handle audio and transcript events.
Open → Realtime APIOpenAI SDKTranscribe with the OpenAI SDK for Python or TypeScript, with only its base URL changed.
Open → Deepgram-compatible APILiveKit Agents and PipecatPoint the frameworks’ Deepgram speech-to-text plugins at .wave.
Open →