SavePlySplat
Getting your Gaussian splats out of ComfyUI and into a real 3D viewer
- splats
You've built a Gaussian splat cloud inside ComfyUI - from a single image via SHARP, fused from a video, or seeded from a panorama - and now you want to do something with it that ComfyUI can't: look at it in a proper 3D viewer, put it in a game, or share it. SavePlySplat is the exit door. It writes any GSPLAT object to your ComfyUI output folder as a standard 3D Gaussian Splatting .ply file, the format every external 3DGS tool understands.
If you've ever exported splats from a photogrammetry or 3DGS toolchain, this is the same point_cloud.ply your other tools write - position, scale, quaternion rotation, opacity, and the spherical-harmonic color coefficients. That means the file will open in the usual suspects: SuperSplat, any of the gsplat/3DGS web viewers, Blender with a splat add-on, and the viewers bundled with the SHARP and 3DGS repos. It's the bridge that makes the pack's output actually portable instead of trapped inside the graph.
How it works
It's an output node, so it has no data outputs - it does its job and returns a UI entry listing what it wrote. You give it the splats GSPLAT and a filename_prefix (default ComfyUIGSplat), and it resolves a real path through the same folder_paths machinery ComfyUI's own SaveImage uses, so files land in ComfyUI/output/ and show up in the UI like any other saved asset. The prefix supports the standard format tokens - %date:yyyy-MM-dd% and friends - and a counter is appended so you don't overwrite previous exports.
The resulting PLY includes the full spherical-harmonic color features, so the file isn't just a colored point cloud - it's the actual splat scene. Don't be surprised the file is big; a decent scene is hundreds of thousands of Gaussians with per-Gaussian feature data. That's normal.
Using it
Wire the end of any splat pipeline into it:
ImageToSplat → RotateSplats → MergeSplats → SavePlySplat
VideoToFusedSplats → SplatPolish → SavePlySplat
Then either grab the file from the node's output entry or find it in ComfyUI/output/ and open it in your viewer of choice.
Installing it
SavePlySplat ships in camera-comfyUI. Install the pack once (Manager → search camera-comfyUI → Install → restart), or:
cd ComfyUI/custom_nodes
git clone https://github.com/Alexankharin/camera-comfyUI.git
cd camera-comfyUI && python install.py
Note that while saving a PLY needs nothing special, producing the splats usually needs the pack's heavier pieces (gsplat for rendering, SHARP for image-to-splat), which install.py sets up. Re-run it if a node reports missing dependencies.
Common issues
- File won't open in a viewer - check you're using a 3DGS-aware viewer, not a plain point-cloud one; the PLY has Gaussian attributes (scale, rot, SH) that ordinary point cloud tools ignore or reject.
- Huge files - expected for splat scenes. If you need something lighter, render to image frames instead.
- Nothing in the output folder - make sure the node is actually connected to a
GSPLAT; it silently does nothing useful without one.
Save once, view everywhere - that's the whole pitch.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| splats | GSPLAT | — | |
| filename_prefix | STRING | ComfyUIGSplat | Prefix for the .ply file. You can include format-tokens like %date:yyyy-MM-dd%. |
Outputs (0)
No outputs