intabai / video face swap

github

models (cached in browser)
show / hide model cache Models download once into your browser and persist across visits. Nothing leaves your machine.
video
face image
options
- better blending around hair/hands. small per-frame cost.
advanced
- verbose diagnostics in a log pane below the processing box (file read, mp4 demux, decoder config, worker events) plus per-kernel WebGPU timings dumped to the browser devtools console for the single preview frame swap (requires "preview single frame" to be on).
- run paste-back on a WebGPU compute shader instead of the JS double-loop. modest win on mobile, neutral or slightly worse on desktop (GPU dispatch overhead vs the JS loop on typical frame sizes).
- off: pipeline runs on the main thread. per-frame: worker holds the pipeline; main thread still extracts and muxes, sends each frame to the worker for processing. full: worker also extracts (mp4box + WebCodecs) and muxes - main thread is essentially idle during processing. note: loads the entire video file into memory (Android revokes picked-file handles between calls, so we slurp once up front).