Image-to-3D

ZipSplat: Fewer Gaussians, Better Splats

ZipSplat is a feed-forward model for 3D Gaussian Splatting. It reconstructs a scene from a few unposed images in a single forward pass, without requiring camera poses, intrinsics, or per-scene optimization. Instead of predicting one Gaussian per pixel, it uses a token-based approach to decouple Gaussian placement from the pixel grid, achieving high-quality reconstructions with significantly fewer Gaussians.

Inference

ZipSplat provides a standalone inference package to generate 3D Gaussians from images or video clips.

import math, torch
from zipsplat import ZipSplat, Camera, Pose, load_image, viz

# Load the model
model = ZipSplat(weights="zipsplat").cuda().eval()

# Load raw images (any size, auto-resized internally)
images = [load_image(p) for p in paths] 
gaussians = model(images)[0] # feed-forward 3D Gaussians

# Render a novel view
camera = Camera.from_fov(math.radians(60), w=512, h=512)
pose = Pose.from_Rt(torch.eye(3), torch.zeros(3)) # identity pose
rgb, info = gaussians.render(camera, pose)

# Export
gaussians.save_ply("scene.ply")                             # open in any 3DGS viewer
viz.turntable(gaussians, "turntable.mp4", sweep_deg=None)   # wiggle orbit video

BibTeX

@article{veicht2026zipsplat,
  title   = {ZipSplat: Fewer Gaussians, Better Splats},
  author  = {Veicht, Alexander and Hong, Sunghwan and Bar{\'a}th, D{\'a}niel and Pollefeys, Marc},
  journal = {arXiv preprint arXiv:2606.05102},
  year    = {2026}
}
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

Paper for veichta/zipsplat