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

InputUse 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.