Nodes/JPS Custom Nodes for ComfyUI/IP Adapter Tiled Settings (JPS)
ComfyUI Node

IP Adapter Tiled Settings (JPS)

The fix for IP-Adapter's oversized-head problem

By JPS-GER·Created 3 years ago·Updated 2 years ago· 100
IP Adapter Tiled Settings (JPS)
    • ip_adapter_tiled_settings
    ipa_model
    ipa_wtype
    ipa_weight0.50
    ipa_noise0.00
    ipa_start0.00
    ipa_end1.00
    tile_short2
    tile_weight0.55
    zoom100
    offset_w0
    offset_h0
    prepare_type
    prepare_intpol
    prepare_sharpening0.00

    If you've run plain IP-Adapter on anything more detailed than a headshot, you've probably hit the classic complaint: heads come out too big, or fine detail like clothing texture and logos just doesn't survive the trip through a single CLIP Vision embedding. That's the known ceiling of standard IP-Adapter - it encodes the whole reference into one global (or patch-level) vector, which is great for overall style and identity but loses exactly the kind of fine spatial detail a single embedding can't hold. The community's standard workaround is the tiled variant: split the reference image into tiles, encode each one separately, and apply them with more spatial awareness than a single global pass gives you. This node is the settings hub for that tiled pass - a lot of knobs, all in service of getting IP-Adapter to behave on detailed or full-body references rather than just faces.

    The inputs that matter

    Two groups worth separating: what controls the adapter itself, and what controls how the reference image gets tiled and prepped.

    • ipa_model - SDXL ViT-H, SDXL Plus ViT-H, or SDXL Plus Face ViT-H. Which IP-Adapter model variant you're running the tiled approach with.
    • ipa_weight (0–3, default 0.5) and ipa_wtype (linear, ease in/out, ease in-out, reverse in-out, weak input/output/middle, strong middle) - the adapter strength and how that strength is distributed across the sampling steps, rather than a flat weight the whole way through. The community-standard IP-Adapter weight band is 0.3–0.8 depending on the job (lower for face similarity, higher for style transfer) - 0.5 sits comfortably in that range as a starting point.
    • ipa_noise (0–1, default 0) and ipa_start / ipa_end (0–1) - noise injection and the step window the adapter is active for. Ending the adapter's influence before the last steps, rather than running it the whole way through, is the standard trick for preserving fine detail - running an adapter across every step measurably softens the result.
    • tile_short (1–5, default 2) and tile_weight (0–1, default 0.55) - how many tiles the short edge of the reference is split into, and how strongly the tiled pass contributes relative to whatever it's blended with.
    • zoom (1–500, default 100), offset_w / offset_h - framing controls for the tiling itself.
    • prepare_type - nine combinations of aspect ratio and resolution source (Target/Tile/Source/Square AR paired with Target/Tile/Source Res, plus a Direct Source passthrough) governing how the reference gets reshaped before tiling.
    • prepare_intpol and prepare_sharpening - interpolation method and a light sharpen pass on the prepared reference, same options as this pack's other image-prep nodes.

    Output: ip_adapter_tiled_settings, typed BASIC_PIPE - JPS's own bundle (a plain tuple, not Impact Pack's object of the same type name), meant for a matching Pipe node downstream.

    Installing it

    The JPS pack: ComfyUI Manager, search JPS Custom Nodes for ComfyUI, or manually:

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

    Restart ComfyUI, deleting any earlier copy of the pack first. This node holds settings only - you still need ComfyUI_IPAdapter_plus installed separately (search IPAdapter Plus in Manager) for the actual adapter loading and the tiled apply node this settings pipe is built to feed, plus the SDXL IP-Adapter model weights themselves. This is also one of the pack's newer additions, so it isn't in the published README's node list.

    Where people get tripped up

    The oversized-head problem this node exists to solve is real and well documented in the community - the standard advice when plain IP-Adapter gives you disproportionate heads or faces is literally "try the tiled node," which is exactly what this settings pipe is built for. If you switch to the tiled approach and detail still isn't holding, check ipa_start/ipa_end before touching weight - cutting the adapter off a bit early preserves more fine detail than raising ipa_weight does, and a too-high weight is what tips generations toward over-literal, plasticky reproductions of the reference. And as always with this pack's Settings nodes: nothing here does anything until you unpack it with the matching Pipe node and wire each value into the actual tiled Apply IPAdapter node.

    CategoryJPS Nodes/Settings

    Inputs (14)

    NameTypeDefaultDescription
    ipa_modelCOMBO3 options: SDXL ViT-H, SDXL Plus ViT-H, SDXL Plus Face ViT-H
    ipa_wtypeCOMBO9 options: linear, ease in, ease out, ease in-out, reverse in-out, weak input, +3
    ipa_weightFLOAT0.500–3
    ipa_noiseFLOAT0.000–1
    ipa_startFLOAT0.000–1
    ipa_endFLOAT1.000–1
    tile_shortINT21–5
    tile_weightFLOAT0.550–1
    zoomINT1001–500
    offset_wINT0-4096–4096
    offset_hINT0-4096–4096
    prepare_typeCOMBO9 options: Target AR + Target Res, Target AR + Tile Res, Tile AR + Target Res, Source AR + Source Res, Source AR + Tile Res, Tile AR + Source Res, +3
    prepare_intpolCOMBO6 options: lanczos, nearest, bilinear, bicubic, area, nearest-exact
    prepare_sharpeningFLOAT0.000–1

    Outputs (1)

    NameTypeDescription
    ip_adapter_tiled_settingsBASIC_PIPE