Nodes/ComfyUI-ArchAi3d-Qwen/Simple Tile Cropper
ComfyUI Node

Simple Tile Cropper

Cut a tile out of a big image, with context to spare

By amir84ferdos·Created 11 months ago·Updated 5 months ago· 70
Simple Tile Cropper
  • image
  • cropped_tile
  • tile_info
  • crop_width
  • crop_height
tile_idx0
tile_width512
tile_height512
tiles_x2
tiles_y2
overlap64

Tiled upscaling is a farming operation: you slice the field, tend each plot, and combine the harvest. This node is the first pass - it cuts one tile out of your big image so the sampler can process it without trying to hold the whole thing in VRAM. The trick is that it crops more than the tile: the crop includes the overlap region, which becomes the context the diffusion model needs to keep details continuous with the neighbor tiles.

It's part of the "Simple USDU" tiling subsystem inside ComfyUI-ArchAi3d-Qwen - Amir Ferdos's pack, best known for Qwen-VL interior-design nodes, with this tiling pipeline being the part the README doesn't talk about. The "USDU" in the category name is a nod to Ultimate SD Upscale; this suite is a from-scratch version of that idea, piece by piece.

How it works

Give it an image and a tile index, and it calculates where that tile lives in the grid, then crops it including the overlap padding so the sampler sees surrounding context. Two things worth knowing:

  • Tiles are indexed left-to-right, top-to-bottom, starting at 0.
  • Edge tiles get cropped smaller when they extend past the image boundary - the node doesn't pad them. That's handled downstream.

The node also emits tile_info, a JSON string containing the full geometry of this crop (grid position, crop rect, overlap, step sizes). That string is the hand-off between cropper and compositor - the Compositor reads it to know exactly where to put the processed tile back.

Inputs

  • image - the IMAGE to crop.
  • tile_idx - which tile (0 to total_tiles-1).
  • tile_width / tile_height - tile size including overlap.
  • tiles_x / tiles_y - grid dimensions.
  • overlap - the context padding. The tooltip is explicit: this is context for the sampler, not just spacing.

Outputs: cropped_tile (IMAGE), tile_info (STRING, JSON - feed to the Compositor), and crop_width / crop_height (INT) for checking the actual crop size when an edge tile comes back smaller than expected.

Installing

cd ComfyUI/custom_nodes
git clone https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen.git
cd ComfyUI-ArchAi3d-Qwen
pip install -r requirements.txt

Or ComfyUI Manager → "ArchAi3d Qwen". No model files, no heavy deps for this node. Free for personal use; the pack's license requires a paid license for commercial work.

One honest note

You wire this per-tile: one cropper per tile_idx, feeding the sampler, feeding the compositor. That's the explicit, learn-everything-about-tiled-upscaling path and it's genuinely educational - you can see the whole machine. But on a 4×4 grid you're placing 16 of them. The Batch sibling crops the whole grid in one node, and the Smart Tile line in this same pack does the whole thing through SEGS. Use the single cropper to understand the pipeline; use the batch version to actually ship an upscale.

CategoryArchAi3d/Upscaling/Simple USDU

Inputs (7)

NameTypeDefaultDescription
imageIMAGE
tile_idxINT00–1000
tile_widthINT51264–4096
tile_heightINT51264–4096
tiles_xINT21–100
tiles_yINT21–100
overlapINT640–512Overlap between tiles (context padding)

Outputs (4)

NameTypeDescription
cropped_tileIMAGE
tile_infoSTRING
crop_widthINT
crop_heightINT