Nodes/DJZ-Nodes/Black Bars V1
ComfyUI Node

Black Bars V1

The cinematic-letterbox node with a feathered option

By MushroomFleet·Created 2 years ago·Updated 5 months ago· 80
Black Bars V1
  • images
  • IMAGE
box_mode
bar_size100
bar_feather0

BlackBarsV1 is the node that adds letterbox or pillarbox bars to images - the cinematic black bars you see on widescreen movies and vertical video, respectively. It sounds trivial until you're compositing generated video into a 16:9 delivery frame and realize ComfyUI's stock toolkit doesn't hand you this on a plate. It's the V1 of a three-version family in DJZ-Nodes (V1–V3), and the later versions add more control; V1 is the clean, simple one.

Three inputs. box_mode is the dropdown - letterbox adds horizontal bars top and bottom (the classic movie look, implying 2.35:1), pillarbox adds vertical bars left and right (what happens when you put a 4:3 or square image in a 16:9 frame). bar_size (0–500 px, default 100) is the thickness of each bar - and note it's per side, so letterbox at 100 adds 100px top and 100px bottom. bar_feather (0–50 px, default 0) adds a soft gradient between image and bar instead of a hard edge, which is the "gentler, more modern" look.

The mechanism is exactly what you'd hope: pure torch tensor ops, GPU when available, CPU fallback, output IMAGE at the same resolution as the input. It doesn't resize anything or change the canvas - the bars overwrite pixels in place. That's the design decision that makes it useful for compositing: your frame count and dimensions never change, so nothing downstream has to adapt. If you actually need to change the canvas size (add bars and grow the frame), that's a different operation; this node just paints.

When would you use it in a real workflow? The classic case is making an AI-generated still or clip feel "shot for cinema" by cropping its look to 2.35:1 with letterbox bars, then delivering at the original resolution. Or the delivery case: your generated content is square or portrait and the target is a 16:9 video - pillarbox it rather than stretching. It also pairs well with the DJZ cinematic effects (AnamorphicEffect, PanavisionLens) - those fake the anamorphic lens look, and BlackBars fake the presentation look, and together they sell "this was shot on film" harder than either alone. The bar_feather option is the sleeper feature: at 15–25 it turns the harsh clip into a soft vignette-y transition that reads as more expensive.

The honest scope check: it's a simple node and it stays simple. There's no per-side asymmetry (can't do top-only), no color choice (it's black, hence the name), and no animated bar that fades in over time. V2 and V3 in this pack exist precisely because people wanted more - check those if you need configurable color, side control, or fancier treatments. V1 is "letterbox or pillarbox, thick or thin, hard or soft."

The only real trap: bar_size is in pixels, not percentage, so a bar that looks right at 1080p will look skinny at 4K - if you swap resolution, re-check the number. No models, no downloads. Install: ComfyUI Manager → "DJZ-Nodes", or cd ComfyUI/custom_nodes && git clone https://github.com/MushroomFleet/DJZ-Nodes && pip install -r requirements.txt.

Categoryimage/format

Inputs (4)

NameTypeDefaultDescription
imagesIMAGE
box_modeCOMBO2 options: letterbox, pillarbox
bar_sizeINT1000–500
bar_featherINT00–50

Outputs (1)

NameTypeDescription
IMAGEIMAGE