install the engines the presenter has been preferring all along
LatentSync and MuseTalk have been selectable by name for a while, and `engine: "auto"` has ranked both ahead of wav2lip whenever there was a clip to drive -- wav2lip works at 96x96 and upscales, which is the soft mouth on a 1080p reel. Nothing ever installed them, so every selection ended at "neither on PATH nor installed", and the call that would have been made could not have worked either: LatentSync requires its checkpoint and UNet config as well as the three paths, and MuseTalk takes a YAML task list and writes into a result directory rather than taking paths at all. Coderai orchestrates what it serves, so it installs these. The inference source is vendored under third_party/ and pinned to a commit, for the reason LongCat's is: an image someone else pulls has to run without network access to a third party. The weights come from the Hub on first use, never during a render. Each engine gets its own venv on its own python, because both pin stacks the server cannot host. Upstream MuseTalk takes its BiSeNet face-parsing checkpoint off a Google Drive id and a pytorch.org URL; both come from a Hub mirror here, so the whole set has one provenance. _managed_engine_ready used to answer "an entrypoint and any .pt anywhere", which reads an interrupted download as a working install. It now asks the module that knows the file list, and the old heuristic keeps covering an engine an operator installed by hand. /v1/video/presenter/engines reports what an uninstalled engine is short of, so a client can tell "not yet" from "never here". Verified live: LatentSync installed from nothing and lip-synced a 2s 480x480 clip to real narration in 136s. Co-Authored-By:Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014T3rZnLhydX9QqUcfBbqLu
Showing
codai/api/lipsync_engines.py
0 → 100644
This diff is collapsed.
requirements-latentsync.txt
0 → 100644
requirements-musetalk.txt
0 → 100644
This diff is collapsed.
This diff is collapsed.
third_party/MUSETALK-LICENSE
0 → 100644
This diff is collapsed.
third_party/MUSETALK-PINNED
0 → 100644
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
1.83 KB
1.22 KB
1.15 KB
1.22 KB
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
File added
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.