BBox Detector (Batch)
Object detection across a whole batch, without a node per frame
- bbox_detector
- images
- images
- masks
BBox Detector (Batch) is the reason this pack has "Batch BBox Detector" in its name. ImpactPack gives you a single-image BboxDetectorCombined - excellent node, but it handles one image at a time. When you've got 60 video frames and you want a mask for every one, wiring 60 of those together is absurd. This node takes a whole IMAGE batch in, runs detection frame by frame, and hands you a stacked mask batch out. It's the batch loop ImpactPack should have had, bolted on as a thin wrapper.
How it works: for each frame in the batch it calls the exact same detect_combined(threshold, dilation) that the ImpactPack node uses, collects the masks, and stacks them into a [B, H, W] tensor. The bbox_detector input is an ImpactPack BBOX_DETECTOR object - that's the type coming out of UltralyticsDetectorProvider, so this node doesn't ship or bundle any detection model itself.
The inputs that matter:
- bbox_detector - the ImpactPack detector object. Required, and this is the dependency to get right (more below).
- images - your batch,
[B, H, W, C]. Required. - threshold (0–1, default 0.5) - detection confidence. Lower it to 0.3–0.4 to catch more objects with more false positives; raise it for precision. The classic empty-mask fix.
- dilation (−512 to 512, default 4) - mask expansion. Positive grows the mask to cover context around a detection; negative contracts it. 4 is a gentle default.
- return_type -
mask_only(default) orimage_with_boxes.
Outputs are images and masks ([B, H, W]). The masks are what you actually care about - feed them to a detailer, an inpainting pass, or mask-to-video nodes.
Now the honest part about image_with_boxes: in the current source it's a stub. The drawing loop is literally empty (pass), so selecting it returns your images essentially unchanged. It's not a bug in your workflow - the feature just isn't implemented yet. Use mask_only and draw your own boxes if you need them on screen.
Install and dependencies, since these matter more here than anywhere else in the pack: this node only works with ImpactPack installed. ComfyUI Manager → search "Batch BBox Detector" → Install for the pack, plus Impact Pack, plus - since Impact Pack v8.0 - the separately-installed Impact Subpack, which is where UltralyticsDetectorProvider now lives. Then you need a YOLO detector model (the same Bingsu/adetailer weights ImpactPack's FaceDetailer uses work fine). There's no requirements.txt in NodeSweet; the heavy lifting is all in the ImpactPack side.
One historical warning worth knowing: the Ultralytics dependency is how the December 2024 cryptominer supply-chain compromise reached ComfyUI users, and Ultralytics is AGPL-licensed. It's not a reason to panic - pin your versions and install through Manager - but it is a reason to know what you're pulling in. For small batches this is the right node; for 300+ frames, use the Chunked variant so you don't OOM.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| bbox_detector | BBOX_DETECTOR | — | |
| images | IMAGE | — | |
| threshold | FLOAT | 0.500–1 | — |
| dilation | INT | 4-512–512 | — |
| return_typeopt | COMBO | 2 options: mask_only, image_with_boxes |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| masks | MASK | — |