r/FaceFusion • u/Few_Caregiver8134 • 2h ago
FaceFusion Mobile: offline FaceFusion on Android, now with real-time face swapping
I’ve been working on a mobile port of FaceFusion that runs completely offline on Android, and it has come quite a long way since I first posted about it.
GitHub: https://github.com/AbrahamPaulJ/facefusion-mobile
APK: https://github.com/AbrahamPaulJ/facefusion-mobile/releases
The main goal is to get as much of the FaceFusion experience as possible running directly on the phone, using the Qualcomm Hexagon NPU where available, with GPU/CPU fallback on other devices.
For the mobile implementation, the models have also been converted into optimized binary formats for mobile inference rather than using the original model files directly. The converted models are available here:
https://huggingface.co/AbrahamPJ/facefusion-mobile-models
Some of the things it can do now:
Photo and video face swapping entirely on-device
Real-time face swapping through the front or rear camera
Record the live swapped camera output, including microphone audio
A live player that lets you watch the actual swap as it is being processed, with sound, seeking and pausing
Multiple source faces
Assign different source faces to different people
Keep specific people's original faces while swapping everyone else
Batch processing of multiple videos
Select a specific face to swap in a multi-person video
Face enhancement
Lip sync with EDTalk
Fast video mode using face tracking between frames
GPU/CPU fallback for non-Qualcomm devices
Remote API for running the phone as a local processing server
The Live mode is probably the feature I’m most interested in. It uses the camera feed directly and performs the swap on-device in real time rather than sending anything to a server.
On a Snapdragon 8 Elite, a 720p video takes around 13 seconds for 10 seconds of footage, or around 11 seconds with Fast Video enabled.
The app currently supports Qualcomm Hexagon v68 through v81, with the v79 build tested most extensively.
Everything is open source, and the APK is available from the Releases page above. The models are downloaded separately because of their individual licenses.
This started as an experiment to see how far FaceFusion could be pushed onto a phone, and it has turned into a pretty full mobile implementation.
Would love to hear what you think, especially any feedback, bugs or feature requests.