The recipes, part two: LoRA, ControlNet, IPAdapter
Chapter 74
1 min read
Reviewed v78 · August 2026
The recipes, part two: LoRA, ControlNet, IPAdapter
Three more nodes cover most of the control people actually want. Load LoRALoRA (Low-Rank Adaptation)A fine-tuning technique that adapts a base model to a specific style or concept using a small additional file. The standard way to customize open-source models. sits just after Load CheckpointCheckpointA saved set of model weights. The .safetensors or .ckpt files you download to run a model. and patches the model. It takes the MODEL and CLIPCLIPA text encoder developed by OpenAI in 2021 that learns to align text and images in a shared embedding space. Foundation of most text-to-image models from 2022 onward., applies a LoRA file at a chosen strength, and passes patched MODEL and CLIP back out, so the samplerSamplerThe algorithm used to perform the denoising steps. Different samplers (Euler, DPM++, etc.) have different speed-quality trade-offs. and the text encoders both see the fine-tuned behavior. Strengths run on their own scale but you almost always live between zero and one, and you stack LoRAs by chaining Load LoRA nodes in series, each patching the output of the last. It is the same LoRA the deep-dive part covered, here as a single nodeNodeA single block in a visual pipeline like ComfyUI that does one operation and wires to others to form a workflow. you drop into a graph.
ControlNetControlNetA conditioning technique that lets you provide structural guidance (depth, edges, pose) to a diffusion model to control spatial layout. works on the conditioningConditioningAny extra input that steers generation beyond the prompt, such as a depth map, pose, edge map, or reference image., not the model. An Apply ControlNet node takes your positive and negative CONDITIONING plus a preprocessed control image (a pose skeleton, a depth mapDepth mapA grayscale image encoding how far each pixel is from the camera, used as conditioning to control 3D structure., a scribble) and a loaded ControlNet model, and returns modified conditioning that constrains the generation to that structure. A strength and a start and end percentage let you decide how hard it pushes and over which part of the denoise. One gotcha: the base install does not ship the ControlNet models or the preprocessors that turn a photo into a pose or depth map; those are custom nodes you install, which is the subject two sections down.
Fig.diagram
■A conditioning map extracted from a reference, an edge map, a depth map, or a pose, locks the composition while the prompt fills in the content.
IPAdapter is the odd, powerful one, and it lives in a popular custom nodeCustom nodeA community-written extension that adds new operations to ComfyUI. Because it is arbitrary Python running on your machine, custom nodes are powerful and a genuine security consideration. rather than the core. Its own author calls it a one-image LoRA: you give it a reference imageReference imageAn image fed to a model as conditioning to carry a subject, style, or composition into new output, rather than describing it in words., it runs that through a CLIP Vision encoder, and it patches the model's attention so the output carries the reference's subject or style with no training at all. It is how you pull a consistent face or a consistent look out of a single picture, and it is the backbone of a great deal of character-consistency work, including the AI-filmmaking techniques later in the book.
Check your understanding
pass: 5 of 7
Answer at least 5 of 7 correctly to unlock the next chapter.
1. Where does the Load LoRA node sit and what does it do?
2. How do you stack multiple LoRAs in ComfyUI?
3. What does ControlNet operate on, unlike LoRA?
4. What is the gotcha with ControlNet in a base ComfyUI install?
5. Why does IPAdapter's author call it a 'one-image LoRA'?
6. What is IPAdapter especially useful for?
7. What strength range do you typically use for a LoRA in ComfyUI?
The weekly briefing
Get the week's moves in your inbox.
A short, sourced digest of what actually moved across generative AI, every week. Free.
Free. One email a week, no spam, unsubscribe anytime. Prefer a reader? RSS.