Nodes/SimpleSyrup/GroundingDINO Model Loader
ComfyUI Node

GroundingDINO Model Loader

The Text-Based Detector Loader, BERT and All

By Artificial-Sweetener·Created 3 months ago·Updated 12 days ago· 2
GroundingDINO Model Loader
    • grounding_dino_model
    grounding_dino_modelGroundingDINO_SwinT_OGC (694MB)
    text_encoderBERT base uncased (auto)

    Some regions are easier to describe than to train a detector for. "Find the red car" - try writing a YOLO model that does that. GroundingDINO is the model that finds boxes from free text instead of a fixed class list, and GroundingDINO Model Loader is SimpleSyrup's way of loading it: the detector plus its explicit BERT text encoder, both selectable, with automatic downloads for the known models.

    How it works

    GroundingDINO pairs a detection backbone with a BERT text encoder that turns your prompt into the thing it searches for. Two inputs:

    • grounding_dino_model: the detector weights, default GroundingDINO_SwinT_OGC (694MB). The dropdown also lists other catalog entries; with the "SimpleSyrup: Show downloadable models in loader dropdowns" setting enabled (Settings → SimpleSyrup), picking a known-but-uninstalled model downloads it automatically with visible Comfy progress.
    • text_encoder: the BERT encoder paired with it, default BERT base uncased (auto). There's a manual override if you have a specific BERT you want to use; "auto" picks the right default for the detector.

    Output is a GROUNDING_DINO_MODEL socket. Wire it into the pack's Prompt SEGS w/ SAM (which accepts GROUNDING_DINO_MODEL - and also DINO_MODEL from the LayerStyle adapter) alongside a SAM model, and you get the full text-prompt detection pipeline: DINO finds boxes from your prompt, SAM segments them into masks, out come SEGS. It also interoperates with Impact's GroundingDINO-consuming nodes if you prefer to keep detection there.

    Why the explicit BERT matters

    The WebUI-era GroundingDINO experience was largely "why does my model load but find nothing?" - usually a mismatched text encoder. Separating the two selectors here, with a sensible auto default, removes the most common failure before it starts. If you're running a custom detector build, keeping the encoder as its own choice is what lets you swap one side without rebuilding the other.

    Install

    Ships in the SimpleSyrup pack. ComfyUI Manager → search SimpleSyrup → Install → restart, or:

    Set-Location ComfyUI\custom_nodes
    git clone https://github.com/Artificial-Sweetener/SimpleSyrup.git
    Set-Location SimpleSyrup
    ..\..\venv\Scripts\python.exe -m pip install -r requirements.txt
    

    Restart ComfyUI; current build required (v3 extension API). The pack pulls in Segment Anything, ONNX Runtime and the Hugging Face download helpers, which is what makes the model downloads work.

    Common issues

    • Model listed but download hangs - the loader downloads from Hugging Face with progress; a blocked connection to HF breaks it. Check you can reach huggingface.co, and confirm the "Show downloadable models" setting is on so the catalog entries appear.
    • Finds nothing for a prompt - check the prompt phrasing; GroundingDINO is sensitive to wording, and "car" vs. "a red car" can be the difference. Also confirm you're using a SAM pairing that matches the detection.
    • Sockets don't connect to Impact nodes - SimpleSyrup and Impact use different GroundingDINO socket names in places; the pack's own detection chain is the guaranteed-compatible path.
    • Nodes missing - update ComfyUI first.

    It's the load-bearing first step for text-driven region detection in this pack: DINO finds, SAM segments, and this node is where DINO comes from.

    CategorySimpleSyrup/Masking

    Inputs (2)

    NameTypeDefaultDescription
    grounding_dino_modelCOMBOGroundingDINO_SwinT_OGC (694MB)GroundingDINO model choice used to find boxes that match a text prompt.
    text_encoderCOMBOBERT base uncased (auto)BERT text encoder paired with GroundingDINO for prompt matching.

    Outputs (1)

    NameTypeDescription
    grounding_dino_modelGROUNDING_DINO_MODELLoaded GroundingDINO model for finding prompt-matched boxes in images.