
Radar check
What we found when we opened it. Every bar is one fact, with its date.
Last code pushed 27 Oct 2026, the same day before this check.
Latest release v1.8.2 on 25 Oct 2026.
Public since August 2023, a little over 3 years.
1,641 stars and 362 forks.
10 commits and 1 new issues in the last 90 days.
8 contributors. 3 pull requests merged in 90 days. A small team carries it.
No security policy file says how to report a problem. No published security advisories.
How the bars are scored
- Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
- Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
- Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
- Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
- Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
- Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
- Security. A published security policy 80, none 40; published advisories are listed, not scored.
Checked by Repo Radar on 28 Oct 2026 from the repository on GitHub.
In simple English
This tool puts a 3D character on your website that talks to visitors. It moves its mouth in sync with spoken words in real time. You can use it for AI chats, virtual guides, or game hosts. It runs directly inside a web browser without heavy plugins. You need to provide your own 3D models and pay for text-to-speech services.
What it is
A browser JavaScript class that renders 3D avatars with real-time lip-sync using Three.js and WebGL. It maps text-to-speech audio and phonemes to 3D facial blend shapes and skeletal animations.
What it is good for
Solo builders who want to add an interactive 3D virtual assistant, AI companion, or game character to a web application.
Summary (Key Points)from the README
Key features
- Real-time lip-sync: Built-in lip-sync covers English, German, French, Brazilian Portuguese, Finnish, Lithuanian, and Bengali, and new languages can be added through language modules.
- Wider language reach via TTS: A TTS engine that outputs viseme IDs or blend shape data directly, such as Microsoft Azure Speech SDK, can extend lip-sync to 100+ languages.
- Avatar standards: Full-body GLB avatars with a Mixamo-compatible rig are supported, and each avatar needs 52 ARKit and 15 Oculus viseme blend shapes.
- Animation library: Mixamo FBX animations and poses drive movement, and the README cites more than 2000 Mixamo animations and poses.
- Emoji expressions: The class recognises emojis in text and converts them into facial expressions.
- Dynamic bones and physics: Hair and other extra bones can act as dynamic bones with a built-in physics engine.
- Speech control: Methods such as `speakText`, `speakAudio`, and streaming mode handle queued speech, subtitles, and pre-computed audio with visemes or timestamps.
- Idle behaviour and camera views: Eye contact and head movement have adjustable averages, and the views are full, mid, upper, and head.
- Listening mode: Silence and activity detection with configurable thresholds emit start, stop, and max events.
Ways to install
| Platform or method | What it needs | Effort |
|---|---|---|
| Download from GitHub releases | Your own web server; dependencies such as three.js are not included | Medium |
| Install from NPM | npm and a project that can import the package | Low |
| Import from CDN | An import map pointing to jsDelivr URLs and internet access | Low |
| Clone the test app (`index.html`) | Git, a web server, and optional API proxies for paid services | Medium |
Important
- Google TTS needs a key or proxy: The default TTS is Google Cloud TTS, which needs either a proxy with JSON Web Token single sign-on or an API key. The README advises against putting an API key in client-side code.
- Custom avatars have strict requirements: A custom model needs a Mixamo-compatible rig and the full ARKit and Oculus blend shape sets, or it will not work as described.
- Avatar and asset licences vary: Several example avatars and assets are for non-commercial use only, and the README warns that many commercial or marketplace avatars cannot be used in public web apps.
- Mixamo raw files are restricted: Raw Mixamo animation files cannot be distributed outside the project team or used to train ML models.
- Test app uses paid services: The `index.html` app integrates several paid services, and pasted API keys are not stored, so they must be re-entered after each reload. It is not needed if you only use the class.
- Realtime speech is costly: The README warns that OpenAI realtime speech-to-speech is much more expensive than standard text tokens.
- Some features are experimental: The `avatarOnly` mode is marked experimental.
- Faceit is paid: The README says the Faceit Blender add-on for creating blend shapes is paid.
- Single-maintainer side project: The author describes it as a small side project with no big plans.
Written by an AI model from the project’s README; not part of the review, and it can be wrong.
- Renders smooth 3D avatars and lip-sync entirely in the browser.
- Supports custom 3D models with Mixamo rigs and ARKit blend shapes.
- Includes built-in support for multiple languages and external text-to-speech APIs.
- Requires a 3D model with specific bone structures and shape keys, which takes effort to make.
- Depends on paid cloud text-to-speech services or separate browser modules for voice generation.
- Runs Three.js graphics, which can use significant memory on lower-end mobile devices.
Static avatar images and basic audio players without lip movement.
Three.js (a JavaScript library to display 3D graphics in a web browser)
- met4citizen/HeadTTS183 stars
Provides neural text-to-speech voices with viseme IDs that run locally in the browser.
- met4citizen/HeadAudio56 stars
Provides an audio processor for real-time viseme detection directly from audio streams.
- iconoir-icons/iconoir4.6k stars
1,671 hand-drawn icons, free for any use, packaged nine different ways.
- libvips/libvips12k stars
Resizes and converts images several times faster and with far less memory than the usual tool.
- ImageMagick/ImageMagick18k stars
Converts, resizes and edits images from one typed command, across more than two hundred formats.
git clone --depth 1 https://github.com/met4citizen/TalkingHead.git && rm -r TalkingHead/.git