One engine means one vocabulary. Every wrapper — React, Vue, Svelte, Angular, Web Component — understands the same desktop-style command line and the same prop names.
Run them via runCommand(line) (wrappers), el.runCommand(line) (Web Component), or executeCommand(line, ctx) (core).
| Verb | Example | Description |
|---|---|---|
show | show | Make the avatar visible / resume playback. |
hide | hide | Hide the avatar / pause playback. |
toggle | toggle | Flip between shown and hidden. |
action | action 1 · action wave | Trigger an action clip by index or id. |
actions | actions | List the available actions for the loaded avatar. |
info | info | Return avatar / player status info. |
speed | speed 2 4 | Set idle and (optionally) talk animation speeds. |
sensitivity | sensitivity 0.6 | Set lip-sync sensitivity (0..1). |
mute | mute | Mute the avatar's audio output. |
unmute | unmute | Unmute audio. |
tts | tts "hello there" | Speak text through the active TTS engine. |
ask (alias provider) | ask "what's the weather?" | Send text to the chat/LLM webhook and speak the reply. |
wake | wake | Fire the wake-word action (open chat / warm TTS). |
stop | stop | Stop speaking / cancel the current action. |
help | help | Return { ok, message } with the full verb list. |
Shared across wrappers (camelCase in JS frameworks; kebab-case attributes on the Web Component & Svelte custom element, e.g. avatar-url).
| Prop | Type | Description |
|---|---|---|
avatarUrl | string | URL to a .ania or avatar .json file (market or personal). |
avatarPassword | string | Password for an encrypted (personal) .ania file. |
avatarData | object | Already-decrypted data — skips the fetch/decrypt. |
authToken | string | Bearer token for the avatar URL download. |
width / height | number | Canvas size in px (default 320). |
theme | 'dark' | 'light' | 'blue' | 'purple' | Container color theme. |
position | 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right' | Fixed-position anchor. |
idleSpeed / talkSpeed | number | Animation speed multipliers. |
autoCalculateSpeed | boolean | Derive optimal speeds from the avatar's fps. |
lipSyncEnabled | boolean | Enable real-time lip-sync from mic audio. |
lipSyncIntensity | number | Openness boost, 0..1 (default 0.6). |
lipSyncResponsiveness | number | Envelope smoothing, 0.05..1 (default 0.5). |
lipSyncSustainStyle | 'hold' | 'wiggle' | Mouth behaviour during sustained speech. |
actions | ActionConfig[] | Action clip definitions (frame ranges, audio, hotkeys). |
ttsProvider | 'browser' | 'tiktok' | 'elevenlabs' | 'google' | 'azure' | 'piper' | Active TTS provider. |
sttProvider | 'browser' | 'google' | Active STT provider. |
wakeWordEnabled / wakeWordModelUrl | boolean / string | On-device wake-word (needs onnxruntime-web). |
webhookUrl | string | Chat/LLM webhook (n8n-style) for the chatbot component. |
enablePostMessageControl | boolean | Install an origin-allowlisted postMessage command listener. |
locale | string (BCP-47) | UI language for built-in strings (~190 locales bundled). |
Emitted as framework events (@load, onload, (load)) or DOM CustomEvents on the custom elements (ania-load / load).
| Event | Payload |
|---|---|
load | the loaded avatar data (frames, config) |
talkStart / talkEnd | — |
actionStart / actionEnd | action id |
error | the Error |
close | — |