Skip to main content

AvatarSession

Constructor Parameters

Provide at most one of avatar_id and avatar_image_url (directly or through their environment variables). With neither, a public stock avatar is used. Any other keyword arguments are sent with the session request.

start() Method

start() generates a LiveKit token for the avatar, creates the Agent Human session, and routes your agent’s audio output to the avatar. It returns the Agent Human session ID (also available as avatar.session_id). Call it before session.start().

Interruptions

The avatar tells your agent when it actually starts and stops speaking each reply. When the user interrupts, it stops within about a second (finishing the word it is on) and reports how much of the reply was heard, so your agent keeps only that part of the transcript. Configure the agent session like this:

session.state Events

The Agent Human server sends status updates to the room as LiveKit data packets on the session.state topic. The plugin logs them; you can also listen for them on ctx.room:

Payload Fields