Give your users and agents a cozy, talking face.
Mini avatars lip-sync to any voice and emote along with every word. Press play and watch eight of them talk.
Sound on · 8 voices · under a minute
Preparing the cast…
Conversation transcript
- Mini: Okay, team. Where should we go for our first adventure?
- Dog: A walk? Count me in!
- D.A.S.H.: I vote for the moon. Excellent views. Very questionable snacks.
- Alien: The moon? My cousin lives there! Terrible Wi-Fi, though.
- Ginger cat: I am supervising this sunbeam.
- Mini: That sounds like a no. Any ideas a little closer to home?
- Rabbit: Picnic! Race you to the park.
- Rafael: A picnic? Now that is a plan I can get behind.
- Monkey: Finally. A mission for my bananas.
- D.A.S.H.: Mission updated. Park, picnic, bananas. Probability of fun: excellent.
- Dog: Let’s go!
- Rafael: Then it is settled! I will bring the blanket. Best group chat ever.
Every character speaks with a prerecorded ElevenLabs voice. Captions follow the spoken words; expressions and listener reactions are timed to the recording.
Vibe code your own cast members and avatar parts. Bring them to life with the Minimoji SDK.
Already shipping
Made with Minimoji.
Making music. Hanging out. Saying how you feel. See how a Mini avatar becomes part of the moment.
- Fizz FM — your avatar sings what you play.
- Bunch — bring your conversations to life.
- Minimoji Avatar Demo — give your status a voice.
Actual app screens, recorded with demo interactions. All previews are silent.
Fizz FM — Your avatar sings what you play. Bunch — Bring your conversations to life. Minimoji Avatar Demo — Give your status a voice.
How it works.
Step 1: Lip sync
Auto-synced to lips.
Lips that follow every word.
“Wait, did that actually work?”
Any voice: your TTS, a recording, a live mic. The mouth follows every word.
0.0 / 7.9sPreparing the speaker…
Full transcript
Wait, did that actually work? We did it! I knew we could figure it out. Okay, give me one tiny victory dance.
Recorded with ElevenLabs. Mouth shapes follow the audio; expressions and emotes are timed to the words.
Step 2: Emote sync
Auto-synced to emotions.
Faces that feel the moment.
Tap a moment and D.A.S.H. says it.
Cue a feeling and the expression, the gesture and the bursts arrive together. Here D.A.S.H. says each one out loud.
Preparing D.A.S.H.…
Explore every mood →Step 3: AI edit · Built-in avatar editor
Integrate our avatar editor, or build your own.
AI can edit avatars from photos and prompts.
Drop the editor into your app and users get a Mini avatar of themselves from a selfie in about a second. Then they tweak every part by hand, or just ask for a change.
“give me curly red hair”or start from a selfie- 1Selfie in, Mini avatar out — about a second
- 2Tap to tweak — skin, hair, glasses, hats
- 3AI edit — “give me curly red hair”
Try the editorIn MinimojiKit todayRecorded in the iOS Simulator with a generated face; waits for the service are sped up. Step 4: Coming soon
Bring your own parts.
Vibe code your own avatar parts.
Robots, aliens, creatures or one new hat: your agent writes the parts with Claude Code or Codex, and our player locks them in, so they lip-sync, emote and get a body like every other Mini avatar.
- Your design, the same lip sync and emotes
- Plays on web and Swift without new renderer code
- Mix your parts with ours
Get early access// illustrative — the SDK’s API isn’t final export default part({ slot: "head", name: "dome-bot", build(kit) { /* your shapes */ }, face: { mouth: "screen", eyes: "led" }, })
Every Mini avatar comes with a body.
The same JSON builds the whole figure: an outfit from its palette, a rig that walks, runs and jumps, and gestures from a word.
Open the body playgroundThe SDK
Tiny, native, and in your UI.
Mini avatars attach to elements in your layout, like a chat bubble, a player card or a contact row, and follow them through scroll and resize. No game engine and no web view.
- 1.8 MB
- MinimojiKit installed, to play a head on iOS
- 0
- dependencies. Plain Swift on Metal
- 67 KB
- the web engine, gzipped, on top of three.js
- ~2 MB
- a head, cached after its first load
Swift
NowMinimojiKit. Plain Swift on Metal, under 2 MB to play a head.
Web
Now@minimoji/react. Heads anchored to any element; the engine is 67 KB gzipped.
Expo
ComingThe same components on iOS and Android.
HTTP API
NowNo package at all? Any stack gets a .glb and a .png.
Every Mini avatar is a few lines of JSON, small enough for any agent to write, store and send.
Sizes from a release build of MinimojiKit 9.12. The footprint, measured
Start building
Give your users and agents a cozy, talking face.
Get a key and have a talking Mini avatar in your app today.
Read the docsAdd MinimojiKit or @minimoji/reactGive your agent the skill
The React package ships on request. Leave an email and we’ll send the install.