MuseTalk 1.0 vs 1.5 comparison evidence — 11 October 2026

Public comparison: https://musetalkai.com/musetalk-1-vs-musetalk-1-5/
D18-1: matching permitted inputs and exact version identities verified.
D18-2: both versions ran successfully, one warm-up and four measured processes
each. Ten labelled videos, complete logs, per-run timing and memory records.
D18-3: comparison update uses these results, matched output screenshots and
official model download links.

Sample: fictional project-generated adult portrait held as a stationary
512x512, 25 fps video. Speech: eSpeak NG synthetic en-US voice, 16 kHz mono PCM.
Transcript: Please bring me a blue mug. We can meet on Friday.
These project-created media may be reused and redistributed for tutorials and
tests. No real-person footage or cloned voice is included. Software and model
licenses remain with their upstream projects; model weights are not bundled.

Tested hardware: NVIDIA GeForce RTX 4090, 24,564 MiB, driver 590.48.01,
Ubuntu 24.04, Python 3.10.18, PyTorch 2.0.1+cu118, MMCV 2.0.1.
Same input bytes, shared models, FP16, batch 2, four CPU threads. Normal inference
rebuilds coordinates/latents for each new process. One warm-up per version is
excluded. Measured pairs: v1/v15, v15/v1, v15/v1, v1/v15.
The existing ComfyUI process remained resident. NVML process peaks attribute
memory to the one new inference process and exclude that resident baseline.

Elapsed time includes new-process startup, imports, model loading,
preprocessing, generation and encoding. Warm OS file caches; no cold-boot or
prepared-avatar speed claim. Identical stage synchronization/instrumentation
was used for both versions. Downloads, setup and transfers are excluded.
PyTorch allocated peaks differ from total process memory. Memory results are
measurements of this configuration, not a minimum GPU requirement.

Source: TMElyralab/MuseTalk, commit
0a89dec45a0192b824e3cf4daf96c239440c5ed8.
Model revision: 2bcb936e2fddb4d86db4c62fd45b387d0c061571.
Actual loaded checkpoint hashes are in evidence/model-verification.json.
Tracked upstream source was unchanged. Instrumented source is a separate file.
v1 uses bbox_shift 0 and default blending. v15 fixes bbox_shift at 0, adds a
10-pixel lower crop margin and uses jaw parsing with cheek widths 90. This is
a comparison of the supported version pipelines, not a checkpoint-only test.

The VAE samples latents; no seed override was applied in either version.
The four measured outputs per version have different hashes. These examples
illustrate pipeline output and do not isolate a checkpoint-only quality score.

Output selection was fixed at measured run 1 for both versions. Screenshot
frames were preselected at 20/40/60 (0.8/1.6/2.4 seconds at 25 fps). PNGs retain
the decoded pixels. Contact sheets show frames 0,10,...,80 for visual inspection.
Screenshots cannot establish lip-sync quality. No numerical quality evaluator
was run, and one short stationary portrait does not cover head movement.

Reproduce on a fresh Linux x86_64 NVIDIA GPU container with at least 25 GiB free:
1. Extract the archive to /workspace/d18-kit.
2. Run bash /workspace/d18-kit/runtime/setup-job.sh.
3. Require setup-exit-code.txt to contain 0. The setup validates CUDA/FP16,
   MMCV GPU kernels and pinned model hashes before inference.
4. Run bash /workspace/d18-kit/runtime/run-job.sh.
5. Read comparison-console.log and require comparison-exit-code.txt to be 0.
   New measurements are in /workspace/d18-evidence.
6. Require all ten outputs, both streams, full FFmpeg decode and matching
   checksums. Inspect the clips. Fresh outputs need not have identical hashes
   or timing on another GPU; generation is not guaranteed byte-deterministic.
The runner refuses an existing evidence directory. Preserve previous evidence
and use a fresh workspace before repeating; do not overwrite prior results.

The archive contains no SSH connection data, credentials or WordPress backup.
SHA256.json verifies archive file contents, excluding the checksum file itself.
