SpEdE: Click to Remove or Replace Objects in 3D Splats

Introduction
Editing a photo is easy. Editing a whole 3D capture you can walk around in? That used to mean a trip into a splat editor and a lot of hand-deleting. Burgstall Labs just open-sourced SpEdE (Splat Edit Engine), a ComfyUI custom node pack that does it with a click. Point at an object in a 3D Gaussian Splat (3DGS) scene and you can Remove it and fill the hole, Extract it as a clean object-only PLY, or Replace it with something new that's lit to match the room.
It's open source (AGPL-3.0-or-later), runs entirely in your own ComfyUI with no cloud calls or partner nodes, and ships with 33 nodes, 10 API-format workflows, and a local web studio. It's Burgstall's entry in Comfy's #OpenSourceHiggsfield challenge, and it went up on GitHub on October 29.
What shipped
- Tool: SpEdE (Splat Edit Engine), ComfyUI node pack plus a local FastAPI "studio" UI
- Vendor: Burgstall Labs (@TheBurgstall), the open subset of its in-house Splatedit Studio
- Modality: 3D, object-level editing of 3DGS scenes (standard Inria-layout PLY plus a camera pack)
- Open vs API: open code under AGPL-3.0-or-later. You download every model yourself, and each keeps its own licence
- Where to run it today: your own ComfyUI (0.37 or newer, tested on 0.41.0) on an NVIDIA GPU
- Concrete fact: one Remove and patch job takes about a minute on an RTX 5090. The optional all-around fill, which makes the repair hold from every camera angle, takes about 10 minutes
How the magic works
SpEdE chains ComfyUI core models into a pipeline that edits the scene itself, not a flat render:
- Select: SAM 3.1 masks your click in every capture camera. Qwen3-VL names the object, and SAM 3.1 looks for that name to double-check the selection, so a "bonsai" click doesn't quietly grab the table too.
- Remove: a visual hull gathers the object's Gaussians and deletes them. Qwen-Image 2.1 paints the surface the object was hiding, MoGe-3 estimates the depth of that repaired view, and SpEdE adds new Gaussians only where the hole is.
- Extract: writes an object-only PLY. It keeps thin parts and trims at the contact line, so you get the vase without the tabletop.
- Replace: Qwen-Image 2.1 turbo draws a new object in the scene's own light. ComfyUI's native TripoSplat nodes turn it into Gaussians, and SpEdE scales it to the old object and stands it on the measured support plane, with a contact shadow.
My favorite detail is the quality gates. Removal residual (G1), depth alignment (G2), patch versus Qwen's edit (G3), the other cameras staying unchanged (H1), and clean extraction (K1) are all checked. If one fails, the job stops and tells you why, so you never get a quietly smeared scene.
Install
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/Burgstall-labs/ComfyUI-SpEdE ComfyUI-SpEdE
cd ComfyUI-SpEdE
/path/to/ComfyUI/venv/bin/python -m pip install -r requirements.txt -r studio/requirements.txtUse ComfyUI's own venv Python so gsplat (1.5 or newer) builds against the same torch and CUDA. The README calls gsplat "the dependency most likely to need work." The nodes appear under SpEdE Local/…, and the workflows live in the repo's workflows/ folder.
Before you dive in
- Hardware: it has only been tested on one RTX 5090 (32 GB) under Ubuntu 24.04. The authors recommend 64 GB of system RAM. Smaller cards will probably need quantized weights or
--lowvram, which hasn't been tested. Windows hasn't been tested either. - Disk: about 27 GB of weights for the main path, plus 3.3 GB for Replace (TripoSplat).
- Licences: the Qwen-Image 2.1 weights are under a non-commercial research licence, and the CLI makes you pass
--accept-qwen-research-licensebefore it will submit a job. Downloading the weights doesn't give you commercial rights to their output. - Scope: it fills support surfaces (floors, tables, walls) that some camera saw. It's not general 3D inpainting. Replaced objects look best within about ±15° of the edit camera, and edits don't stack yet.
- Input: you need a trained 3DGS PLY plus a camera pack.
geometry_cli.py import-colmapbuilds one from a COLMAP reconstruction, such as the Mip-NeRF 360 bonsai and kitchen scenes used in the examples.
An experimental MiniMax H3 orbit workflow is in the repo too, but it isn't wired into the UI yet.
Why it matters
Gaussian splats have become the go-to format for capturing real places, but cleaning them up has stayed manual. SpEdE turns "move the sofa, patch the floor, drop in a bed" into a click-and-check loop inside ComfyUI, and it's a great example of the kind of tooling the #OpenSourceHiggsfield wave is producing. Grab a splat, pick something you've always wanted gone, and see how the gates score it.
Original Source
- ComfyUI-SpEdE on GitHub (Burgstall Labs)
- Replace pipeline notes (REPLACE_V1.md)
- Depth fill notes (DEPTH_FILL_V2.md)
Happy splat sculpting!
—Aurelia ♡
