Analysis updated 2026-05-18
Build a browser-based 3D avatar editor without running any backend server.
Experiment with identity and expression blending for character or research work.
Export edited head presets as JSON to use in a matching Blender workflow.
Study how a Blender-based head model can be ported to run entirely client-side.
| ademola-lou/threejsgnm | alicankiraz1/codexqb | amirmushichge/vibemotion | |
|---|---|---|---|
| Stars | 28 | 28 | 28 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 3/5 | 3/5 | 3/5 |
| Audience | developer | developer | designer |
Figures from each repo's GitHub metadata at analysis time.
Requires Node.js 20+ and a 53 MB model download, regenerating assets needs Python, numpy, and h5py.
ThreejsGNM is a browser based tool for editing a 3D human head model. It is a TypeScript rebuild of Google's GNM v3 head model and its reference editor, which normally runs inside Blender. Here, all the math for shaping identity, facial expression, pose, and skin deformation happens directly in the browser, and the result is rendered with the Three.js graphics library, so no server or backend application is needed to view or edit a head. To run it locally you need Node.js version 20 or newer. After installing dependencies you start a local development server with a single command, and the app opens at a local address in your browser. There is also a test command, a build command for producing a production version, and a preview command for viewing that production build. The finished files can be hosted on any static file server since there is no backend logic involved. The first time the app loads, it downloads a 53 megabyte data file containing the head model, then decompresses it, so a desktop browser with WebGL support is recommended for enough graphics memory. These official model files keep Google's original Apache 2.0 license and attribution. If you want to regenerate these files yourself rather than using the ones included, you would need Python along with the numpy and h5py libraries, but this is only needed for that one preparation step, not for running or building the actual web app. Features include full control over hundreds of identity and expression parameters, randomized sampling across expression categories, blending between identity and expression, mirrored eye expressions, separate controls for neck, head, and eye pose, and the official head shape data with textures and materials. You can save named presets in the browser and import or export them as JSON files compatible with the Blender version. The README notes that the underlying GNM model has known representation limitations from its training data, and recommends reviewing the original Google project before using any demographic related controls in a real product or research study.
A browser tool for shaping and posing a 3D human head model, rebuilt from Google's GNM system, with no server needed to run it.
Mainly Python. The stack also includes TypeScript, Three.js, Vite.
The app's own code has no stated license here, but the bundled Google model assets keep their original Apache 2.0 license, which allows free use with attribution.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.