YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

FaceFusion Mobile β€” Hexagon NPU context binaries (v0.1.0)

Qualcomm QAIRT context binaries for FaceFusion's default face-swap path, converted to run fully offline on the Hexagon NPU.

These are not ONNX models and are not portable. Each file is a compiled graph pinned to a Hexagon architecture, and it will not load on anything else.

Which files do I need?

One tier, chosen by your chip. The app measures the HTP at startup and downloads only the matching set β€” about 275 MB. Do not mix tiers.

tier download covers
v68 271.6 MB Snapdragon 888 and older, 8 Gen 1, or any part with under 8 MB VTCM
v73 272.3 MB 8 Gen 2, 8 Gen 3, newer v81 parts
v79 279.2 MB Snapdragon 8 Elite (SM8750)

manifest.json lists every file with its size and SHA256. Verify after download; a truncated context binary is a plausible-looking file that fails at load.

⚠ Only v79 has ever been executed

Every measurement in this repo β€” accuracy, latency, correctness β€” was taken on an SM8750 (Galaxy S25 Ultra). The v68 and v73 binaries are built and their tier mapping is asserted against a synthetic device table, but no v68 or v73 part has ever run a single inference of them. They are untested, not validated.

Contents of a tier

file what notes
yoloface_<tier>.bin face detector, 640x640
fan2d_<tier>.bin 2D face landmarker cut at heatmaps
arcface_<tier>.bin face recogniser 512-d embedding
hyperswap_<tier>.bin face swapper, 256x256 fp32-demoted before quantisation
nsfw_v79.bin / nsfwq_<tier>.bin content checker fp32 on v79; quantised below

The content checker is mandatory in the shipping app: a missing gate context is an initialisation failure, not a fallback. The quantised build shifts its decision statistic about +0.087 toward flagging, so lower tiers refuse slightly more readily.

Output resolution is not fixed by the 256x256 swapper: pixel boost warps the face larger and runs the same binary over NΒ² polyphase sub-images, so 512 and 1024 come from these files with no reconversion.

Licences β€” read before redistributing

These are derived works of FaceFusion's model weights and carry the same terms. They are not uniformly permissive:

model licence
yoloface_8n GPL-3.0
arcface_w600k_r50 Non-Commercial
inswapper_128 Non-Commercial
hyperswap_1a_256 ResearchRAIL
nsfw_2 see upstream

The original weights are distributed by the FaceFusion project itself, from huggingface.co/facefusion/models-* and github.com/facefusion/facefusion-assets. This repository re-hosts converted forms of them for the Hexagon NPU. Upstream's own licence is OpenRAIL-AS, which carries use restrictions: read https://github.com/facefusion/facefusion/blob/master/LICENSE.md before you use, modify or redistribute any of this.

Intended use

Offline, on-device face swapping on Qualcomm hardware. The app that consumes these files ships FaceFusion's content checker as a blocking check and refuses material it flags.

Do not use this to create images or video of real people without their consent. That is the principal way software of this kind causes harm, and it is what the content checker and the OpenRAIL-AS use restrictions exist to limit.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support