Experience API
Programmatic control over Avatar Experience sessions.
Overview
Experience is the primary JavaScript API. Use it when you need programmatic control
beyond the component — custom containers, event handling, or voice-only mode.
Start a session
main.js
import { Experience } from '@liforma/client';
const experience = await Experience.startSession({
experienceId: 'exp_01DEMO1SPANISHCAFE'
});
await experience.attach({ container: '#avatar' }); Start modes
| Input | Use case |
|---|---|
{ experienceId } | Public embed — SDK calls /v1/public-sessions |
{ manifest } | Server-minted manifest passed to the client |
{ experienceId, sessionEndpoint } | Authenticated — SDK POSTs to your same-origin route |
Lifecycle
const experience = await Experience.startSession({
experienceId: 'exp_01DEMO1SPANISHCAFE'
});
await experience.attach({ container: document.querySelector('#avatar') });
// Optional lifecycle
experience.pause();
experience.resume();
await experience.end(); Rendering is separate
Session creation and rendering are independent. You can attach to a container for avatar + voice, or use the session without rendering for voice-only integrations.