Split Bbox (mtb)
Unpack a bounding box into x, y, width, height
- bbox
- x
- y
- width
- height
A BBOX in ComfyUI is one connector carrying four numbers bundled together - x, y, width, height. Most of the time that bundling is exactly what you want. Sometimes it isn't: you need just the width for a math node, or you're feeding a different pack's crop logic that expects four separate integers instead of one bundled type. Split Bbox is the unwrap.
What it does
One input, bbox, and four outputs - x, y, width, height, all plain INT. No transformation, no logic, it just pulls the tuple apart into individually-wireable values. It's a plumbing node, not a processing one.
Where a BBOX actually comes from
You won't generate a BBOX out of thin air - it comes from a detector. The common source in a real workflow is ComfyUI Impact Pack, whose detector nodes find faces, hands, or arbitrary YOLO-detected regions and hand back bounding boxes for its detect-crop-refine-paste-back machinery. mtb's own crop nodes (Upscale Bbox By, and others outside this article) also produce and consume the same BBOX type. Split Bbox is the node you drop in when something else in your graph - a math node computing a crop margin, a resize node wanting explicit width/height, a debug print - needs the individual numbers instead of the bundle.
When you'd actually use it
Honestly: rarely, and that's fine. Most crop/detail workflows never touch the individual coordinates - you pass the BBOX straight from detector to cropper to detailer and never look inside it. Reach for this node specifically when you're building custom math around a detected region: growing a box asymmetrically, comparing width against height to decide portrait-vs-landscape handling, or feeding a node from a different pack that wasn't built to accept mtb's BBOX type at all.
Installing it
ComfyUI Manager: search "MTB Nodes," install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/melMass/comfy_mtb
restart, and if nodes are missing afterward, cd into comfy_mtb and run pip install -r requirements.txt yourself.
Common issues
The main failure mode with this node isn't the node itself - it's a type mismatch upstream. mtb's BBOX needs to actually match what your detector node outputs; if you're mixing packs (say, an Impact Pack detector into an mtb crop node, or vice versa) and the connector won't even let you wire it, that's ComfyUI's type system correctly telling you the two packs' BBOX implementations aren't the same custom type under the hood, even though they represent the same concept. When that happens, stick to one pack's bbox nodes end-to-end rather than mixing detector and crop nodes across packs. Beyond that, this node has no dependencies to speak of - if it's missing from the node list, it's the standard base-install issue, nothing specific to bounding boxes.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| bbox | BBOX | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| x | INT | — |
| y | INT | — |
| width | INT | — |
| height | INT | — |