Nodes/ComfyUI-SplatKit/Splat Backend Setup
ComfyUI Node

Splat Backend Setup

It does not install anything, and that is the whole point

By mickmumpitz·Created about a month ago·Updated 2 days ago· 18
Splat Backend Setup
    • status

    Read the name carefully, because half the people who queue this node expect it to do the thing and it doesn't. Splat Backend Setup installs nothing. It reports. It's a status check for the optional managed environment that the 4DAnyone view generator and the splat trainer run in, and if that environment isn't there it prints a paragraph telling you where to get the installer.

    Why ship a button-less button? Because ComfyUI's Registry security policy forbids a node from installing packages via subprocess at workflow runtime. A node that silently pip-installs a torch/CUDA stack when you queue a graph is exactly the behaviour the policy was written to stop. SplatKit sidesteps it cleanly: the install happens once, outside a workflow, from a bundle you download yourself.

    What "the backend" is

    Everything heavy in this pack lives in its own Python environment under custom_nodes/ComfyUI-SplatKit/bin/splat_backend/: Python 3.11, torch 2.8.0, torchvision 0.23.0, CUDA 12.8, gsplat 1.4.0. That's why the pack's own requirements.txt is five light packages and why bin/ also exists - this is the same pattern the 3D generation corner of the ecosystem has been forced into, because 3D stacks depend on compiled CUDA extensions pinned to an exact torch build, and installing those into ComfyUI's Python breaks the host.

    The gsplat wheel itself is SHA-256 verified from a SplatKit release, so you're not compiling a rasterizer against your own CUDA. That's the single biggest install-friction reducer in this whole area.

    Using it properly

    Do this once, outside any workflow:

    1. Download the installer bundle from the pack's Releases page.
    2. Drop installer.bat into ComfyUI/custom_nodes/ComfyUI-SplatKit/ and run it. It builds the environment under bin/, plus the copied 4DAnyone generator, with its own caches in bin/splat_backend_cache/.
    3. Restart ComfyUI.
    4. Add this node and queue it once.

    A healthy install answers with something like:

    Ready.
    …/custom_nodes/ComfyUI-SplatKit/bin/splat_backend/venv/Scripts/python.exe
    Python 3.11 / torch 2.8.0 / CUDA 12.8 / gsplat 1.4.0 / SplatKit 1.2.2
    

    Anything else is an install that didn't finish, and the message names the reason: no manifest, an incomplete contract, a CUDA smoke test that failed, a missing 4DAnyone checkout, or a generator source update that was interrupted. That precision is the node earning its keep - you get the diagnosis without opening a terminal.

    The requirements you can't argue with

    Windows x64, an NVIDIA CUDA GPU, ComfyUI 0.34 or newer. Linux and macOS backend setup are unsupported for the 4D nodes. Budget roughly 7.5GB for the environment and 19GB for the model files, with at least 20GB free to start the install. Generation is reported to use around 24GB of VRAM, and lower-memory cards haven't been validated.

    One more thing worth knowing before you spend an evening on this: the rest of the pack does not need the backend. The panorama-to-COLMAP branch runs entirely in ComfyUI's Python, and SplatKit's own rasterizer is pure torch or triton - no nvdiffrast, nothing to compile. If you came for the dataset-building half, you can skip all of this.

    Living with it

    The two environments age differently, and the pack is honest about it. Trainer changes take effect straight from the checkout - edit core/splatting/, re-run, done. Generator or dependency updates may need the installer again, and its --rebuild flag forces a full environment replacement while preserving the previous working environment during the upgrade, so a failed rebuild doesn't leave you stranded. Edit maintained source, never the generated copies under bin/.

    When it breaks

    • "The optional 4D backend is not installed." Either you never ran the installer, or you ran it on a machine that can't support it. There's no in-workflow shortcut; go back to the Releases page.
    • "…needs an update." The environment's recorded contract doesn't match what this version of the pack expects - usually after a pack update pulled in new generator sources. Re-run the installer.
    • Everything works, then generation fails with a backend error. Restart ComfyUI after installing or updating SplatKit; the pack's own setup instructions lead with that line for a reason.
    • Queueing the node on a network-exposed server. SplatKit restricts free-form path widgets and install actions when ComfyUI listens on a non-loopback address, following ComfyUI Manager's own example. If you run behind your own auth and want the old behaviour, SPLATKIT_ALLOW_REMOTE=1 lifts it.
    CategorySplatKit/Splatting

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    statusSTRING