Video Layer Ho Down
Five Compositing Layers You Drag Around With Your Mouse
- background
- layer_1
- composited
Most ComfyUI compositing workflows are a tangle of masks, blend nodes, and a constant stream of "wait, which input feeds which socket" backtracking. Video Layer Ho Down is the opposite: it's a proper little layer stack, up to five foregrounds over a background, where you position each layer by dragging it on a live canvas instead of typing coordinates. If you've ever opened a res4lyf workflow and wished compositing could be this forgiving, this is the node.
It's built for the case where you have transparent assets - logos, PNG cutouts, a title card, a foreground element with an RGBA alpha channel - and a background image or video batch they need to sit on. The compositor does the whole job in one node and everything runs on the GPU via PyTorch.
How it works
Each layer is composited independently: scale via bilinear interpolate, alpha blend via torch.lerp, and a small set of blend modes computed per-channel. The frontend is the fun part - a JS canvas shows your background with a checkerboard so transparency is visible, you click a layer to select it, drag to position it, and crosshair guides plus a coordinate readout tell you exactly where you're putting it. The x/y values write straight back into the layer's position widgets, so what you see is what runs.
The inputs that matter
One required input: background. Everything else is optional and appears as you use it - connect layer_1 and layer_2 shows up, up to five. For each layer you get:
- layer_N_x / layer_N_y - position, set by dragging on the canvas. Range goes to ±8192, so partially off-screen placement is allowed on purpose.
- layer_N_scale and layer_N_opacity - the obvious ones, 0.01–10 and 0–1.
- layer_N_blend -
normal,multiply,screen,overlay, oradd. Five modes is a deliberate small set; if you need exotic blending this isn't the node. - anchor_point - whether x/y means the layer's top-left corner or its center. Default is top_left; flip it if you're positioning by middle.
Outputs
A single composited IMAGE batch. If your background is a video, single-frame foreground layers repeat across the whole batch automatically - batch size alignment is handled for you, which is where compositing pipelines usually fall apart.
Troubleshooting
The trap people hit first: feeding a foreground without an alpha channel. An RGB layer composites as a solid rectangle, because there's no transparency to reveal the background. Get an alpha channel onto the asset (mask-to-RGBA, or BiRefNet background removal) before it reaches this node. Also, the canvas positions layers in pixels relative to the background - if you swap in a different-size background later, re-drag, because positions don't rescale.
Installing
This is one node out of the TrentNodes pack (60+ nodes under the Trent/ menus), so install once for everything. ComfyUI Manager → search "Trent Nodes" → Install is the easy route; if Manager flags the pack (a day-one repo rename left a registry duplicate it still distrusts), clone manually:
cd ComfyUI/custom_nodes
git clone https://github.com/TrentHunter82/TrentNodes
cd TrentNodes
pip install -r requirements.txt
Restart ComfyUI. The node needs nothing beyond torch (ComfyUI's own) - the canvas is plain frontend JS.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| background | IMAGE | Base layer; all foreground layers composite on top | |
| anchor_pointopt | COMBO | top_left | Whether x,y refers to the layer top-left corner or center |
| layer_1opt | IMAGE | Foreground layer 1; supports RGBA for transparency | |
| layer_1_xopt | INT | 0-8192–8192 | Layer 1 horizontal position; set by dragging on canvas |
| layer_1_yopt | INT | 0-8192–8192 | Layer 1 vertical position; set by dragging on canvas |
| layer_1_scaleopt | FLOAT | 1.000.01–10 | Layer 1 scale factor |
| layer_1_opacityopt | FLOAT | 1.000–1 | Layer 1 opacity |
| layer_1_blendopt | COMBO | normal | Layer 1 blend mode |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| composited | IMAGE | Composited image batch with all layers blended onto background |