A few lines of JSON. A head that talks and emotes.

Save an avatar document, get a key. Ask for its .glb and your app plays a head that blinks, looks around and lip-syncs; ask for its .png and it goes anywhere an image goes.

npx minimoji login

Rather use the browser? Get an API key or read the docs.

POST /avatars

{
  "seed": 2001,
  "head": "round",
  "skin": "porcelain",
  "hair": { "style": "long", "color": "mint" },
  "brows": "flat",
  "nose": "dot",
  "extra": { "style": "hoops", "color": "gold" },
  "blush": false,
  "eyes": { "color": "blue" }
}

→ { avatarKey, glb, png }

A person · live

Four commands to a talking head

Sign in, make one, see it, and teach your coding agent the SDK. In your app’s folder, npx minimoji init writes a publishable key where the app reads one.

  1. npx minimoji login

    Signs this terminal in: approve the code in your browser.

  2. npx minimoji generate "red curls, round glasses"

    Makes a Mini avatar from words and prints its avatarKey.

  3. npx minimoji preview <avatarKey>

    Opens it on minimoji.com/preview, talking.

  4. npx minimoji skills add

    Teaches your coding agent the SDK.

iOS & macOS

A Swift package, for partners by request: plain Swift on Metal, no web view and no third-party code. 1.8 MB to play a head.

MinimojiMetalHeadView(document: try await service.head(forKey: key))

Web

React and three.js, by request, or one script with no build step. The heads on this site are drawn by it.

<MinimojiHead avatar={doc} anchor={ref} />

Everywhere else

The .glb plays in any glTF renderer; the .png goes in bots, widgets, notifications and email.

GET /avatars/<key>.png?size=256