param( [int]$Port = 7860, [string]$HostName = "0.0.0.0", [ValidateSet("ffmpeg_mux", "command", "copy_video")] [string]$Backend = "ffmpeg_mux", [switch]$Install ) $ErrorActionPreference = "Stop" $Root = Resolve-Path -LiteralPath (Join-Path $PSScriptRoot "..") Set-Location $Root $Uv = Get-Command uv -ErrorAction SilentlyContinue if (-not $Uv) { throw "uv is required. Install it first: https://docs.astral.sh/uv/getting-started/installation/" } if ($Install) { & $Uv.Source sync } $env:LIPSYNC_HOST = $HostName $env:LIPSYNC_PORT = "$Port" $env:LIPSYNC_BACKEND = $Backend $env:PYTHONPATH = (Join-Path $Root "src") & $Uv.Source run python -m digital_human_lipsync_service