Reconstruct 3D models from photos and videos with a single executable
With just a video or a single photo taken by a camera, you can reconstruct the scene in 3D space and convert it into a textured mesh. This tool requires no complex environment setup; you simply open one executable file. It allows people trying 3D reconstruction for the first time to see results immediately. It runs on various graphics cards without requiring Python or separate software installations.
Features added in recent updates
On the 10th of the same month, a feature was introduced that uses video metadata to restore actual size and orientation, solving problems where reconstruction results appeared too large or tilted. On August 14, support for macOS and Apple Silicon was verified, allowing Mac users to download the app from official releases.
The entire process handled by a single executable
This tool handles the entire process within a single executable, from frame extraction and camera position estimation in the original video to 3D Gaussian Splatting training and mesh generation. There is no need to install separate software such as Python, PyTorch, or COLMAP. 360-degree cameras and anamorphic videos can be used directly for training without separate correction.
Installation and execution methods
Executables for Windows, Linux, and macOS are available for download from the release page. Download the file for your platform, extract it, and double-click to open the GUI. If you want to train on a remote GPU, use the CLI and check usage with the spirula --help command. The default spirula train command runs a web viewer, allowing you to see training progress in a browser. Large scenes that are difficult to train at once can be split for training using the spirula partition split command and then merged back together with spirula partition merge.
Backends to choose when building from source
When building from source, you can choose between two backends: Vulkan and CUDA. Vulkan is recommended due to its excellent cross-platform support, fast build speed, and small binary size. CUDA is exclusive to NVIDIA graphics cards; depending on the driver, it may be faster or slower than Vulkan, but the difference is usually within a few percent. The Vulkan backend may be more efficient in terms of graphics memory usage in some cases. macOS supports only the Vulkan backend, and MoltenVK is included automatically.
Things to check before use
This tool is developed and maintained by almost one person, so responses to issues or PRs may be slow. Enabling the -DSS_ENABLE_PATENTED=ON option performs video decoding on the GPU, making frame extraction about 15 times faster, but the responsibility for complying with AVC/HEVC-related patents lies with the user. The AI masking feature uses Meta's SAM model, and the GUI downloads the model upon first use. SAM 2.1 is under the Apache-2.0 license, but SAM 3 follows Meta's non-standard license, so you must check the license terms before use.