IP-Adapter is a lightweight module that lets SDXL (and other diffusion models) take image inputs alongside text prompts. Use it to match a reference style, copy product appearance across scenes, or blend image and text conditioning. On our dedicated GPU hosting it adds minimal VRAM overhead on top of a base SDXL deployment.
Contents
Variants
- IP-Adapter base: general image conditioning
- IP-Adapter Plus: stronger identity preservation
- IP-Adapter Face: specifically for face identity (simpler than InstantID)
- IP-Adapter Plus Face: strongest face preservation
Deployment
from diffusers import StableDiffusionXLPipeline
import torch
pipe = StableDiffusionXLPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0",
torch_dtype=torch.float16,
).to("cuda")
pipe.load_ip_adapter(
"h94/IP-Adapter",
subfolder="sdxl_models",
weight_name="ip-adapter-plus_sdxl_vit-h.safetensors",
)
ip_image = load_image("reference_style.png")
pipe.set_ip_adapter_scale(0.7)
image = pipe(
prompt="a cat in this style",
ip_adapter_image=ip_image,
num_inference_steps=30,
).images[0]
Scale Tuning
set_ip_adapter_scale controls how strongly the reference image influences generation:
| Scale | Effect |
|---|---|
| 0.3 | Subtle style hint |
| 0.5 | Noticeable but text prompt dominates |
| 0.7 | Balanced influence (default) |
| 1.0 | Reference dominates, near-copy |
Combining
IP-Adapter stacks with ControlNet, LoRAs, and more. A common production stack:
- SDXL base
- ControlNet for pose
- IP-Adapter for style
- LoRA for specific look (brand, character)
VRAM costs ~2 GB per adapter. A 24 GB card holds all of the above with room to spare.
Production Diffusion Pipelines
IP-Adapter and SDXL preconfigured on UK dedicated GPU hosting.
Browse GPU ServersSee InstantID and ControlNet Union.