OpenAvatar

A face for your AI agent, in one small file.

OpenAvatar is an open format for 3D characters that react while an agent listens, thinks and talks, and while you work beside it. Pick one here, or describe your own and let AI build it.

Browse avatars Make your own

Matcha. A matcha-green plush yeti in a knit beanie, with felt quote marks for eyes in Enconvo.
Matcha is waiting for you

Use them in your app

An avatar is one .openavatar file: JSON, at most 256 KB, with no code inside. Any app that reads the format shows the same character.

In Enconvo, open an avatar's page and choose Open in Enconvo. Files in ~/.openavatar/avatars/ show up in every OpenAvatar app on the computer.

To show one in your own app, load it into the reference renderer for three.js and tell it what your agent is doing. SPEC 12 lists what an app can send, and SPEC 17 what it must do.

import { OpenAvatarStage } from '@openavatar/three';

const stage = new OpenAvatarStage(canvas);
stage.load(avatar);   // a parsed .openavatar file
stage.start();
stage.setInput({ state: 'speaking', voice: 0.6 });