audio + text → visemes → animation

OpenFaceFX
Studio

A professional, open lip-sync & facial-animation studio that runs right in your browser — preview on a 3D head, edit the curves, scrub the phoneme timeline, retarget through a face graph, and export to every target. Zero install.

$ pip install openfacefx ⧉ copy $ openfacefx studio Source on GitHub
8studio views 14+export targets 3ways to run numpy-onlypure-Python engine
the workspace

Every FaceFX view, rebuilt open

Each view is a window onto the same pipeline: audio & text become time-stamped phonemes, coarticulated viseme curves, then a rig-neutral retarget you export anywhere.

Open the Studio → Runs in your browser via Pyodide — nothing uploaded.
one frontend · three runtimes

Runs on the web, your PC, or as a SaaS

The same dependency-free app resolves to whichever runtime is present — it just works, online or off.

A · browser

Web & zero-install

The numpy-only engine runs client-side via Pyodide (CPython→WebAssembly). Your audio and text never leave the page. Host it as a static site.

B · desktop

Standalone PC

openfacefx studio serves the app against the native pipeline — faster, fully offline. Wrappable in Tauri/Electron for a signed app.

C · cloud

SaaS-ready

The same server behind real accounts + project storage. The key vault syncs ciphertext only; the LLM relay is a stateless pass-through.

bring your own model

An AI assistant, keys you actually control

LLMs help exactly where lip-sync benefits — and your provider key is encrypted in your browser, never uploaded in plaintext.

  • Clean transcript — normalize casing, numbers & abbreviations for accurate G2P.
  • Pronounce OOV words — grapheme→ARPAbet for names & brands the dictionary misses.
  • Direct emotion — a line's valence/arousal drives brow, eye & mouth-corner curves.
  • 🎬Direct the performance — plain-language notes become talking-style & gesture settings.
Anthropic · direct OpenAI · relay Gemini · relay Ollama / vLLM / LM Studio · local
🔒 zero-knowledge vault
master password
  └─ PBKDF2-SHA256 · 600,000 · salt
     └─▶ AES-256-GCM key (non-extractable)
API key ──encrypt──▶ { iv, ciphertext }
server stores only:
  { salt, iterations, iv, ciphertext }
↑ the key & password never leave your browser.
the LastPass/Bitwarden model, OWASP params.
built on the OpenFaceFX engine

Deterministic, dependency-light, and it exports to everything

The studio is a GUI over the pure-Python pipeline — the same coarticulation, link functions, mapping presets and exporters you can script from the CLI. One take, every target:

glTF .glbVRM .vrmaSpine .json Live2D motion3 · exp3Unity .animGodot .tres MMD .vmdARKit Live LinkAudio2Face .a2f.json Rhubarb · MohoBethesda .lipCSV · JSON