04Connect
Connect clients
Everything that talks to a Cuelo agent — browsers, SDKs, phones, your backend — and the one port they share.
A Cuelo server exposes the agent, your own routes and the dashboard on one port (4141 by default). Pick the entry point that fits your client:
| You're building… | Use | Page |
|---|---|---|
| A web or mobile app with a mic | /v1/realtime, the OpenAI Realtime protocol | Realtime API |
| Something already on OpenAI Realtime | the same: change the base URL | Realtime API |
| A phone line (Twilio, SIP, Plivo) | a WebSocket route in src/api.py bridging media | Custom endpoints |
| A simple device or test client | /v1/pcm: raw PCM in and out, events as JSON | Custom endpoints |
| Server-side control of live calls | your own HTTP routes using harness.sessions | Custom endpoints |
What every client gets
- Audio both ways as PCM16 mono at 24 kHz. The engine resamples for each provider.
- Cuelo's turn-taking. Clients stream audio continuously and the server decides when to speak, stop and backchannel. No client-side VAD is needed.
- Events. Transcripts, turn decisions, tool calls and latency marks stream to the client as they happen.
- One rule: when the agent is interrupted, drop any audio you haven't played yet.
Securing it
On anything but localhost, set API keys. The server refuses to start on a public host without one. Browsers pass the key as a WebSocket subprotocol. See Security.