Nodes/ComfyUI-YogurtNodes/Tile Info To TTP Image Assy Args (Yogurt Nodes)
ComfyUI Node

Tile Info To TTP Image Assy Args (Yogurt Nodes)

The glue node that makes tiled upscaling graphs actually wire together

By yogurt7771·Created 2 years ago·Updated 9 days ago· 1
Tile Info To TTP Image Assy Args (Yogurt Nodes)
  • tile_info
  • POSITIONS
  • ORIGINAL_SIZE
  • GRID_SIZE
  • PADDING

Tiled processing - splitting a big image into pieces, working on each piece, stitching it back - is the standard answer to VRAM limits and to getting fine detail onto huge canvases. The Yogurt pack has its own tile-and-untile nodes for that. But if you're stitching tiles back together with a third-party TTP_Image_Assy node, you've met the classic annoyance: it wants a very specific set of geometry inputs, and the pack's tile node hands you a tile_info dict instead. YogurtTileInfoToTTPImageAssyArgs is the translator between the two. Description on the box says it all: "Convert tile_info to TTP_Image_Assy inputs: positions/original_size/grid_size/padding."

What it does

One required input, tile_info, a DICT - the exact thing the pack's own Image Tile (Seam Mask) node (YogurtImageTileWithSeamMask) outputs. In goes the tile geometry, and out come the four arguments a TTP_Image_Assy node expects:

  • POSITIONS (LIST) - where each tile sits
  • ORIGINAL_SIZE (TUPLE) - the dimensions of the source image
  • GRID_SIZE (TUPLE) - how many tiles across and down
  • PADDING (INT) - the overlap margin to account for when stitching

The workflow it belongs to

A typical tiled upscale/repaint graph looks like: load image → Image Tile (Seam Mask) splits it into overlapping tiles plus inpaint masks → each tile gets upscaled or repainted → TTP_Image_Assy reassembles everything into one image. Without this node you'd be manually computing POSITIONS, GRID_SIZE, and PADDING from the tile node's internals every single time you changed the tile size. That's exactly the kind of busywork that makes people give up on tiling. This node removes it: split, process, wire the four outputs straight into the assembly node, done.

One caveat to plan around: TTP_Image_Assy is not part of this pack. The four outputs are named to match that node's expected inputs, so wire them positionally into whatever pack provides it (check the workflow you downloaded - the tiling/assembly pack it came from is the one to install).

Installing it

It ships with Yogurt Nodes under YogurtNodes/Image. One install covers the whole pack:

cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes.git
cd ComfyUI-YogurtNodes
pip install -r requirements.txt

Or search "ComfyUI-YogurtNodes" in ComfyUI Manager. Restart after. No model downloads for this node, though the seam-mask tile workflow around it is real image processing, so it runs on your GPU like anything else.

Common issues

The dependency mismatch is the one that trips people: this node produces inputs, it doesn't produce the assembled image. If your graph ends at a dead end of POSITIONS/GRID_SIZE/PADDING wires, the TTP_Image_Assy node is missing - install the pack that provides it and reconnect. And feed it a tile_info dict from the matching Image Tile (Seam Mask) node specifically; a hand-built dict with the wrong keys just won't translate. Keep the seam-mask and assembly nodes from the same workflow template and it's a straight drop-in.

CategoryYogurtNodes/Image

Inputs (1)

NameTypeDefaultDescription
tile_infoDICTtile_info dict from Image Tile (Seam Mask).

Outputs (4)

NameTypeDescription
POSITIONSLIST
ORIGINAL_SIZETUPLE
GRID_SIZETUPLE
PADDINGINT