Nodes/ComfyUI-Ardenius/Ard 4Crop Latent
ComfyUI Node

Ard 4Crop Latent

Split one latent into four quadrants before you ever decode it

By ArdeniusAI·Created 2 years ago·Updated 2 years ago· 5
Ard 4Crop Latent
  • samples
  • TL_latent
  • TR_latent
  • BL_latent
  • BR_latent
width_full_image512
height_full_image512

Ard 4Crop Latent is the first step of this pack's signature trick: take one image's latent and cut it into four equal quadrants so you can upscale, re-generate, or detail each one separately - then stitch them back together at the end. Working in latent space instead of pixels is the whole point, because the VAE shoves images down 8× per side, so a 1024×1024 image is a mere 128×128 latent. Cropping a 128×128 tensor costs nothing. And you only pay for one decode at the end, which both saves VRAM and avoids the quality loss that piles up with every encode→decode round trip.

Mechanically it's a simple slice: given width_full_image and height_full_image (the dimensions of the full image, defaults 512), the node halves each, then crops the latent into four boxes - TL, TR, BL, BR. Those are the four outputs, each a LATENT. In latent coordinates the node divides positions by 8 and clamps so a crop never runs past the edge, keeping at least 8 latent units of margin.

Inputs that matter:

  • samples - the full-size latent (from a KSampler or VAE Encode).
  • width_full_image / height_full_image - the full image dimensions, not the crop size. Set them to the size the original latent represents, or your four crops will be wrong sizes.

Outputs: TL_latent, TR_latent, BL_latent, BR_latent. Wire each into whatever you want to do per-quadrant - typically this pack's Ard 4Latent Upscale, then four re-sampling passes, then Ard 4Img Combine to paste them into one big canvas. That's the "poor man's tiled upscale" pattern: generate one composition, split it, add detail per tile, reassemble.

The trap here is subtle and worth stating plainly: the input latent must actually be the size implied by width/height. If you generated at 1024 but tell the node the full image is 512, you'll get four cropped pieces of the top-left quarter of the actual latent. The node won't warn you - it just clamps and slices. So keep the width/height inputs in sync with whatever produced the latent.

Install is the standard pack route - ComfyUI Manager → search ComfyUI-Ardenius, or:

cd ComfyUI/custom_nodes
git clone https://github.com/ArdeniusAI/ComfyUI-Ardenius

then restart ComfyUI. Same pack-level notes as everywhere: civitai and moviepy come along in requirements, and a console import error at load is the Save Image node wanting comfyui_controlnet_aux, not this node.

Reach for 4Crop when you want to treat one image as four tiles. Skip it if you're only ever cropping once - ComfyUI's built-in Crop nodes handle pixels fine, and this node only pays off as part of the four-tile pipeline the pack is built around.

CategoryArdenius

Inputs (3)

NameTypeDefaultDescription
samplesLATENT
width_full_imageINT51264–8192
height_full_imageINT51264–8192

Outputs (4)

NameTypeDescription
TL_latentLATENT
TR_latentLATENT
BL_latentLATENT
BR_latentLATENT