Skip to main content
Like a realtime voice API - except the brain is already trained on your use case. The full speech loop (STT, VAD, barge-in, TTS) plus your agent, served as one session. Your app or telephony connects; Unpod runs the conversation.

How it connects

An agent bundles a brain with one or more voice profiles. Sessions reach it from the web over WebSocket or from a phone number over SIP - same agent, same behaviour, either way.

Go live in 3 steps

1. Create an agent

brain= takes one of Prompt / Playbook / Runner / Endpoint - see Agents.

2. Connect a session

Mint tokens server-side with client.sessions.create_token(pipe_id=...) - browser sessions still key on the pipe id of the agent-voice row. Protocol and auth: WebSocket sessions.
@unpod/web-sdk is not yet published on npm. Until it ships, reach a browser session through the Playground, or connect over telephony.
Raw audio-frame WebSocket streaming for custom transports is on the roadmap.

3. Test it

Call the number, or open your web session and talk. Recordings and transcripts land automatically - see Recordings & Transcripts.

Go deeper

WebSocket sessions

Session tokens, events, capabilities.

Voice profiles

STT + TTS bundles per language, with failover.

Speech pipes

The unit that wires voice, agent, and numbers.

Bring your agent

Point a pipe at any HTTP endpoint or LangChain brain.