Skip to main content
Real voice calls run the production fast-brain — interruption-handling, telephony-aware — locally with sub-second latency. From the local chat REPL, type meet to open a LiveKit browser session and speak through your mic. Utterances follow the same Unify Meet path as production voice.

What you need

Voice uses LiveKit Cloud for browser Meet sessions, plus one speech-to-text and one text-to-speech provider (both have free tiers; pick one TTS provider). The install wizard prompts for these; to add them later, edit ~/.unity/unity/.env and run unify setup.
VariablePurposeWhere to get it
LIVEKIT_URL, LIVEKIT_API_KEY, LIVEKIT_API_SECRETBrowser voice mediacloud.livekit.io
DEEPGRAM_API_KEYSpeech-to-textconsole.deepgram.com — free tier
CARTESIA_API_KEY or ELEVEN_API_KEYText-to-speech (pick one)play.cartesia.ai or elevenlabs.io — free credits

How local voice works

Live calls run two coordinated brains:
  • Slow brain (ConversationManager) — sees everything, decides deliberately, runs in the main process.
  • Fast brain — a real-time LiveKit voice agent in a subprocess, sub-second latency, handles turn-taking autonomously.
They communicate over IPC. The slow brain steers the fast brain with SPEAK (say exactly this), NOTIFY (here’s context, decide what to do), or BLOCK (do nothing; carry on). This is the same dual-brain architecture the hosted product runs — locally you’re just running both halves on your own machine. Phone calls over real telephony, video calls, and screen-share are part of the hosted product at console.unify.ai.