Skip to main content
The local plugin replaces the cloud edge with your machine’s microphone, speakers, and camera. Useful for local development, desktop apps, and demos where you don’t want to round-trip through a real-time transport.
No Stream account is required for the local edge — but you’ll still need API keys for whichever LLM / STT / TTS plugins you use.

Installation

The plugin uses sounddevice for audio I/O and PyAV for video. On some Linux systems you may need to install portaudio separately.

Quick Start

The select_* helpers prompt interactively in the terminal. For headless use, instantiate AudioInputDevice, AudioOutputDevice, and CameraDevice directly with a known device index.

Parameters

When video_input is set, agent video is rendered locally in a tkinter window. Subclass the device classes (AudioInputDevice, AudioOutputDevice, CameraDevice) to swap in alternative backends (e.g. GStreamer).

Next Steps

Build a Voice Agent

Get started with voice

Build a Video Agent

Add video processing