Nodes/ComfyUI-SplatKit/4DAnyone Model Loader
ComfyUI Node

4DAnyone Model Loader

The node that stops guessing where you put the weights

By mickmumpitz·Created about a month ago·Updated 2 days ago· 18
4DAnyone Model Loader
    • models
    checkpoint
    vae
    prompt_context
    birefnet
    sam3d_body
    turbo_lora

    Here's the least fun sentence in the whole 4DAnyone pipeline: nothing downloads. No huggingface_hub dropdown that fetches a checkpoint when you queue, no "model not found, downloading 7GB" in the console. SplatKit disables automatic model fetching in the 4DAnyone node paths on purpose, so you put every file in the right folder yourself and then use this node to tell the generator which files you meant.

    It's a boring node. It's also the one that produces the clearest error messages in the pack, provided you actually connect it.

    What it does

    Six dropdowns, one output. Each dropdown is the contents of one model folder, filtered to the files that make sense for that slot:

    • checkpoint - the 4DAnyone model, model.safetensors, in models/splatkit/4danyone/
    • vae - Wan2.2_VAE.pth, same folder
    • prompt_context - prompt_context.safetensors, same folder
    • birefnet - model.safetensors in models/splatkit/birefnet/
    • sam3d_body - SAM 3D Body weights in models/detection/
    • turbo_lora - the published rank-64 Turbo LoRA, also in models/splatkit/4danyone/, with none as a valid choice

    On load, it resolves each selection to a real path and raises if one is missing, rather than passing a name along and failing three minutes into a denoising run. So a wrong selection here costs you a second, not an hour.

    A few things worth internalising:

    The BiRefNet slot expects neighbours. Selecting model.safetensors isn't enough - config.json, birefnet.py and BiRefNet_config.py have to sit in the same folder. The loader can't check that (the enum only lists weights), but Export Frameset does, and it names the missing file. This trips people who grabbed the weights off HuggingFace and didn't notice BiRefNet loads its own code.

    turbo_lora is conditional. Leave it on none and you're running the base model at 24 steps - set turbo off in Generate Views to match. Enable turbo and leave the LoRA unselected, and generation stops with "Select an installed turbo_lora in 4DAnyone Model Loader." Same for checkpoint, vae, prompt_context, birefnet and sam3d_body: all five are required regardless of what else you're doing, because view generation needs the lot.

    The output is paths, not tensors. models carries a bundle of file paths to the generator. That's why SplatKit's model sockets don't talk to ComfyUI's MODEL or VAE sockets at all - different world, different loader. Don't try to feed a WAN checkpoint from the standard UNETLoader into this.

    Installing the pack and the backend

    cd ComfyUI/custom_nodes
    git clone https://github.com/mickmumpitz/ComfyUI-SplatKit
    python_embeded/python.exe -m pip install -r ComfyUI-SplatKit/requirements.txt
    

    Restart, or install via ComfyUI Manager by searching "ComfyUI-SplatKit". Then install the isolated backend: download the installer bundle from the pack's GitHub Releases page, drop installer.bat into the custom node folder, run it once, restart, and queue a Splat Backend Setup node to see "Ready." The backend environment is where the 4DAnyone weights actually get loaded; this node just decides which ones.

    The files themselves:

    ComfyUI/models/splatkit/4danyone/   model.safetensors, Wan2.2_VAE.pth,
                                        prompt_context.safetensors,
                                        Wan22_TI2V_5B_Turbo_lora_rank_64_fp16.safetensors,
                                        imagenet-vgg-verydeep-19-conv.safetensors  (training)
    ComfyUI/models/splatkit/birefnet/   model.safetensors, config.json, birefnet.py, BiRefNet_config.py
    ComfyUI/models/detection/           sam_3d_body_dinov3_bf16.safetensors
    

    Links to each of those are in the pack's docs/4DANYONE.md, pointed at pinned revisions so you get the exact files the code expects.

    When it breaks

    • Empty dropdowns mean ComfyUI hasn't scanned the folder yet - refresh the model lists, or restart. Model folder registration happens at startup.
    • "Select an installed X in 4DAnyone Model Loader." The file isn't where the node looked. The tooltip on each field names the exact folder, which is the fastest way to find the mismatch.
    • Old workflows. The model layout moved: files used to live in models/splatkit-4danyone/ with birefnet/ inside it. The node does not move anything for you, and pre-change workflows need their loader selections re-picked. Move the four generator files to models/splatkit/4danyone/, BiRefNet to models/splatkit/birefnet/, VGG-19 into models/splatkit/4danyone/, and don't overwrite files that are already there.
    • Custom model roots. extra_model_paths.yaml accepts splatkit_4danyone, splatkit_birefnet, splatkit_perceptual and the core detection key, if your models live on another drive.
    • Space is the quiet one: about 7.5GB for the backend and 19GB for models, before any outputs. This is not a pack you install on a full disk to try out.
    CategorySplatKit/4DAnyone

    Inputs (6)

    NameTypeDefaultDescription
    checkpointCOMBO4DAnyone model.safetensors in models/splatkit/4danyone.
    vaeCOMBOWan2.2_VAE.pth in models/splatkit/4danyone.
    prompt_contextCOMBOprompt_context.safetensors in models/splatkit/4danyone.
    birefnetCOMBOmodel.safetensors in models/splatkit/birefnet, alongside config.json, birefnet.py and BiRefNet_config.py.
    sam3d_bodyCOMBOSAM 3D Body weights in models/detection.
    turbo_loraCOMBOPublished rank-64 Turbo LoRA in models/splatkit/4danyone. Choose none for base generation.

    Outputs (1)

    NameTypeDescription
    modelsSPLATKIT_4DANYONE_MODELS