LatentSync 1.6 for audio.cpp

Star or watch audio.cpp on GitHub for model integration and inference updates.

Use this package with audio.cpp. It synchronizes lip motion in an existing video with supplied speech.

Upstream code is pinned to a229c3948406bc2cf6eaf4873e662e70c6a04746.

This package contains InsightFace face detection and landmark weights restricted to non-commercial research. LatentSync's Apache-2.0 license does not override those terms. Review upstream licenses before redistribution or deployment.

Each GGUF includes the temporal diffusion U-Net, Whisper Tiny audio encoder, SD VAE, SCRFD face detector, 106-point landmark model, face mask, configuration sidecars, and embedded audio.cpp model spec. Inference requires no Python or ONNX Runtime.

File Precision
latentsync-1.6-q8_0-f16.gguf (recommended) Q8 U-Net linear weights; remaining weights F16.
latentsync-1.6-f16.gguf F16.
latentsync-1.6-f32-f16.gguf Original mixed F32/F16.

Full-Duration CUDA Example

This example uses the official LatentSync demo1_video.mp4 and demo1_audio.wav. The complete 9.6-second speech recording is retained, not a shortened smoke clip. The source video's original soundtrack is replaced by the supplied speech. Regenerated on 2026-10-21 with audio.cpp 545b212f.

audio.cpp Q8/F16 (recommended)
audio.cpp F16
audio.cpp Original F32/F16
Official Python output

The Python reference was generated with the official LatentSync implementation using the same demo video and speech. It is a generated result, not the source video. All three audio.cpp outputs use DeepCache (cache_interval=3) and the supplied reference speech below, replacing the source video's original soundtrack.

Download generated video | Official Python output | Source input video | Reference speech

Setting Value
Backend / GPU CUDA / NVIDIA GeForce RTX 5090
Package latentsync-1.6-q8_0-f16.gguf, native weight storage
Reference speech 9.60 seconds, 16 kHz mono
Output 1080x1920, 25 FPS, 242 frames (9.68 seconds)
Denoising 20 steps, guidance 1.5, seed 1247
Temporal chunk 16 frames
DeepCache Enabled (cache_interval=3)
Session time 132.95 seconds
Video RTF 13.73
Full CLI wall time 134.77 seconds
Peak VRAM 9,144 MiB
Peak CPU RSS 5,151.48 MiB

The slightly longer video follows the model's audio-feature windowing. This example was generated with the CUDA Debug build and DeepCache enabled, without the optional cuDNN FP16 execution modes. The run used eight CPU threads. Peak process memory was sampled every 20 ms across loading and generation; session time excludes model loading, while full CLI wall time includes loading and writing the raw-frame artifacts. MP4 encoding is a separate step and is not included in either timing.

Precision Comparison

Same full example and settings, with DeepCache enabled (cache_interval=3). Each measurement is the first request in a fresh process, not a warmed average. RTF uses the 9.68-second generated video duration.

Package Session time Video RTF Peak VRAM
Q8/F16 (recommended) 132.95 s 13.73 9,144 MiB
F16 137.11 s 14.16 9,974 MiB
Original F32/F16 155.77 s 16.09 15,700 MiB

Download F16 video

DeepCache Comparison

Same full example, binary, inputs, seed and native precision; only cache_interval changes. Each run is the first request in a fresh process. RTF is session time divided by the 9.68-second generated video duration.

DeepCache Session time Video RTF Peak VRAM Peak CPU RSS
On (cache_interval=3) 155.77 s 16.09 15,700 MiB 5,137.10 MiB
Off (cache_interval=1) 294.19 s 30.39 15,540 MiB 5,162.53 MiB

DeepCache is 1.89x faster here, using 160 MiB more peak VRAM. No obvious visual degradation was observed in the inspected frames of this example; this is not a quantitative quality evaluation or pixel-parity claim.

Download DeepCache video | Download no-cache video

The command below reproduces the recommended Q8/F16 cached example. The DeepCache comparison above uses the original F32/F16 package.

Run

Install FFmpeg on PATH, then run:

audiocpp_cli --task gen --family latentsync \
  --model latentsync-1.6-q8_0-f16.gguf --backend cuda \
  --audio examples/demo1/reference.wav \
  --request-option reference_video_file=examples/demo1/reference.mp4 \
  --request-option num_inference_steps=20 \
  --request-option guidance_scale=1.5 \
  --request-option seed=1247 \
  --request-option cache_interval=3 \
  --out-dir outputs/latentsync --log

The CLI writes RGB24 frames and a small JSON metadata sidecar. MP4 encoding and audio muxing are separate FFmpeg steps; see the model guide.

For these example inputs, encode the generated frames and add the speech with:

ffmpeg -f rawvideo -pixel_format rgb24 -video_size 1080x1920 -framerate 25 \
  -i outputs/latentsync/latentsync_video_rgb24.rgb \
  -i examples/demo1/reference.wav \
  -c:v libx264 -threads 4 -pix_fmt yuv420p -crf 18 \
  -c:a aac -movflags +faststart output.mp4

Upstream Sources

Downloads last month
230
GGUF
Model size
1B params
Architecture
audiocpp
Hardware compatibility
Log In to add your hardware

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for audio-cpp/LatentSync-1.6-GGUF

Quantized
(2)
this model