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.
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.
A 3D ARKit-blendshape head, driven by the take in real time — orbit, zoom, scrub, pose & expression presets.
phonemesWaveform with the aligned phoneme & word strip, plus a QA pass for cue timing & out-of-vocabulary words.
curvesCoarticulated viseme & gesture curves — drag keyframes, box-select a range, undo/redo.
eventsEmphasis & phrase events auto-authored from the speech, on a timeline — they export as engine notifies.
face graphEditable retarget network — clone rig outputs, tune weights & link functions; nodes glow with the live signal.
mappingThe phoneme→viseme weight table — edit it and re-solve, or export a reusable openfacefx.mapping.
The same dependency-free app resolves to whichever runtime is present — it just works, online or off.
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.
openfacefx studio serves the app against the native pipeline — faster, fully offline. Wrappable in Tauri/Electron for a signed app.
The same server behind real accounts + project storage. The key vault syncs ciphertext only; the LLM relay is a stateless pass-through.
LLMs help exactly where lip-sync benefits — and your provider key is encrypted in your browser, never uploaded in plaintext.
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: