ARKit 52
The standard names used by Apple ARKit, Ready Player Me, Character Creator and most avatar tools.
The network that moves our hosts’ mouths, as a service of its own. Send what your character says, with its audio or phoneme timings, and get ARKit mouth curves fitted to your model, ready to play at 30 fps.
Most lip sync gives every face the same generic shapes. We calibrate to the blend shapes your model actually has, so the mouth reads right on your character, not just on ours.
GLB, FBX or VRM. We read its blend shapes, map them to ARKit names and measure how strong each one is, so a weak pucker or a strong jaw still reads right.
The text, plus its audio (any voice: ElevenLabs, OpenAI, a recorded actor) or the phoneme timings your text-to-speech already gives you.
One row of weights per frame, as JSON, CSV or a glTF animation. Drive your morph targets with it in three.js, Unity, Unreal or your own engine.
POST https://api.lobbyface.com/v1/lipsync
{
"model_id": "mdl_…",
"text": "Hi, I'm Riya. I welcome your visitors the moment they arrive.",
"audio_url": "https://…/line.wav",
"format": "arkit",
"fps": 30
}{
"fps": 30,
"duration": 3.37,
"curves": ["jawOpen", "mouthClose", "mouthFunnel", …],
"frames": [
[0.47, 0.008, 0.002, …],
[0.562, 0.007, 0.002, …],
…
]
}Early access · the request shape may still change · numbers are real output
Pick the format your engine already uses. Every format comes from the same timing, so switching rigs doesn’t change how the speech feels.
The standard names used by Apple ARKit, Ready Player Me, Character Creator and most avatar tools.
Only the blend shapes your character has, calibrated from the upload.
A drop-in path for projects built on Oculus Lipsync, which Meta has retired.
The five vowel shapes of VRM avatars and VTuber tools.
Today the network runs inside our own hosts, on the visitor’s device. We are opening a hosted API and a browser package to a first group of developers, English first.
It works from phonemes: which sound is said, and when. Send audio with its text and we align them on our side to get those timings; if your text-to-speech already gives timings, send them and skip that step.
Any English voice, synthetic or recorded. Other languages need their own phoneme set and training; tell us which you need.
A sentence takes a few milliseconds, so the curves are ready before the audio starts playing. Streaming for live conversation is on the roadmap.
Yes. The model is 512 KB and runs in the browser, Node or Python. A self-hosting licence is planned for teams that want it on their own servers.
That is what the output formats are for: Oculus’s 15 visemes, the ARKit names Ready Player Me avatars use, and VRM’s five vowels.
Early access is free. After that we plan a free monthly allowance, then pay per minute of speech, with a self-hosting licence for larger teams.
Audio is deleted after processing. Models are kept only while you keep their model id, and are never used for anything else.
Your rig, your voice and where it runs. We’ll set you up in the first early-access group and test the curves on your model.