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

IP Adapter Settings (JPS)

Full tuning menu for one IP-Adapter pass

By JPS-GER·Created 3 years ago·Updated 2 years ago· 100
IP Adapter Settings (JPS)
    • ip_adapter_single_settings
    ipa_weight0.50
    ipa_wtype
    ipa_noise0.00
    ipa_start0.00
    ipa_stop1.00
    ipa_crop
    ipa_zoom1.0
    ipa_offset_x0
    ipa_offset_y0
    ipa_mask
    crop_intpol
    sharpening0.00
    ipa_model

    IP-Adapter made image prompting cheap - hand a diffusion model a reference picture and a small adapter injects the image's embedding through its own attention path, no LoRA training required. Running it well means getting a handful of things right at once: how strongly the adapter pulls toward the reference, how that strength is distributed across sampling steps, how the reference image itself gets cropped and framed before encoding, and which of the SDXL IP-Adapter model variants you're actually loading. This node is the single control panel for all of that, for one adapter pass, bundled into a pipe instead of a dozen loose widgets scattered around your Apply IPAdapter node.

    Worth flagging up front, because it matters for wiring: this pack ships a near-twin of this exact node, IP Adapter Single Settings (JPS). The two are almost field-for-field identical - the one real difference is the ipa_wtype option list.

    The inputs that matter

    • ipa_weight (0–3, default 0.5) - overall adapter strength. Community practice for IP-Adapter generally runs 0.3–0.8 depending on the job (lower for identity/face similarity, higher for style transfer), so 0.5 is a reasonable starting point inside that band.
    • ipa_wtype - nine options: linear, ease in, ease out, ease in-out, reverse in-out, weak input, weak output, weak middle, strong middle. This controls how the adapter's strength is distributed across sampling steps rather than applying a flat weight the whole way through - "ease out," for instance, front-loads influence and tapers it, which tends to preserve more fine detail than a flat linear application.
    • ipa_noise (0–1, default 0) and ipa_start/ipa_stop (0–1) - noise injected into the reference embedding (loosens an overfit to your exact reference photo), and the step window the adapter is active for. Cutting the adapter off before the final steps rather than running it the whole way through is the standard trick for keeping fine detail from getting softened.
    • ipa_crop, ipa_zoom, ipa_offset_x/ipa_offset_y - how the reference image gets framed before it's encoded: crop anchor, zoom factor, and pixel offsets.
    • ipa_mask - six options for constraining where the adapter applies: no mask, the mask editor (regular or inverted), or pulling a mask from the red, green, or blue channel of an image - a cheap trick for painting a mask in any external editor and extracting it here.
    • ipa_model - SDXL ViT-H, SDXL Plus ViT-H, or SDXL Plus Face ViT-H. Which adapter variant you're running.

    Output: ip_adapter_single_settings, typed BASIC_PIPE.

    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 holds settings only - you need ComfyUI_IPAdapter_plus installed separately (search IPAdapter Plus in Manager) for the actual adapter loading and apply node, plus the SDXL IP-Adapter weights themselves.

    Where people get tripped up

    The ipa_wtype list here - "ease in," "weak middle," "strong middle," and so on - matches the weight-type options on cubiq's current IPAdapter apply nodes. It's a genuinely different vocabulary from the older three-option scheme (original / linear / channel penalty) still floating around in some workflows and discussions, which is what IP Adapter Single Settings (JPS) uses instead - community threads on that older scheme (r/comfyui users asking what "channel penalty" even does) suggest it predates this newer, more descriptive list. Make sure the Settings node you're using matches the weight-type vocabulary your actual IPAdapter apply node expects.

    The output naming is also worth double-checking: this node's ip_adapter_single_settings pipe and its sibling's identically-named output both feed into a Pipe node whose input is actually called ip_adapter_settings - a different name again. None of this is type-checked by ComfyUI's generic BASIC_PIPE, so a mismatched Settings/Pipe pairing will connect without complaint and unpack into the wrong values. If your adapter isn't behaving the way you configured it, trace the pipe wire back to confirm it's actually feeding IP Adapter Settings Pipe (JPS) and not its Single-Settings cousin.

    CategoryJPS Nodes/Settings

    Inputs (13)

    NameTypeDefaultDescription
    ipa_weightFLOAT0.500–3
    ipa_wtypeCOMBO9 options: linear, ease in, ease out, ease in-out, reverse in-out, weak input, +3
    ipa_noiseFLOAT0.000–1
    ipa_startFLOAT0.000–1
    ipa_stopFLOAT1.000–1
    ipa_cropCOMBO5 options: center, top, bottom, left, right
    ipa_zoomFLOAT1.01–5
    ipa_offset_xINT0-4096–4096
    ipa_offset_yINT0-4096–4096
    ipa_maskCOMBO6 options: No Mask, Mask Editor, Mask Editor (inverted), Red from Image, Green from Image, Blue from Image
    crop_intpolCOMBO6 options: lanczos, nearest, bilinear, bicubic, area, nearest-exact
    sharpeningFLOAT0.000–1
    ipa_modelCOMBO3 options: SDXL ViT-H, SDXL Plus ViT-H, SDXL Plus Face ViT-H

    Outputs (1)

    NameTypeDescription
    ip_adapter_single_settingsBASIC_PIPE