Nodes/Remade_nodes/Place Canny On Centered Canvas
ComfyUI Node

Place Canny On Centered Canvas

Dropping a shrunken subject's edges onto a fresh 1024×1024 canvas

By Pheat-AI·Created 2 years ago·Updated 2 years ago· 5
Place Canny On Centered Canvas
  • shrunken_canny_image
  • IMAGE
center_x
center_y

The last step of the pack's Canny chain, and the one that decides where the subject ends up. Place Canny On Canvas takes the shrunken edge map from Shrink Canny Image and pastes it onto a blank 1024×1024 black canvas, centered on the center_x/center_y you give it. Feed the result to a Canny ControlNet and the model redraws the scene with the subject at that new spot, at that new scale. Crop, shrink, recenter, regenerate - that's the whole relocate-a-subject pipeline, and this node is its anchor point.

The 1024×1024 hardcode is the node's personality. It was clearly built for an SDXL-era workflow where 1024×1024 was the native generation resolution. If you're working at a different native resolution - Flux at 1024×1024 is fine, but many 2026 pipelines run other sizes - the canvas won't match your sampler's latent, and the edges won't align with the regeneration area. Know your model's resolution before you use this.

How it works

Mechanically: the shrunken canny (which comes in as grayscale, from the previous node) is converted to RGB, a black 1024×1024 canvas is created, and the image is pasted centered on your point using integer-division math: top-left = center - size // 2. The tensor is then moved onto your torch device via ComfyUI's model management, so it's ready for the sampler. That device move is a nice touch most hand-rolled pastes skip.

Inputs and outputs

  • shrunken_canny_image (IMAGE) - the output of Shrink Canny Image (or any edges image).
  • center_x, center_y (INT) - pixel coordinates of the subject's new center on the canvas. These can come straight from this pack's Mask Bounding Box node (center_x/center_y outputs), which is how the chain is meant to be wired.
  • Output: IMAGE - 1024×1024 RGB, black background with the edges pasted in, ready for a Canny ControlNet's conditioning image input.

Gotchas

  • No clamping on the paste. If your center point is near an edge, part of the canny simply falls off the canvas and is lost. Unlike the crop node, nothing clamps here - check your coordinates if the subject comes back half-drawn.
  • Canvas is fixed at 1024×1024. Wrong resolution for your model means misaligned conditioning. You can upscale or crop afterward, but that's extra plumbing.
  • Center means center of the shrunken map, not of the original subject. If you shrank asymmetrically (crop with padding), the "center" lands slightly off what you visually expect. Minor, but it bites on tight compositions.

Installing it

Part of Remade_nodes - install the pack once:

cd ComfyUI/custom_nodes
git clone https://github.com/Pheat-AI/Remade_nodes

Restart ComfyUI, or search Remade_nodes in ComfyUI Manager. No model downloads; requirements.txt is just numpy (and the pack's color-blend node wants OpenCV present - pip install opencv-python if the whole pack fails to import).

This is the payoff node of the chain: everything before it prepared edges, this one decides the placement, and whatever comes next is a ControlNet-guided regeneration. Wire the center coordinates to the pack's mask-bounding-box node and the whole relocate-the-subject workflow runs on autopilot.

CategoryREMADE/Image

Inputs (3)

NameTypeDefaultDescription
shrunken_canny_imageIMAGE
center_xINT
center_yINT

Outputs (1)

NameTypeDescription
IMAGEIMAGE