Load GroundingDINO Model
The quiet 700MB download your pose pipeline needs
- gd_model
Before you can draw a skeleton on a person in a video, something has to find the person. GroundingDINO is that something - an open-vocabulary object detector that reads a text prompt like "person." and returns bounding boxes. Load GroundingDINO Model is this pack's wrapper for it, and it exists for one reason: to feed bounding boxes into the official SDPose pipeline so the pose estimator knows where to look.
The node is a model loader and nothing else. Pick model_name, get a gd_model out, wire it to GD_BBoxDetect. Two model options:
GroundingDINO_SwinT_OGC(default) - ~694MB, faster. The one to start with.GroundingDINO_SwinB- ~938MB, more accurate. Reach for it when SwinT keeps missing your subject.
The interesting part is what the loader does for you: it downloads the weights automatically. No manual drag-into-models-folder dance. On first use it pulls the config and checkpoint from the ShilongLiu/GroundingDINO HuggingFace repo into ComfyUI/models/grounding-dino/, plus the bert-base-uncased text encoder into ComfyUI/models/clip/. The model is then cached globally and kept resident on your GPU, so the first load takes a few seconds and every load after is instant.
The dependencies you can't skip
The two heavy pip packages - groundingdino-py and transformers - are declared in requirements.txt, and this pack's install.py will try to install them automatically on startup with retries. If you installed the pack with ComfyUI Manager that's handled. If the node throws an import error, that's the fix:
pip install groundingdino-py transformers
Install
GD_ModelLoader ships in user2318/ComfyUI-CustomNodeKit. ComfyUI Manager: search "CustomNodeKit". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/user2318/ComfyUI-CustomNodeKit.git
cd ComfyUI-CustomNodeKit
pip install -r requirements.txt
then restart. On top of the pack's base deps (opencv-python, mediapipe, tqdm), you want groundingdino-py and transformers present, and the ~700MB auto-download happens on first run of this node.
The gotcha
"Stays resident on GPU" is the phrase to remember. The model deliberately does not unload, so in a VRAM-tight environment it's a permanent ~1-2GB resident. That's fine for a pose pipeline - you'd rather it stay warm than re-initialize every frame - but don't be confused when your VRAM baseline jumps after first use, and don't try to run this alongside a full 14B Wan checkpoint on an 8GB card. Also: this node doesn't detect anything by itself. Loader → GD_BBoxDetect → SDPose is the chain; the loader is the boring but mandatory first link.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | GroundingDINO_SwinT_OGC | 2 options: GroundingDINO_SwinT_OGC, GroundingDINO_SwinB |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| gd_model | GD_MODEL | — |