Skip to main content
LiveAvatar (by HeyGen) provides real-time interactive avatars with lip-sync driven by your agent’s audio. Pass liveavatar.Avatar() to the agent’s avatar parameter to stream synchronized video and audio into the call.
Vision Agents uses Stream Video for real-time WebRTC transport by default. External WebRTC transports are supported as well. Most AI providers offer free tiers to get started.
Get a LiveAvatar API key and avatar ID from the LiveAvatar dashboard.

Installation

Quick Start

Set LIVEAVATAR_API_KEY and LIVEAVATAR_AVATAR_ID in your environment, or pass api_key and avatar_id directly to Avatar().

Parameters

How It Works

LiveAvatar runs in LITE mode with the custom-agent integration path:
  1. Your agent’s TTS (or Realtime LLM) audio is streamed to LiveAvatar over WebSocket
  2. LiveAvatar generates lip-synced avatar video and audio
  3. Synchronized A/V is published to call participants via Stream Edge
With standard LLMs
  1. LLM generates text → TTS converts to audio → Audio sent to LiveAvatar → LiveAvatar returns synchronized avatar video and audio
With Realtime LLMs
  1. Realtime LLM generates audio → Audio sent to LiveAvatar → LiveAvatar returns synchronized avatar video and audio
Set is_sandbox=False in production. Sandbox sessions are free but duration-capped.

Next Steps

Build a Voice Agent

Get started with voice

Build a Video Agent

Add video processing

Build Your Own Avatar

Subclass the Avatar base class