Zeli AvatarDeveloper docs
v0.1.0

Concepts / Emotions

Emotions

The server can classify the emotion of an utterance and, when enabled, switch the avatar's tone clips to match. Your app is notified through an EMOTION_DETECTED event.

Emotion-responsive delivery

Set emotion_responsive=True on AvatarConfig to let the server adapt the avatar's tone clips to the emotion of the reply:

from zeli import AvatarConfig
 
AvatarConfig(
    avatar_id="presenter-male-1080",
    emotion_responsive=True,
)

Reacting to emotions

Subscribe to EMOTION_DETECTED; the handler receives an EmotionEvent:

from zeli import ZeliEvent
 
@client.on(ZeliEvent.EMOTION_DETECTED)
async def on_emotion(event):
    print("emotion:", event.emotion, "for", event.correlation_id)
emotionstrOptional

The classified emotion for the utterance.

correlation_idstr | NoneOptional

The originating command id, tying the emotion to a specific utterance.

Needs the control gateway

Emotion events flow over the control channel, so they require the server's control gateway. See the control gateway.

Zeli Avatar · real-time avatars over WebRTC · self-hostable · AU data residency · source