modelbeast/server/operators/lipsync_local/manifest.json
type-two 110b2298b7 audio/video/text operator suite: stt_local, lipsync_local, voice_clone_local, wan_video, llm_local
- stt_local: Whisper large-v3-turbo MLX, transcript + timestamped json
- lipsync_local: Rhubarb visemes (CPU lane), dialog-guided
- voice_clone_local: Chatterbox on MPS (needs setuptools<81 for perth/pkg_resources)
- wan_video: Wan 2.2 TI2V-5B t2v/i2v via resident ComfyUI, frames->mp4
- llm_local: Qwen3-30B-A3B-4bit dialogue writer (primary-only)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 18:26:51 +10:00

18 lines
967 B
JSON

{
"id": "lipsync_local",
"name": "Lip Sync (local, Rhubarb)",
"category": "audio",
"description": "Speech WAV → mouth-shape timing JSON via Rhubarb Lip Sync (fully offline, CPU). Output is timed Preston Blair visemes (A-F + optional G/H/X) — map each shape once to a blendshape/pose on a rigged head and every voice line animates itself. Pass the known transcript as 'dialog' for noticeably better accuracy (we always have it for tts_local lines). Input must be WAV/OGG. Install: scripts/install_rhubarb.sh",
"accepts": ["audio"],
"produces": ["data"],
"resources": "cpu",
"entry": "run.py",
"params_schema": {
"type": "object",
"properties": {
"dialog": {"type": "string", "default": "", "description": "The spoken text, if known — improves phoneme alignment"},
"shapes": {"type": "string", "enum": ["extended", "basic"], "default": "extended", "description": "extended = A-F+GHX (8 shapes), basic = A-F (6)"}
}
}
}