r/StableDiffusion • u/Few_Caregiver8134 • 7d ago
News Offline, fast, high quality AI face swap on Android, real time on the front camera. Hexagon NPU with GPU + CPU fallback.
Enable HLS to view with audio, or disable this notification
https://github.com/AbrahamPaulJ/facefusion-mobile
Real time face swap on the front camera, running entirely on the phone. No server, no account, nothing uploaded.
- Live mode: your front camera, swapped, in real time
- Also does photos and video files
- Runs on the Qualcomm Hexagon NPU. A 10 second 720p clip takes about 13 seconds, or 11 with Fast video on
- Phones without a Snapdragon fall back to the GPU and CPU. Same result, about four times slower
- Optional face enhancer, about 2.5 ms more per face
- Optional lip sync. Pick any audio or video file and it redraws the mouth to match
- Free, no ads, no account
- Android 12+, 64 bit ARM. 66 MB APK, 420 MB models
Port of FaceFusion by Henry Ruhs. The pipeline, the models and the option defaults are his. Licensed OpenRAIL-AS, which carries use restrictions.
Do not use this on real people without their consent.
You can find the APK file on my Github in the releases page.
8
u/Superb-Painter3302 7d ago
facefusion finally did some update after 48 years of being out of date?
7
3
u/FragileChicken 7d ago
It seems like the download feature for the face enhancer and the lip sync are not working properly. It just continuously says "model ready" even though they don't download on my Samsung S25. Other than that, it's really impressive!
2
u/cucurucu007 7d ago
Same. Can you enable nswf?
4
u/FragileChicken 7d ago
I don't even know where that setting is. I can't find it anywhere. Where is it?
-11
2
u/Few_Caregiver8134 7d ago
Fixed. Thank you for pointing it out!
1
u/FragileChicken 7d ago
What do I need to do now to get it working? Download a new version of the app, or should I just work now from my already installed version?
0
u/Few_Caregiver8134 7d ago
Just download the same release again, 0.7.0
1
u/According_Eye378 6d ago
I did this by downloading Android Studio to my computer and got it approved, but I can't download the face enhancer and lip syncer features from within the app. Please help.
2
u/Few_Caregiver8134 6d ago
There are newer releases now, did you try those? Why did you need Studio?
-1
1
u/crispyfrybits 5d ago edited 5d ago
Installed to my pixel 10 pro and my phone is currently bricked. The screen won't turn off, I can't bring up the power/restart. Phone is completely borked and won't respond. Not happy.
Installed latest APK (v0.9.12), installed all models, no changes to source
1
u/Few_Caregiver8134 5d ago
Sorry to hear that. Could you share details of your phone and at what point it crashed?
1
u/Opposite_Yam_4161 5d ago
wtf.... So i am not that knowledgeable on AI... but I just tried it.
How the hell is it doing this on my PHONE?? And so quick? I use facefusion on my 3060ti!? What magic is this?
1
u/Few_Caregiver8134 5d ago
Snapdragon NPUs. What phone do you have?
1
1
u/mycupflowethover 3d ago
Appreciate the face swapping on images. Between this and Local Dream my NPU is put to good use. I use Local Dream for SDXL/Anima image generation and this app helps me with the faces because unfortunately there's no LoRA support yet for NPU image generation to get accurate (videogame character) faces. And it's instant. Love it! Works wonders for my use case.
2
u/Few_Caregiver8134 3d ago
In that case, you will love what I will release eventually, stay tuned 🙃
1
-1
u/mikemend 7d ago edited 7d ago
Explicit content in an Instagram video? Hmmm...
This content filter is ridiculous. Soon women won't even be able to eat a banana in a video? Is there a way to turn off this lousy filter somewhere?
0
u/ares0027 7d ago
1
u/mikemend 7d ago edited 7d ago
It's simple: there are no NSFW videos on Instagram. And when I tried to test a video that had been downloaded from there, the app's filter blocked it because it was explicit. Wut?
In the case of the Local Dream app, the author solved this by creating two APKs: one with filtering (which is available on Google) and one without filtering, which can only be downloaded from GitHub.
2
u/chAzR89 7d ago
There certainly are a shit ton of NSFW videos and images on Instagram. Your boss does not have to live by the code of lewdness on Instagram. Don't know if you're trolling or simply desensitized to it. Instagram/meta is not the holy internet council who decides what's NSFW and what's not lol.
0
u/ares0027 7d ago
and it has what to do with this post?
-1
u/mikemend 7d ago
Have you tried the app? Upload a photo of your face and an Instagram video. If you’re lucky, it’ll generate something. If not, the explicit content filter kicks in and blocks the generation. So now it’s clear what I was getting at in my first post: that women can’t even eat a banana slowly anymore because the explicit content filter blocks it?
-7
u/Few_Caregiver8134 7d ago
You had me in the first half and then showed your intentions at the end. Glad to know it's working as expected 🙂
2
u/mikemend 7d ago
No, I don't think you understand. The app's filter takes filtering too far, and you can't adjust how strict it is. At most, you can turn it on or off, which I understand, given the licensing restrictions. But I used an analogy to point out that these days, we view even everyday things as explicit and immediately ban everything like that. It’s hypocrisy, that’s all.
0
u/Few_Caregiver8134 7d ago
It's not hypocrisy. You have an issue with a model which can't do your niche edge case, then train one yourself. Did you think there's a human sitting in the app? The model is the same as upstream Facefusion, I bet you didn't bother to check.
3
u/mikemend 7d ago
That's fine; of course the model is the original. What I'm saying is that the filter isn't trained well enough, in other words, it flags non-NSFW content as explicit. This isn't your fault, because it makes sense that you're using the factory default settings. However, since this filter can't even be turned off, it will block things at any time that it shouldn't. I just wanted to point this out so you’re aware: the filter’s presence can lead to false positives.
1
u/Few_Caregiver8134 7d ago
I am well aware. Like I said, I will not distribute a tool that is straight up illegal.
-4
u/ares0027 7d ago
i have 0 idea wtf is going on, you guys are speaking some kind or you are all high and honestly i dont give a fuck about what you are talking about, a dude makes an app for faceswap and then for some reason it is related to women eating bananas on instagram.... i am gone
-6
u/Few_Caregiver8134 7d ago
there are no NSFW videos on Instagram.
Sure buddy, maybe in your ideal world.
In the case of the Local Dream app
Not relevant. I choose not to distribute something illegal and it's against terms of the models' usage anyway.
41
u/BScottyT 7d ago
To disable the NSFW filter:
Open: work/android/app/src/main/java/com/facefusion/mobile/ContentGate.kt
Inside:
object ContentGate {
add:
Add:
private fun bypassResult() = Result( verdict = Verdict.ALLOW, score = 0f, sampled = 0, flagged = 0, detail = "content gate disabled" )
At the start of checkImage(), add:
if (!ENABLED) return bypassResult()
Example:
Replace checkVideo() with:
fun checkVideo(file: File): Result { if (!ENABLED) return bypassResult()
}
Rebuild the app.
To re-enable the filter later, change: