AI and models · Independent · 28 Oct 2026

met4citizen/TalkingHead

Talking Head (3D): A JavaScript class for real-time lip-sync using full-body 3D avatars.

← AI and models
TalkingHead: 3D avatar lip-sync. Real-time lip-sync and 3D avatars for web apps.
Verified28 Oct 2026

Radar check

What we found when we opened it. Every bar is one fact, with its date.

Alive100

Last code pushed 27 Oct 2026, the same day before this check.

Releases100

Latest release v1.8.2 on 25 Oct 2026.

Maturity70

Public since August 2023, a little over 3 years.

Adoption64

1,641 stars and 362 forks.

Activity45

10 commits and 1 new issues in the last 90 days.

Community40

8 contributors. 3 pull requests merged in 90 days. A small team carries it.

Security40

No security policy file says how to report a problem. No published security advisories.

Licence MIT: permissive: use it for anything, keep the noticeSetup effort 3 of 5Payoff 4 of 5
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.

Stars1.6k
LicenceMIT
Latestv1.8.2 (2026-10-25)checked 28 Oct 2026
Last code change2026-10-27
Written inJavaScript
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 methodWhat it needsEffort
Download from GitHub releasesYour own web server; dependencies such as three.js are not includedMedium
Install from NPMnpm and a project that can import the packageLow
Import from CDNAn import map pointing to jsDelivr URLs and internet accessLow
Clone the test app (`index.html`)Git, a web server, and optional API proxies for paid servicesMedium
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.

Setup effort
3 / 5
Payoff
4 / 5
Good
  • 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.
Watch for
  • 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.
Replaces

Static avatar images and basic audio players without lip movement.

Works well with

Three.js (a JavaScript library to display 3D graphics in a web browser)

Similar repositories
  • 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.

Also reviewed on Repo Radar
  • 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.

Install
git clone --depth 1 https://github.com/met4citizen/TalkingHead.git && rm -r TalkingHead/.git

Independent: reviewed for Repo Radar outside the daily editions. Every independent repository

On Stack Radar: AI & Automation › AI Models & Inference › Speech & Voice Models.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.