Runware IP-Adapter
The IP-Adapter you don't have to install
- guideImages
- ipAdapters
- ipAdapters
IP-Adapter is the classic "show, don't tell" conditioning: feed it a reference image and it steers generation toward that image's look - style, composition, or both - through decoupled cross-attention, no training required. Locally it's a legacy stack that never followed the ecosystem past SDXL, which is exactly why this node is interesting. It's a builder in Runware's pack, so it runs IP-Adapter on Runware's cloud against the pack's SDXL-era architecture nodes - the same trick, minus the model files, the cubiq dependency tree, and the "does this load on my checkpoint" gamble.
Think of builders as the pack's config nodes: they produce a typed value (here, RUNWARE_IPADAPTERS) that you wire into a model node's ipAdapters socket. It doesn't generate anything by itself - it's the seasoning, not the meal.
The inputs that matter
model(required): which IP-Adapter variant, from four choices (runware:56@1through@4). Runware's catalog lists them; if in doubt, the first is the usual general-purpose pick.guideImages(required,IMAGE): the reference look. One or more images.weight(default1, range −4 to 4): influence strength. 0 means no influence; negative values steer away from the reference - genuinely useful for "anything but this." For style transfer, the classic move is low positive weight, around 0.3–0.5.weightType(13 choices): how influence evolves over the generation. The interesting ones arestyle_transfer,composition,strong_style_transfer, andstyle_and_composition- pick by which half of the image you care about. Everything fromease_intostrong_middleshapes the curve.combineMethod: how multipleguideImagescombine -concat,add,subtract,average,norm_average.subtractis the niche trick for "reference minus another reference."embedScaling: which embedding components get used (only_v,kv, ...) - leave it alone unless you know why you're here.ipAdapters: the chain input. Builders are stackable, so wire one IP-Adapter's output into the next'sipAdapterssocket to apply several sequentially.
The weightComposition toggle (gated) reveals a value for controlling composition influence specifically - the "keep the layout, ignore the colors" fine-tune.
How it works
The builder collects your settings into an IP-Adapter descriptor, and when the model node runs, that descriptor rides along in the API request - stripped to only the fields the target model accepts. The adapter runs cloud-side against the checkpoint. Because it's a builder, the output is just the typed value; wire it into any model node that exposes an ipAdapters socket.
Install and gotchas
Pack install is one-time: ComfyUI Manager → search Runware, or git clone https://github.com/Runware/ComfyUI-Runware into custom_nodes + pip install -r requirements.txt, restart, and set a Runware API key.
Two things to internalize. First, this only helps on models that accept ipAdapters - that's the SD 1.5/SDXL-era architecture nodes like RunwareArch_sd_1_5, not the Flux-generation nodes, because IP-Adapter simply didn't get rebuilt for DiT. Second, a disconnected or empty builder silently produces None rather than an error, so if nothing's happening, check your guideImages actually has an image. And remember the stack is paid - every adapter in a chain is part of one generation's cost, so stack deliberately, not decoratively.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | IP-Adapter model identifier. | |
| guideImages | IMAGE | — | |
| weightopt | FLOAT | 1.00-4–4 | Strength of the IP-Adapter influence. A value of 0 means no influence. Higher values increase the influence, and negative values can be used to steer away from the reference. |
| weightTypeopt | COMBO | normal | Shapes how influence evolves during generation. |
| weightCompositionopt | BOOLEAN | false | Enable to set weightComposition. Off uses the model's default. |
| weightComposition_valueopt | FLOAT | 0.000–1 | Controls composition/layout influence specifically. |
| embedScalingopt | COMBO | kv | Determines which embedding components are used and their strength. |
| combineMethodopt | COMBO | concat | Controls how multiple reference images are combined. |
| ipAdaptersopt | RUNWARE_IPADAPTERS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ipAdapters | RUNWARE_IPADAPTERS | — |