Nodes/JPS Custom Nodes for ComfyUI/Prepare Image Tiled IPA (JPS)
ComfyUI Node

Prepare Image Tiled IPA (JPS)

Prepping one tile at a time for tiled IP-Adapter

By JPS-GER·Created 3 years ago·Updated 2 years ago· 100
Prepare Image Tiled IPA (JPS)
  • image
  • IMAGE
target_w0
target_h0
zoom1
offset_w0
offset_h0
interpolation
sharpening0.00
tile_short2
prepare_type1

The "IPA" in the name means IP-Adapter, and this node exists to solve one specific, real annoyance with it: plain IP-Adapter forces your reference image into a square crop before encoding it. Hand it a wide landscape reference and the standard node will crop straight to the center square, throwing away most of the image. The community's workaround is tiled IP-Adapter - split the reference into several tiles across its width, CLIP-vision-encode each tile separately, and apply them together - so the whole reference actually gets used instead of just its middle square. This node is the prep step for that: it produces one correctly cropped, zoomed, and sharpened tile at a time, ready for a CLIP Vision Encode node.

If you don't already know why you'd want more than one CLIP vision embedding out of a single reference image, you probably don't need this node yet - start with the plain Prepare Image (JPS) and only reach for this once you've noticed your IP-Adapter results feel cropped or like they're missing most of a wide reference.

How it works

You'd typically wire up several instances of this node, one per tile, each pointed at the same source image but with a different prepare_type. tile_short sets how many tiles the image's short side gets split into - it's the grid density. prepare_type (1–9) picks which specific tile in that grid this particular node instance outputs. zoom lets you crop in tighter within a tile before the final resize, trading field of view for per-tile detail. offset_w/offset_h, interpolation, and sharpening work the same way they do in the rest of the Prepare Image family - positioning the crop and cleaning up the resize.

Note this node only gets pixels ready. Turning those tiles into actual conditioning still needs the separate ComfyUI_IPAdapter_plus node pack (Load IPAdapter, Apply IPAdapter) - JPS doesn't ship its own IP-Adapter implementation, it ships the image prep that a tiled IP-Adapter workflow needs.

The inputs and outputs that matter

  • image (IMAGE, required); target_w, target_h (INT, default 0, steps of 8) - set to your per-tile target size.
  • zoom (INT, 1–500, default 1) - crops in tighter before resizing; higher values trade field of view for detail.
  • offset_w/offset_h (INT, ±4096) - positions the crop.
  • interpolation and sharpening - same options as the rest of the Prepare Image family.
  • tile_short (INT, 1–5, default 2) - how many tiles the short side is split into.
  • prepare_type (INT, 1–9, default 1) - which tile in the grid this node instance outputs.
  • Output: IMAGE - one prepared tile.

How to install it

ComfyUI Manager: search "JPS Custom Nodes for ComfyUI." Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/JPS-GER/ComfyUI_JPS-Nodes.git

Restart. This node itself has no extra dependencies, but to do anything with its output you'll also need cubiq/ComfyUI_IPAdapter_plus installed separately, plus whatever IP-Adapter weights and CLIP vision encoder that pack requires.

Common issues & troubleshooting

IP-Adapter itself has aged out of some architectures. Worth knowing before you build a whole tiled setup around it: the reference IP-Adapter node pack covers SD 1.5, SDXL, and Kolors, with no Flux support, and its maintainer has described the repo as "maintenance-only." It still works well on SD 1.5/SDXL, but it isn't where active development is happening anymore.

tile_short / prepare_type combinations that don't make sense together. Asking for a prepare_type that doesn't correspond to a valid position in your chosen tile_short grid will likely just clamp to something rather than error cleanly - if a tile looks duplicated or oddly positioned, double check the two values are consistent with each other before assuming the node is broken.

Reference still feels "cropped." IP-Adapter's own known weakness is encoding the face/subject region well and losing peripheral detail - tiling helps get more of the source image into the conditioning path, but it won't fix IP-Adapter's general softness on full-body or off-center detail. That's a limitation of the adapter itself, not something this prep node can solve.

CategoryJPS Nodes/Image

Inputs (10)

NameTypeDefaultDescription
imageIMAGE
target_wINT0
target_hINT0
zoomINT11–500
offset_wINT0-4096–4096
offset_hINT0-4096–4096
interpolationCOMBO6 options: lanczos, nearest, bilinear, bicubic, area, nearest-exact
sharpeningFLOAT0.000–1
tile_shortINT21–5
prepare_typeINT11–9

Outputs (1)

NameTypeDescription
IMAGEIMAGE