Sponsored by
Vmake Labs Video Enhancer
-Vmake Labs Video Enhancer uses AI to improve video quality, restore details, reduce blur, and upscale videos to 8K.
Two-file ONNX port of
Stable Fast 3D (SF3D)
for running image → 3D mesh
entirely on an iPhone/iPad
via ONNX Runtime.
This is the successor to
jc-builds/triposr-ios
: same on-device shape
(feed-forward image → triplane → decoder → marching cubes), but a
384×384
triplane instead of 64×64
— a 36× denser feature grid — plus SF3D's
illumination-disentanglement (de-lit albedo), so reconstructions have sharper
geometry and cleaner texture than TripoSR.
⚠️
License: Stability AI Community License
(not MIT, unlike triposr-ios).
Free for research, non-commercial, and
commercial use only while your
organization's annual revenue is under US $1,000,000
. Commercial users must
register at
https://stability.ai/community-license
and display
"Powered by
Stability AI"
. Over $1M revenue requires an enterprise license. See
LICENSE.md
and
NOTICE
. This is a derivative work — weights were converted
to ONNX/fp16, not retrained.
Files
file
what
dtype
notes
sf3d_encoder.onnx
(+
.data
)
image
[1,3,512,512]
→ triplane
[1,3,40,384,384]
fp16 weights,
fp32 I/O
default single-image camera baked in
sf3d_decoder.onnx
triplane_features [1,N,120]
→
density_rgb [1,N,4]
fp32
dynamic
N
; density head =
trunc_exp(x−1)
Verified: encoder ONNX↔torch parity
max|Δ| = 4.4e-4
(rel 0.0014%); decoder
parity
1e-6
; full encoder→decoder→marching-cubes produces a watertight mesh
(density crosses the
10.0
iso threshold as expected).
Multi-view
A feed-forward multi-view encoder (
export_mv_onnx.py
) is provided as a script
but
not shipped as weights here
: SF3D was trained single-view, so fusing
several views through its camera-conditioned path is architecturally supported
but not quality-validated. For a
validated
multi-image reconstruction (+32.9%
Chamfer over single-view), use
jc-builds/haplosr-mv
,
which refines the triplane against posed views (ARKit gives the poses for free).
The decoder I/O contract is
identical to triposr-ios
(
[1,N,120] → [1,N,4]
,
planes concatenated in
xy, xz, yz
order, 40 channels each), so the existing
TriplaneDecoder
/marching-cubes code works unchanged. Only two constants differ
from TripoSR and must be set per-model in the app:
Preprocess to
[1,3,512,512]
, RGB in
[0,1]
, background composited onto
gray
0.5
(SF3D
background_color
).
sf3d_encoder.onnx
→ triplane
[1,3,40,384,384]
.
For each 3D query point, bilinearly sample the 3 planes (
align_corners=true
,
positions scaled
(-0.87, 0.87) → (-1, 1)
), concat to 120 dims.
sf3d_decoder.onnx
→ density + rgb.
Marching cubes at iso
10.0
.
Reproduce
Scripts:
export_onnx.py
(single-view encoder + decoder) with
sdpa_symbolic.py
(memory-lean ONNX attention that fits the export in RAM),
consolidate_fp16.py
(→ single fp16 file, fp32 I/O),
validate_e2e.py
/
validate_torch.py
(full
encoder→decoder→mesh check), and
export_mv_onnx.py
(multi-view encoder, for a
higher-RAM machine).
sf3d-ios huggingface.co is an AI model on huggingface.co that provides sf3d-ios's model effect (), which can be used instantly with this jc-builds sf3d-ios model. huggingface.co supports a free trial of the sf3d-ios model, and also provides paid use of the sf3d-ios. Support call sf3d-ios model through api, including Node.js, Python, http.
sf3d-ios huggingface.co is an online trial and call api platform, which integrates sf3d-ios's modeling effects, including api services, and provides a free online trial of sf3d-ios, you can try sf3d-ios online for free by clicking the link below.
jc-builds sf3d-ios online free url in huggingface.co:
sf3d-ios is an open source model from GitHub that offers a free installation service, and any user can find sf3d-ios on GitHub to install. At the same time, huggingface.co provides the effect of sf3d-ios install, users can directly use sf3d-ios installed effect in huggingface.co for debugging and trial. It also supports api for free installation.