Nodes/Shima/Shima Backdrop
ComfyUI Node

Shima Backdrop

The node that paints the stage behind your workflow

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
Shima Backdrop
      color_top#1a1a1a
      color_bottom#141414
      opacity1.0
      opacity_targetBoth
      bg_imageNone
      scaling_modeStretch
      image_scale_x1.00
      image_scale_y1.00
      offset_x0
      offset_y0

      Here's the honest pitch for Shima Backdrop: it does absolutely nothing to your images. No pixels, no conditioning, no data in or out. What it does is make a busy ComfyUI canvas readable - it draws a gradient or an image behind a group of nodes, so a 40-node graph reads as labeled sections instead of a plate of spaghetti. For the kind of big, shareable workflows this pack is built around, that's a real feature. For a two-node test graph, skip it.

      How it works

      All the work happens in the frontend. The backend node's execute() just returns an empty tuple; the widgets are pushed to JavaScript, which renders the backdrop in the "Always at Back" Z-layer - behind every node, so nothing you drag ever lands under it. Double-click the node to open the configuration modal and fiddle with everything there.

      The bg_image widget is the one that surprises people. It lists images from Shima/assets/customBG/ - a folder inside the extension - not from ComfyUI's normal input directory. Drop your own PNG, JPG, SVG or WebP in there and it'll show up in the dropdown after a refresh. That's how you get a branded backdrop for a shared workflow: your logo, your color scheme, sitting behind the whole graph.

      The widgets that matter

      • color_top / color_bottom - the two hex colors for the gradient. Default is a near-black #1a1a1a to #141414 fade.
      • opacity - 0 to 1, and it's a single slider shared by the gradient and the image. That's where opacity_target (Both / Gradient / Image) comes in: it decides which of the two the opacity actually applies to. Set it to "Image" if you want a subtle background photo under a full-strength gradient.
      • scaling_mode - Stretch, Fit, or Cover. Stretch distorts the image to the backdrop bounds, Fit letterboxes it, Cover crops to fill. Cover is the one that looks right for a photographic backdrop.
      • image_scale_x / image_scale_y / offset_x / offset_y - fine positioning and scaling on top of the scaling mode.

      There are no outputs. Don't go looking for a wire to attach - this node's entire job is visual.

      Installing it

      Part of the Shima pack. ComfyUI Manager → search Shima, or clone it:

      cd ComfyUI/custom_nodes
      git clone https://github.com/KDB-USJP/shima_wf.git Shima
      

      Then restart. First launch auto-installs Python deps and the pack's two companion repos (ComfyUI-Impact-Pack and cg-use-everywhere).

      Common issues

      The recurring complaint is "my background image doesn't show." Ninety-nine percent of the time it's because the file is in the wrong folder - it has to live under Shima/assets/customBG/, not ComfyUI's input/ directory. The other common stumble is forgetting that the opacity slider is shared: if you set opacity_target to "Image" and your image stays invisible, you've got opacity at 0 on the gradient side and are wondering why nothing renders. And since this node is pure frontend, it needs a full browser refresh after you drop new files in the folder - ComfyUI caches that file listing.

      One more honest note: this is a cosmetic node from a pack whose own docs describe its market as "workflow islands" you assemble and share. If you never share workflows and your canvas is always small, this is decoration you can live without. If you're the person who opens other people's 60-node graphs, you'll immediately see why it exists.

      CategoryShima/Design

      Inputs (10)

      NameTypeDefaultDescription
      color_topoptSTRING#1a1a1a
      color_bottomoptSTRING#141414
      opacityoptFLOAT1.00–1
      opacity_targetoptCOMBOBoth3 options: Both, Gradient, Image
      bg_imageoptSTRINGNone
      scaling_modeoptCOMBOStretch3 options: Stretch, Fit, Cover
      image_scale_xoptFLOAT1.00
      image_scale_yoptFLOAT1.00
      offset_xoptINT0
      offset_yoptINT0

      Outputs (0)

      No outputs