RostoTry a face

From selfie
to embed.

Create an avatar once. It then animates live in any browser, with no runtime cost.

Four steps

  1. Upload a selfie and confirm consent. It's kept encrypted only until you accept, then deleted.
  2. Approve and build: say yes to the stylized portrait — not the photo — and Rosto draws its expressions, checked frame by frame. About eight minutes, once.
  3. Embed anywhere in three lines. Drive it with a command, or let an agent drive it.

Building an avatar takes about eight minutes. After that it runs instantly in the browser, forever, at no cost.

Not a video. A rig.

The avatar is a set of lightweight images plus one small script. The browser turns the pages in real time — one drawing per region, hard cuts, like a flipbook — so there are no model calls while it plays. Avatars also come in a vector edition — one small SVG rig that stays crisp at any size and adds subtle head motion.

<div id="rosto"></div>
<script src="https://prod.rosto.ai/rig/avatar-rig.js?v=ff6cd1e4"></script>
<script>
  fetch("https://prod.rosto.ai/pub/PUBLIC_TOKEN/manifest.json").then(r => r.json()).then(m => {
    const rig = AvatarRig.mount(document.getElementById("rosto"), m, {size: 320, manifestUrl: "https://prod.rosto.ai/pub/PUBLIC_TOKEN/manifest.json"});
    rig.direct("await");   // present and waiting
    // ONE CALL PER LINE. The drive call is:
    //   rig.direct({ intent, say, audio, visemes })
    // intents: greet · await · attend · ponder · empathize · … (AvatarRig.INTENTS)
    // visemes: POST https://prod.rosto.ai/visemes -> AvatarRig.trackFromAudio(buf, units)
  });
</script>

Same words. Any intent.

The oldest exercise in acting: one line, read many ways. Tap an intent — the words and the voice actor never change, only what your app said the line is.

idle

“So, about your order.”

Every reading below is the same recording session — same voice, same words. Watch the timing change: surprised waits a beat before it speaks.

rig.direct({ intent: "greet", say: "So, about your order.", audio, visemes })
Enter the studio Read the docs