Nodes/BRIA AI API nodes/Shot by Image - Manual Padding
ComfyUI Node

Shot by Image - Manual Padding

Margins instead of coordinates

By Bria-AI·Created 2 years ago·Updated 3 months ago· 95
Shot by Image - Manual Padding
  • image
  • ref_image
  • output_image
api_keyBRIA_API_TOKEN
padding_values0,0,0,0
force_rmbgfalse
content_moderationfalse
enhance_ref_imagetrue
ref_image_influence1.00

ShotByImageManualPadding (shown as Shot by Image - Manual Padding) is the product-shot node that thinks in margins instead of coordinates. Instead of setting a canvas size and placing the product at a pixel position, you set padding_values - how much empty space surrounds the product on each side - and Bria builds the shot from that.

Think of it as the difference between "put the product at x=200, y=100" and "leave 150px of air around the product." The first is Custom Coordinates; this is the second. It's the layout method you'd reach for when the product should sit centered with breathing room, or when the exact canvas size genuinely doesn't matter as long as the margins are right.

How it works

Inputs: image (product), ref_image (scene reference), and padding_values - a comma-separated string of four integers, default 0,0,0,0, interpreted as the padding around the product (top, right, bottom, left). The node calls Bria's /v1/product/lifestyle_shot_by_image endpoint with the manual_padding placement type, and the shared controls apply: enhance_ref_image (default true), ref_image_influence (0–1, default 1.0), force_rmbg, content_moderation. One output: output_image.

Installing it

Part of the BRIA AI API nodes pack (Bria-AI/ComfyUI-BRIA-API). ComfyUI Manager → search BRIA API → install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Bria-AI/ComfyUI-BRIA-API

Restart ComfyUI; it's under API Nodes. No models, no GPU - cloud call needing a BRIA API token from platform.bria.ai, billed per generation.

Practical notes

The honest assessment: this is the least intuitive layout input in the ShotBy family, because a "padding" value means nothing until you see the output. The default 0,0,0,0 produces a product filling the frame edge-to-edge, which is rarely what you want - set nonzero values from the first run. Order matters (top, right, bottom, left), so 50,50,50,50 gives even margins while 100,50,100,50 pushes more air top and bottom. And there's a subtle interaction with the product photo itself: if the source shot already contains a lot of empty space around the product, padding is added on top of that, so you can end up with a tiny product in a huge canvas. If the proportions come out wrong, Custom Coordinates gives you both size and position outright.

CategoryAPI Nodes

Inputs (8)

NameTypeDefaultDescription
api_keySTRINGBRIA_API_TOKEN
imageIMAGE
ref_imageIMAGE
padding_valuesSTRING0,0,0,0
force_rmbgoptBOOLEANfalse
content_moderationoptBOOLEANfalse
enhance_ref_imageoptBOOLEANtrue
ref_image_influenceoptFLOAT1.000–1

Outputs (1)

NameTypeDescription
output_imageIMAGE