Skip to content
Getting started/Introduction

A FAMILIAR FACE. A SIMPLE API.

Faces, for
your agent.

One browser SDK. Add a character, give it an expression, and connect it to your AI agent in any web framework.
Live SDK@allpersonas/core
Ruby

MAKE IT YOURS

Ready when you are
Use this face in your app
Your selected face — assistant.ts
import { createFace } from '@allpersonas/core';

export function mountAssistant(host: HTMLElement) {
  Object.assign(host.style, { width: '280px', height: '340px' });
  const face = createFace(host, {
    avatar: "ruby",
    expression: "attentive",
  });
  // Update when your agent's state changes.
  // face.update({ thinking: true });
  return () => face.destroy();
}

A face, in a few lines

The SDK handles the face. Your app decides what to say and how to feel. Call this function with a DOM host, then call its cleanup when the view is removed.

Example.tsx
import { createFace } from '@allpersonas/core';

export function mountAssistant(host: HTMLElement) {
  host.style.width = '280px';
  host.style.height = '340px';
  const face = createFace(host, {
    avatar: 'ruby',
    expression: 'attentive',
  });

  face.update({ thinking: true });
  // When your agent responds:
  face.update({ thinking: false, expression: 'joyful' });

  // Call the returned function when your view unmounts.
  return () => face.destroy();
}

One SDK, any framework

Built for your stack

Use your existing model and backend. Core handles rendering and browser speech; your application supplies conversation text and chooses when to call a provider.

This website installs @allpersonas/core from npm. Its live previews and playground use the same published SDK you install in your own app.

All six characters are included. Connect your provider in the playground to see them respond in conversation.