Developers

A live avatar in your app. Two calls from your code.

Your server asks for a session token; your page joins with it. Faces, voices, prompts and tools are set up in the console, so your code stays small, and your API key never leaves your server.

REST · OpenAPI 3.1JavaScript SDKNode · Pythonsigned webhooks
Your serverNode · Python · anyAPI key stays here
AvatarGoapi.avatargo.ai
Your page@avatargo/sdk
1
Your server asks for a sessionPOST /v1/auth/session-token { characterId }

Three ways in.

Pick by what you already have. All three use the same API key, the same balance and the same faces.

for
A talking assistant in your page. It listens, answers by voice, shows captions and stops when the user cuts in.
you send
A character's id, from your server.
you get
The avatar in your <video>, captions, and events as they happen.
you write
One request on the server, three lines in the page.
Quick start →
your page
import { createClient } from "@avatargo/sdk";

const client = createClient(sessionToken);   // from your server
await client.streamToVideoElement("avatar"); // your <video>

client.on("message", (m) => showCaption(m.content));

Start here.

Try a character in the console, then call it from code.

Sign up, talk to it in a test call, create a key.

© 2026 AvatarGo