Dataset Project
The one node that decides where your whole SplatKit run lands
- dataset_dir
- control_rgb_prefix
- control_mask_prefix
- wan_inpaint_prefix
If you've loaded a SplatKit workflow and wondered where the outputs actually go, this is the node to blame. Dataset Project is the pack's single source of truth for paths: you give it a dataset_name, it creates a folder under ComfyUI/output/<name>, and every other node in the pipeline wires off its dataset_dir. It's not a glamorous node, but it's the one that keeps a 19-node pano-to-COLMAP pipeline from scattering files across your output tree and your custom_nodes folder. Set the name once, forget about string-matching.
The only input you really touch is dataset_name (default my_scene). There's also a reset toggle: off by default, which makes the project resumable - the depth cache is reused on re-run. Flip it on only when you want a clean slate, because it deletes the whole project folder first.
What it actually creates
The layout is worth knowing because it's the map of the whole pack:
camera_plot/- the control RGB/mask renders that condition WAN (this was misleadingly calleddataset/in old releases; it is not your trainable dataset)wan_inpaint/- where a completed WAN video goes if your workflow saves onecondition/- cameras.npz plus depth/mask sidecars for the SfM stage_work/- scratch, like the camera-plot rail JSONs
The real COLMAP dataset (images/ + sparse/0/) is written at the project root, sibling to those folders, by the SphereSfM nodes. That root is the "dataset" you point a 3DGS trainer at.
Its four outputs are all strings: dataset_dir (wire into every SplatKit node that takes a path), plus control_rgb_prefix, control_mask_prefix, and wan_inpaint_prefix - filename prefixes you'd feed into a Save Video node. It's is_output_node: false, so you can and should wire it through the graph.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/mickmumpitz/ComfyUI-SplatKit
python_embeded\python.exe -m pip install -r ComfyUI-SplatKit/requirements.txt
(or via ComfyUI Manager, searching "ComfyUI-SplatKit"; non-portable installs use python -m pip install). Restart after. This node itself needs nothing extra - the heavy first-run downloads (MoGe checkpoint, the SphereSfM binary) only trigger when the nodes that use them actually run.
Gotchas
Two things bite people. First, older runs of this pack lived under a Pano2Splat-Matrix/<name> wrapper folder; ResolveDatasetImages still understands that layout, so datasets built before the rename keep working. Second, don't point multiple Camera Plot branches at one project expecting them to keep separate rails - that's why the plot nodes hand out a per-node rail_json instead (see the HiRes Composite page for why an overwritten rail is unrecoverable). Keep reset off unless you genuinely want to nuke the depth cache; re-running with it on costs you a full MoGe pass for no benefit.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| dataset_name | STRING | my_scene | — |
| resetopt | BOOLEAN | false | Clear the project folder first. Default off = resumable (the depth cache is reused on re-run). |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| dataset_dir | STRING | — |
| control_rgb_prefix | STRING | — |
| control_mask_prefix | STRING | — |
| wan_inpaint_prefix | STRING | — |