A lightweight, multi-threaded Windows GUI tool to batch-process 3D Gaussian Splatting (.ply) frame sequences.
Perfect for ComfyUI / Apple SHARP 4DGS workflows! It automatically crops, transforms, and compresses massive raw frame sequences into web-ready .spz (or cleaned .ply) files with a single click.

- β‘ Multi-Threaded Processing: Utilizes your CPU's multi-core architecture to process multiple frames concurrently. What used to take minutes now takes seconds!
- π― SuperSplat Coordinate Fix: Automatically inverts X/Y translations and handles bounding box math under the hood. You can copy your crop and translation values directly from PlayCanvas SuperSplat without altering the signs!
- π¦ Smart Zero-Padding (
_0001): Renames messy file sequences automatically into strictly formatted 4-digit sequences (e.g.,animation_0001.spz), ensuring 100% compatibility with 4DGS web players. - π§ͺ Create Testfile: Process only the 1st frame of your stack to quickly verify your cropbox and rotation values before rendering the entire sequence.
- πΎ Persistent Settings: The tool remembers your inputs and automatically saves them for your next session.
- ποΈ Ultra Compression: Converts heavy
.plypoint clouds to the highly efficient Niantic.spzformat (usinggsbox), reducing file sizes by up to 90% without losing visual fidelity. - π±οΈ Workflow Integration: Use the built-in folder browser, or set it up in your Windows "Send To" context menu for instant right-click processing!
You don't need to install Python. Just download the standalone executable:
- Go to the Releases page and download
3DGS_Batch_processor.exe. - Double-click the
.exeto open the GUI and browse for your folder containing.plyframes. - (Optional Pro-Tip) Context Menu Setup:
- Create a shortcut of the
.exe. - Press
Win + R, typeshell:sendto, and hit Enter. - Move the shortcut into this hidden folder. Now you can right-click any folder or selected
.plyfiles -> Send To -> 3DGS Batch Processor!
- Create a shortcut of the
- Open a single raw
.plyframe in PlayCanvas SuperSplat. - Align the model (Translation/Rotation) and draw a Bounding Box around the area you want to keep.
- Copy those exact values into the 3DGS Batch Processor.
- (Optional) Click Create Testfile (1st) to render a single
_TESTfile and check if everything looks perfect. - Choose a filename prefix, select
.spzor.ply, and click Process All Files. - Find your cleaned, aligned, and sequentially numbered sequence in the newly created
output_spzfolder!
If you want to modify the Python code or build the .exe yourself:
-
Prerequisites:
- Install Python 3.8+
- Install requirements:
pip install plyfile pyinstaller - Download the latest Windows release of gsbox and place
gsbox.exein the same directory as the script.
-
Run as script:
python 3dgs_batch_processor.pyCompile to Standalone .exe:
pyinstaller --noconsole --onefile --add-binary "gsbox.exe;." 3dgs_batch_processor.pyThe compiled file will be located in the dist/ folder and already contains gsbox natively!
π€ Credits & Under the Hood
Usesgsbox (written in Go) for lightning-fast transformation and SPZ conversion.
Uses plyfile for safe spherical harmonics retention during the auto-cropping phase.
Built to optimize ComfyUI / Apple SHARP sequence outputs for the web.