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
process at
video subset (full video)
start
preview
end
use separate preview frame
scope preview player above to selected range
face image
options
swap model
download a model first
face detector
SCRFD 500m (default, fast + good quality)
YOLOFace + 2DFAN4 (slowest, highest quality landmarks)
MediaPipe FaceLandmarker (fast, desktop only - silently fails on mobile)
YuNet (fast, lower quality than SCRFD)
face enhancement
(none) - faster
XSeg occlusion mask
- better blending around hair/hands. small per-frame cost.
preview single frame before processing full video
advanced
profile preview image
- dump per-kernel WebGPU timings to the browser console for the single preview frame swap. requires "preview single frame" to be on. no effect on full-video processing.
GPU paste-back
- 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).
worker mode
- 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.
off
per-frame in worker
full worker
reset to defaults
mobile-friendly defaults applied
swap
processing
cancel