How to Fix AI Lip Sync Drift and Audio Lag, Step by Step

A talking avatar whose mouth slowly falls out of step with the voice ruins an otherwise good video. Before you spend more generation credits on a re-render, it is worth finding out which of two different problems you have, because they have different fixes and many cases can be repaired in your editor. Last checked: 27 October 2026.

Key takeaways

  • A constant offset stays the same from start to finish. Nudge the audio and you are done.
  • Progressive drift grows over time. It is often a frame-rate or audio-timing mismatch introduced after generation, not a failure of the model.
  • Convert clips to a constant frame rate, match audio to 48 kHz, and re-check at the start, middle and end before you re-render anything.

Two different problems

Constant offset. The mouth is slightly early or late at the first word, and the gap is the same at the end. At 30 frames per second, one frame is about 33 milliseconds, and at 24 frames per second it is about 42 milliseconds, so a gap of one or two frames is small but noticeable. Viewers tend to notice audio that arrives before the picture more easily than audio that arrives late.

Progressive drift. The mouth matches the first words, then falls further behind as the clip plays. By the end of a minute it can be a beat late. A drift like this usually points to timing: variable frame rate video, mismatched audio sample rates, or re-encoding that changed the length of one stream.

The three-point check

  1. Start: play the first spoken word. Is the mouth early, late or in sync?
  2. Middle: find a pause or a hard consonant such as a “p” or “b” near the halfway mark. Is the gap the same as at the start?
  3. End: check the last sentence. If the gap has grown, you have drift. If it matches the start, you have a constant offset.
What you seeLikely causeFirst fix to try
Same small gap start to endA fixed offset between audio and videoSlip the audio track a frame or two, or use the offset command below
Gap grows over the clipVariable frame rate or sample-rate mismatchConvert to constant frame rate and 48 kHz audio, then re-import
Sync is fine in the generator, off after exportExport or conform settings changed timingMatch sequence and export frame rate to the source
Mouth shapes look wrong, not just lateThe lip-sync model itselfRegenerate with the final audio, in shorter segments

Fix 1: Check and convert the frame rate

Many clips from phones, screen recorders and some generators use a variable frame rate (VFR), which editors can handle badly. A quick check with FFprobe shows the frame rate values. If the two numbers differ, the clip is probably variable:

ffprobe -v error -select_streams v:0 -show_entries stream=avg_frame_rate,r_frame_rate -of default=nw=1 input.mp4

Convert to a constant frame rate that matches your project, and set the audio to 48 kHz while you are at it:

ffmpeg -i input.mp4 -vf fps=30 -c:v libx264 -crf 18 -c:a aac -ar 48000 output.mp4

Use 30 here only if your project is 30 frames per second. Use the same number as your editing sequence. If you prefer not to use the command line, most editors have a setting to conform or transcode media to constant frame rate on import.

Fix 2: Nudge a constant offset

In your editor, move the audio clip one or two frames earlier or later and play the first sentence again. Change by one frame at a time. If you would rather do it in FFmpeg, the following delays the audio in a new file by 0.08 seconds. Use a negative value to move it earlier:

ffmpeg -i video.mp4 -itsoffset 0.08 -i audio.wav -map 0:v -map 1:a -c:v copy -c:a aac output.mp4

Want the free PDF guide on making videos without filming? Jump to the sign-up.

Fix 3: Correct slow drift

If the gap grows steadily and the clip is already constant frame rate, the audio may be running slightly long or short. FFmpeg’s resample filter can stretch or squeeze the audio to match the timestamps. In this command the number is the maximum count of audio samples per second that FFmpeg may add or drop, so a modest value is safer than a very large one:

ffmpeg -i input.mp4 -af aresample=async=1000 -c:v copy -c:a aac output.mp4

Check the result by ear, and read the FFmpeg documentation for the resample filter for your version before relying on it for important work.

Fix 4: Re-generate in a way that avoids the problem

  • Lock the final audio first. Generate the lip-sync on the exact audio you will publish, not on a version you later trim or re-encode.
  • Use shorter segments. Splitting a long script into shorter clips and joining them gives timing less room to wander.
  • Keep one sample rate. Use 48 kHz audio throughout the project.
  • Match frame rates. Set the sequence, the source clips and the export to the same frame rate.

If the avatar’s face also looks warped when it moves, see our guide to fixing warping with camera-motion prompting. If the character changes between scenes, use the 3-scene consistency test to compare tools.

When to re-render and when not to

Re-render when the mouth shapes themselves look wrong, or when the sync is bad even in the raw file from the generator. Fix it in your editor when the raw file is fine and the problem appeared after import or export. Checking the raw file first takes a minute and can save the cost of a full re-generation.

FAQ

How much audio delay is too much?

There is no single number for every viewer. A gap of a frame or two is usually noticeable on close-ups, and audio that leads the picture tends to bother people more than audio that trails it. Aim for the mouth and the sound to feel locked together on hard consonants.

Why is the sync fine in the generator but off in my editor?

Timing can change on import or export, for example when a variable frame rate clip is placed on a constant frame rate timeline. Convert the clip first and keep the sequence and export frame rate the same.

Is this a problem with the AI model?

Sometimes, but a drift that grows over time is more often a timing mismatch in the files. Check the raw file from the generator before blaming the model.

Sources and further reading

FREE PDF GUIDE

Create YouTube videos without filming, editing or showing your face

Get the step-by-step guide, plus a short email whenever a platform rule changes that affects faceless channels.

Subscription Form

No spam. Unsubscribe any time. See our Privacy Policy.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top