OxiONNX WebGPU Demo

A pure-Rust ONNX runtime, compiled to WebAssembly, running a face-swap network on your own machine.

crates.io GitHub
100 % in your browser — nothing is uploaded. Enforced, not promised: this page runs under a Content-Security-Policy whose connect-src 'self' makes a request to any other origin fail at the browser level. Your images never leave this tab.

What you are looking at

OxiONNX is an ONNX inference runtime written from scratch in Rust — no ONNX Runtime, no C++, no Python. Because it is pure Rust it compiles to wasm32-unknown-unknown unchanged, which is what makes this page possible: the same operator kernels that run on a server run here, in your tab.

The workload is a face-swap engine built on OxiONNX — three ONNX graphs (a detector, an identity embedder and the swapper itself, about 350 MB of weights) executed end to end with no network round-trip. It is a demonstration of the runtime, not a product.

This browser

Measured on load — every row is a live feature probe, not a user-agent guess.

Selecting an engine build…

Model weights

Nothing downloads until you ask it to. Here is exactly what would be fetched from this origin, and how much of it your browser has already cached.

ModelFileSizeCached
reading the manifest…
Total to download now

Photo swap

Read and accept the usage terms to enable the file pickers.

No image chosen.

No image chosen.

Result

Nothing generated yet.

Any image produced here is synthetic. Label it as such wherever you share it.

Engine stats

Straight from the engine's own timing counters — the per-stage numbers are snapshotted at the moment of the call, not sampled afterwards.

Engine build
Threads
GPU active
Detect
Embed
Swap
Paste
Wall clock
wasm memory
Tab memory

Video

Start the engine and accept the usage terms above, and this tab comes alive.

No image chosen.

No clip chosen. MP4/MOV only.

Result

Nothing rendered yet.

Any video produced here is synthetic. Label it as such wherever you share it.