🗣 Talking Character · Sync-3

SHE SPEAKS a drawing finds its voice

One hand-drawn watercolor portrait. One voice line. No rigging, no face capture, no 3D — just a still picture and an audio track, and the character's mouth moves in sync with the words. Real assets, end-to-end on Livepeer's sync-lipsync-v3 cap (Sync Labs sync-3).

model
Sync Labs sync-3
cap
sync-lipsync-v3
input
1 still + 1 audio
render
~4 min · $8/min
other tools
gpt-image · gemini-tts
The point: any face, not just a real one. Talking-head models like heygen-twin and talking-head are tuned for photoreal humans. sync-lipsync-v3 drives any still — an illustration, a painted character, a single animated frame, a mascot — and lip-syncs it to whatever audio you give it. The video analog of "give your storybook narrator a voice." Draw the character once; let it speak forever.

Still in, talking out — same face, now speaking

Left: the static input — a single watercolor-and-ink portrait from gpt-image, front-facing, clean face. Right: the sync-lipsync-v3 output — the same illustration, now lip-syncing to a gemini-tts voice line. Unmute to hear it. The mouth shapes track the phonemes; everything else stays drawn.

Hand-drawn watercolor portrait of a young woman, front-facing, clean face — the static input still
INPUT · still illustration (gpt-image)
OUTPUT · sync-lipsync-v3 (unmute ▶)

Voice line: "I'm just a drawing — but Storyboard gives me a voice." Spoken by gemini-tts (voice "Aoede"), then driven onto the still by sync-lipsync-v3. No keyframes, no rig — the lipsync is generated from the audio.

How it was made — the recipe

01 · FACE
gpt-image · the character
A front-facing, clean, unobstructed face reads best for lipsync. Any still works — illustration, painting, a mascot, or an animated frame pulled from an existing reel. (Photoreal too, but for humans heygen-twin may read more lifelike.)
02 · VOICE
gemini-tts · the line
Generate (or upload) the audio track. Any TTS cap works — gemini-tts, chatterbox-tts (voice-clone), inworld-tts. Host local audio with host-local-file.sh first so it's a public URL.
03 · LIPSYNC
sync-lipsync-v3
create_media(action:"lipsync", source_url:<still>, audio_url:<voice>, model_override:"sync-lipsync-v3") — or just mention "sync-3"/"sync-lipsync". The still is the source; the audio drives the mouth.
04 · FINISH
ffmpeg · scenes
Chain multiple lines for a dialogue, ffmpeg-concat shots, ffmpeg-burn-subtitles for captions, ffmpeg-export to platform aspect. One drawn character can carry a whole explainer.

When to reach for it — sync-3 vs the other talking caps

Three talking caps live on Livepeer, and they don't overlap. Pick by what the face is:

sync-lipsync-v3
stylized / drawn faces
Illustrations, cartoons, painted characters, mascots, animated frames. The only cap built to lip-sync a non-photoreal still. $8/min.
heygen-twin
a real personal avatar
A trained digital twin from a 15s recording — most lifelike identity for a real human across camera angles. $0.105/s.
talking-head
one-off photoreal lipsync
Drop-in lipsync for an existing photoreal portrait when you don't need a trained twin.

Verdict: ships. A single drawn portrait + a voice line → a talking character with believable, audio-driven lipsync in ~4 minutes. The face stays exactly as drawn; only the mouth moves. The one cap on the network that lets illustrations speak.

Render long lines as several short clips — sync-3 is a slow ($8/min) cap, so keep each segment under ~10s and ffmpeg-concat them, rather than one long take. Available on MCP, the CLI, and the webapp via action:"lipsync" or by mentioning "sync-3" / "sync-lipsync".