AI

Bot Face

An expressive assistant avatar: idle, listening, thinking, speaking and more. Eyes live on an imaginary sphere, the body squashes and stretches, and it can follow your voice.
import { BotFace, useAudioLevel } from "pleate/ai/bot-face";

States

Idle follows your pointer.

Driven by your voice

useAudioLevel turns a microphone stream into a level the face reacts to.

Sizes, shapes, colors

Defaults to the palette accent. Switch palette to see it follow.

animated=false: still pose, no listeners

Props

state

Expression.

"idle" | "listening" | "thinking" | "speaking" | "waiting" | "happy" | "error" | "offline"default "idle"

size

Pixels.

numberdefault 64

level

Loudness from 0 to 1 for listening/speaking.

number | MotionValue<number>

track

Follow the pointer while idle.

boolean

seed / color / eyeColor

Body shape; colors (accent and on-accent by default).

string

dot / decorative / labels / animated

Status dot, hide from AT, state labels, still mode.

Accessibility

  • role=img with a label per state (customizable).
  • With reduced motion every state is a still pose.