Run your first session
1
Get an API key
Create a project-scoped runtime API key in the Opper dashboard.
2
Open a session
- Server (Node.js)
- Browser (ephemeral ticket)
Server-side clients connect directly with a bearer token. This is the quickest way to check that the endpoint works.
3
Watch the events
On a successful open:From here, stream audio in with
audio.append (base64-encoded PCM16 at input_sample_rate), and the assistant’s audio comes back in audio.delta frames at output_sample_rate. If a tool fires you get a tool.call and reply with tool.result. When the session ends you get session.terminating followed by a clean WebSocket close.Switch providers
The protocol is the same across providers. Change one string:
See Per-provider notes for voice lists and quirks.
What’s next
Realtime protocol
Every config field, event, and per-provider note.
Models
The full list of supported realtime model IDs.
Mint endpoint
POST /v3/realtime-sessions request and response schema.Cookbook example
A complete browser voice app with microphone capture and tool calls.