Nodes/ComfyUI-NetflixVoid/VOID Load SAM3 Model
ComfyUI Node

VOID Load SAM3 Model

The grey-mask stage's auto-downloading SAM3 loader

By jaskirat05·Created 5 months ago·Updated 5 months ago· 0
VOID Load SAM3 Model
    • sam3_model_config
    precisionauto
    compilefalse

    VOID's grey-mask stage is where the framework gets clever: after a VLM tells it which objects are affected by removing your target, it has to actually find those objects in the video. That's a job for SAM3 - Meta's Segment Anything 3 - and this node is the loader that gets the model ready. The nice part: it downloads the weights for you on first run, so there's no "go find a file somewhere" step.

    The model itself is vendored in the pack (a stripped-down copy of Meta's SAM3 library), so you're not depending on some third-party node pack to provide the weights. This is just the front door. It's the grey-mask half of stage three in the VOID pipeline; pair it with VOID Build Grey Mask, which does the actual segmentation work.

    How it works

    On load it checks for ComfyUI/models/sam3/sam3.safetensors. Missing? It pulls it from apozz/sam3-safetensors on Hugging Face into that folder automatically (you'll need internet on first run, and a couple of GB of patience). Then it figures out what precision to use: auto asks ComfyUI's model management whether bf16 or fp16 is safe on your card and falls back to fp32 if neither is - on a modern NVIDIA card that lands on bf16, which is the sensible default.

    What it outputs isn't the model object itself - it's a SAM3_MODEL_CONFIG bundle describing the checkpoint path, tokenizer, dtype, and compile flag. The actual model gets built lazily the first time VOID Build Grey Mask runs, and cached at module level so it isn't rebuilt per node execution. That's a good thing: SAM3 construction is not instant.

    The inputs that matter

    • precision (enum: auto, bf16, fp16, fp32) - set this to auto and forget it. Reach for bf16 explicitly if you want to lock it in, fp32 if you're fighting numerical weirdness (rare, and it costs VRAM).
    • compile (BOOLEAN, default false) - enables torch.compile on the model. First execution becomes noticeably slower while it compiles, subsequent ones can get faster. On most setups you'll gain more from leaving it off unless you're running many passes.

    Output: a single sam3_model_config wire into VOID Build Grey Mask. That's it - one output, one destination.

    Install

    Part of ComfyUI-NetflixVoid: ComfyUI Manager → search "ComfyUI-NetflixVoid" → install, or

    cd ComfyUI/custom_nodes
    git clone https://github.com/jaskirat05/ComfyUI-NetflixVoid
    

    then restart. The pack's requirements.txt installs the heavy stack (opencv, scikit-image, kornia, timm, albumentations, tomesd, datasets...). SAM3 needs no separate install - it's vendored. But the black-mask stage of the example workflow uses SAM2 video segmentation from another pack, and that one does need its own separate install, so the full workflow wants both.

    Common issues

    • First run "fails" while downloading - it's downloading a multi-GB SAM3 checkpoint into models/sam3. Watch that folder; on a slow connection it can look hung. It's not.
    • Offline box - no internet, no auto-download, and the node has no manual-path input; you'd have to fetch sam3.safetensors from apozz/sam3-safetensors yourself and drop it in ComfyUI/models/sam3/.
    • Slow first build - the lazy build inside Build Grey Mask is the real cost. A long pause after your first queue is expected, not a hang.
    CategoryVOID

    Inputs (2)

    NameTypeDefaultDescription
    precisionCOMBOauto4 options: auto, bf16, fp16, fp32
    compileBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    sam3_model_configSAM3_MODEL_CONFIG