--- license: cc-by-nc-4.0 pipeline_tag: 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. - [**Paper**](https://huggingface.co/papers/2606.05102) - [**Project Page**](https://veichta.com/zipsplat) - [**Github Repository**](https://github.com/cvg/ZipSplat) ## Inference ZipSplat provides a standalone inference package to generate 3D Gaussians from images or video clips. ```python 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 ```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} } ```