ComfyUI Node

Smart Border & Frame

Give a generation a real frame — polaroid, film strip, the lot

By Niutonian·Created 7 months ago·Updated 7 months ago· 0
Smart Border & Frame
  • input_image
  • framed_image
frame_stylesimple
border_width20
border_colorwhite
corner_stylesquare
shadow_enabledfalse
shadow_blur10
shadow_offset5
shadow_opacity0.5
custom_color_r128
custom_color_g128
custom_color_b128
corner_radius10
inner_border_width5
inner_border_colorgold

There's a moment in every image workflow where the output stops being "a render" and needs to look like a photo - for a portfolio, a post, or just to make the thing presentable. Smart Border & Frame is the Niutonian Smart Image Suite's answer: one node that wraps a single IMAGE in a border, and unlike the bare "add a few pixels of white" nodes, it has actual frame styles. Seven of them, from a plain border to a film strip with perforations.

It's pure Pillow under the hood - no models, no API, nothing to download. It's also the rare node in this suite where the fancier features genuinely work, not just render as nameplates.

How it works

frame_style is the headline control. simple, classic, modern, and vintage vary the border construction (classic adds an inner line, vintage layers in a subtle texture). polaroid gives the classic big-bottom-border look with the image sitting in the top portion. film draws a strip with perforation holes along the sides - the "I shot this on film" aesthetic. none passes the image through untouched.

From there you tune it: border_width (0–200, step 2) and border_color (white/black/gray/custom, with custom_color_r/g/b sliders when you pick custom). corner_style gives square, rounded, or beveled corners - rounded and beveled use corner_radius to control the cut. classic draws a matted double border and picks up inner_border_width and inner_border_color (white/black/gold/silver); modern is a minimalist asymmetric frame with a thicker bottom edge; vintage layers a brown inner line with gold corner dots.

Shadows are where this node pulls ahead of a plain border. shadow_enabled adds a drop shadow sized by shadow_blur, offset by shadow_offset, and faded by shadow_opacity. It's a soft, blurred-copy shadow - fine for presenting a single image, not a print-accurate one. The output is framed_image (IMAGE), ready for a Save Image.

Inputs that matter for a beginner

  • frame_style - pick polaroid or film first; they look the most "done."
  • border_width and border_color - the everyday knobs.
  • shadow_enabled - the single highest-impact toggle after the style itself.
  • corner_radius - only visible/needed when corner_style isn't square.

Everything else is optional tuning; the defaults are sane.

Installing and gotchas

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/Niutonian/comfyui-niutonian-smart-image

Restart, and it lives under Niutonian/Image Processing. No extra dependencies - this node is pure Pillow, so it works even if you haven't installed the pack's optional OpenCV dependency.

Two honest caveats. The suite is young (single initial commit, early 2026), so the "vintage" texture is a simple effect rather than a print-quality finish. And because the node takes one input image, if you want to frame a batch you either loop it or pair it with Smart Batch Processor's add_borders mode from the same pack. For a single hero image that needs to look finished, this is the quickest path from "generated" to "posted."

CategoryNiutonian/Image Processing

Inputs (15)

NameTypeDefaultDescription
input_imageIMAGE
frame_styleCOMBOsimple7 options: none, simple, classic, modern, vintage, polaroid, +1
border_widthINT200–200
border_colorCOMBOwhite4 options: white, black, gray, custom
corner_styleCOMBOsquare3 options: square, rounded, beveled
shadow_enabledBOOLEANfalse
shadow_blurINT100–50
shadow_offsetINT50–30
shadow_opacityFLOAT0.50–1
custom_color_roptINT1280–255
custom_color_goptINT1280–255
custom_color_boptINT1280–255
corner_radiusoptINT100–50
inner_border_widthoptINT50–50
inner_border_coloroptCOMBOgold4 options: white, black, gold, silver

Outputs (1)

NameTypeDescription
framed_imageIMAGE