learnVoice & sound
AI lip sync video: cloning your voice onto a character in 2026
Bank a cloned voice once, reuse it on every render, and pick the engine that actually syncs. The credit math and the Kling, Seedance and Veo lip-sync workflow.
by reeldouble · October 15, 2026 · 8 min read
Lip sync is the step that outs an AI video. The character looks right, the shot looks right, and then she opens her mouth and the words land a quarter-second late and the illusion falls apart. Audience retention collapses between the three-second mark and the five-second mark, and that is the lip-sync drop.
So this one matters more than most tutorials make it look. I run a studio where lip sync is a first-class step — the character banks a voice once, every render reads it, and we price it per clip the same way we price the render. Here is the workflow, with the engines, the credit math, and the one setting most tutorials skip.
The two parts of lip sync
Lip sync is two problems that get collapsed into one word.
The voice. A character needs a voice that is theirs. On a serialized channel the same character has to sound the same in part one, part two and part four, which means the voice is as much an identity asset as the reference sheet. If every render re-samples a different voice, the character has a different voice every episode, and the audience notices in the same way they notice when the face shifts.
The sync. A voice track and a character video have to arrive at the mouth together. The engine has to generate mouth shapes that match the phonemes, or you have to run a dedicated lip-sync step over a silent render, or you have to use an engine that ships native audio and generates the two in one pass. These three paths cost different things and look different.
Every tutorial you'll read collapses these two into "lip sync" and then recommends a tool. The honest answer is that the voice is a one-time step with its own price and the sync is a per-render step with another price, and the engine you choose for the render decides which path you take.
Banking a voice once
The voice-first step is the one most workflows skip and the one that saves the most credits over a serialized channel.
On our studio a character has three identity artefacts: a reference sheet, an identity prompt, and a voice. The voice is cloned once per character — a short sample uploaded, run through a voice-clone call, saved to the character's row in the account. The flat cost is fifty credits, paid once, released if the clone call refuses. A banked voice from the voice library we curate is free; it was cloned once, by us, and every account can use it without paying for the clone again.
The cost of fifty credits one time to clone a voice reads cheap because it is. A ten-episode serialized channel runs its character's voice through roughly a hundred and twenty renders. If the voice were re-cloned each render it would be a thousand two hundred credits per episode in voice; priced as a one-time asset it is fifty total.
The daily limit on fresh clones is ten per account. A real serialized channel never approaches ten clones in a day; the limit exists so a scripted mistake can't drain an account overnight.
The engines, by sync approach
Three engines on our shelf handle lip sync and they fail in different ways.
Veo 3.1 Fast — native audio in one pass. Google's engine generates the video and the audio in the same call. You hand it an image or a prompt and a script; it returns the clip with a voice already synced to the character's mouth. It is the only engine on our shelf that does this natively. The character has to be close enough to the camera for mouth shapes to read; a wide shot where the mouth is six pixels wide is a shot where sync doesn't register anyway.
The limits are the limits: four, six or eight seconds, nothing in between; a reference render is always eight seconds; up to three reference images per generation; 720p or 1080p. For a punchy voiced beat — a line, a reaction, a one-breath delivery — Veo is the cleanest sync we ship.
Kling O3 Pro — voiced render, provider mouths. Kling takes a voiced render as a toggle: thirty credits a second voiced, twenty-four silent, at 720p. The engine generates mouth shapes against the audio track it synthesizes. For a story shot where the character is talking at mid-distance and the camera is moving across her, Kling is the engine; its character hold is the best on our shelf through camera moves, and the mouth motion reads as plausible from the shot distance a story usually sits at.
Seedance 2.5 — audio always on, long shots. Audio is not a toggle on Seedance 2.5; it is bundled into every render, billed by resolution. For a continuous shot longer than fifteen seconds — a monologue, a slow reveal, a conversation beat — Seedance 2.5 is the engine that renders the full length in one pass. Thirty seconds in one generation means thirty seconds of sync in one pass without a cut.
If a shot is longer than fifteen seconds voiced, it is a Seedance 2.5 shot. If a shot is punchy and under eight seconds, it is a Veo shot. If a shot is in between, with a camera move across the character, it is a Kling shot.
The credit math, honestly
A ten-episode serialized channel, one voiced character, 90 seconds an episode, 720p vertical.
| step | per episode | across ten episodes |
|---|---|---|
| voice clone (once per character) | 50 cr | 50 cr |
| reference sheet (once per character) | 20 cr | 20 cr |
| six opening frames | 120 cr | 1,200 cr |
| 60 seconds voiced Kling at 30 cr/s | 1,800 cr | 18,000 cr |
| one Seedance 2.5 signature shot of 15 s | 1,350 cr | 13,500 cr |
| one Veo 3.1 Fast opener of 8 s voiced | 240 cr | 2,400 cr |
| captions, 90 seconds | ~8 cr (free from Creator up) | ~80 cr |
| export | 20 cr (free from Creator up) | 200 cr |
| retakes (1 in 3) | ~1,100 cr | ~11,000 cr |
| total | ~4,700 cr | ~46,400 cr |
At the Creator plan (6,000 credits a month at $45), a ten-episode run is roughly $350 of credits over two months. Voice clone is 0.1% of that total, which is the whole point of banking it as an identity asset.
Switch to Veo-heavy — most beats are eight seconds or shorter — and the per-episode drops to roughly 3,500 credits. Switch to Seedance 2.5-heavy and it climbs to around 9,000. The audio toggle on Kling is where the biggest controllable saving lives: a silent b-roll shot of your character looking at something off-camera, with voice-over from a different clip, is 20% cheaper than the voiced equivalent on Kling and 50% cheaper than Veo voiced.
The one setting most tutorials skip
The voice track that drives the sync is almost always too long and too compressed. Specifically:
Trim before you sync. Every voice clone call reads the whole sample. A thirty-second sample uploaded as a reference pulls in a sample with pauses, filler words, "um" sounds in the middle of a sentence. The clone comes back fluent in a voice that pauses, umms and self-interrupts. Trim the reference to the ten cleanest seconds before you clone.
Normalize the voice line's loudness. Dialogue at -14 LUFS integrated reads at the same volume on every platform. Export the voice line at that number and the sync engine has one less variable to fight. A loud voice line distorts the mouth prediction; a quiet one wobbles between phonemes.
Match the room. If part one's voice was recorded dry and part two's voice was recorded in a reverberant room, the clone sounds like two different voices even though the vocal tract is the same. Pick one acoustic and stick to it. If you're banking a voice for a serialized channel, record the reference once in a wardrobe-closet dry acoustic and never re-sample.
Those three — trim the sample, normalise the loudness, match the room — are the three settings every tutorial about lip sync skips. They do more for sync quality than switching engines ever will.
When you want a dedicated lip-sync tool instead
Honest answer: when you have footage of a real person's face that you need to sync to new audio. That is a different workflow from "AI character with a cloned voice". Dedicated tools in that category — Hedra Character-3 for single-image lip sync, HeyGen for talking-avatar video — are what you want when the input is a photo and the output is a talking head. They are not generators of a character video; they are drivers of mouth motion over footage.
Our shelf does the first workflow — a cloned voice attached to a generated character video — rather than the second. If your input is a photo of a real person and your output is "that person saying this new line", a dedicated avatar tool is a better fit than any engine on our shelf. If your input is a scripted character and the output is a story clip, this is the workflow.
What to do when sync drifts
Three failures I see on sync, in order of frequency.
The mouth lags the voice by a quarter-second. Almost always a frame-rate mismatch between the audio sample rate the engine expects and the file you uploaded. Export the voice at 48 kHz WAV and re-run; the lag is usually gone.
The mouth opens on an empty beat. The character has a mouth motion where the voice is silent. The engine misread a pause as a plosive. Trim the pause tighter in the audio file, or let the character turn away from the camera on that beat; the audience reads a non-speaking mouth as odd and a non-speaking back-of-head as naturalistic.
The voice is right but it isn't the character's voice. You cloned a different voice. Open the character's row, verify which voice is attached, re-attach the banked clone, re-render. If the clone was never run, the engine will have used a stock voice and the fix is to run the clone and attach it to the character before the next render.
The honest part
Our 9.7 million views across thirty days on @cevrico came from characters that look and sound the same from episode to episode. Our own results, not a projection; yours will depend on what you make.
Voice is the half of character identity most tutorials skip. Bank it once, trim the sample, match the room, and the sync becomes the engine's job. A free account comes with 300 credits: that is a reference sheet, a voice clone, and your first eight-second voiced Veo render, before you spend a dollar.


