Nodes/kentskooking-nodes/Wave IPAdapter Advanced
ComfyUI Node

Wave IPAdapter Advanced

IPAdapter settings that ride the wave — and the model passes through

By Kentskooking·Created 10 months ago·Updated 15 days ago· 8
Wave IPAdapter Advanced
  • model
  • ipadapter
  • image
  • image_negative
  • attn_mask
  • clip_vision
  • wave_config
  • model
  • wave_config
weight1.00
weight_type
combine_embeds
start_at0.000
end_at1.000
embeds_scaling

IPAdapter is how you drag a reference image's identity or style into a generation without fine-tuning anything. In this pack, Wave IPAdapter Advanced is where you configure that - and like the other "Apply" nodes in kentskooking-nodes, the name is doing a little more work than it should. It doesn't apply the IPAdapter. It stores every IPAdapter setting inside the wave_config, passes your model through untouched, and lets the iterative samplers do the actual application per-frame, with the weight riding the wave.

How it works

The inputs mirror cubiq's IPAdapter Advanced node almost exactly - which is deliberate, because under the hood it calls into ComfyUI_IPAdapter_plus when the samplers finally apply it. The node takes your model, the loaded ipadapter (from cubiq's IPAdapter Model Loader), a reference image, and the full menu of IPAdapter parameters: weight, weight_type (linear, ease in/out, strong middle, style transfer, and the rest), combine_embeds, start_at, end_at, and embeds_scaling. Optional extras are image_negative, attn_mask, and clip_vision.

The important quirk: the model output is a passthrough - the exact model you put in comes out unchanged. The settings go into a copy of the wave_config, and the sampler applies the IPAdapter to the model only at sample time, recomputing strength each frame. It also handles image batches: it splits your reference batch into a sequence and cycles through it per cycle, so different reference images can drive different segments of the animation.

Inputs that matter

  • wave_config (optional in the schema, but effectively required) - without it the node throws immediately: "WaveIPAdapterAdvanced requires a wave_config input."
  • ipadapter - from ComfyUI_IPAdapter_plus's model loader. This is the dependency that has to be installed separately.
  • weight / weight_type - your base identity-hold settings; the Wave IPAdapter Controller can override the weight range per-frame.
  • start_at / end_at - the fraction of each sample where the adapter kicks in.

Outputs: model (passthrough) and the enriched wave_config.

Installing it

Part of kentskooking-nodes: ComfyUI Manager → search kentskooking-nodes → install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Kentskooking/kentskooking-nodes

Restart after. Then install the one real dependency - this node needs cubiq's ComfyUI_IPAdapter_plus:

cd ComfyUI/custom_nodes
git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus.git comfyui_ipadapter_plus

Restart again. If the pack can't find it, the samplers print Warning: IPAdapter ImportError at startup and silently disable IPAdapter - a confusing way to find out you skipped a step.

Common issues

  • The "requires a wave_config input" error - you attached the node without a controller upstream. Every wave node wants a controller; this one refuses to guess.
  • IPAdapter silently doing nothing - either ComfyUI_IPAdapter_plus isn't installed, or the enriched wave config never reached the sampler (keep one continuous config line).
  • Identity drifts mid-run - you fed a batch and the adapter cycles references. That's a feature, not a bug: it's how you walk from one face or style to another.

Start with weight 0.5–0.8 and weight_type linear; reach for "style transfer" when you want the look but not the composition.

Categorykentskooking/ipadapter

Inputs (13)

NameTypeDefaultDescription
modelMODEL
ipadapterIPADAPTER
imageIMAGE
weightFLOAT1.00-1–5
weight_typeCOMBO12 options: linear, ease in, ease out, ease in-out, reverse in-out, weak input, +6
combine_embedsCOMBO5 options: concat, add, subtract, average, norm average
start_atFLOAT0.0000–1
end_atFLOAT1.0000–1
embeds_scalingCOMBO4 options: V only, K+V, K+V w/ C penalty, K+mean(V) w/ C penalty
image_negativeoptIMAGE
attn_maskoptMASK
clip_visionoptCLIP_VISION
wave_configoptWAVE_CONFIG

Outputs (2)

NameTypeDescription
modelMODEL
wave_configWAVE_CONFIG