Fooocus ApplyImagePrompt
Where reference images actually get fused in
- model
- image_prompt_1
- image_prompt_2
- image_prompt_3
- image_prompt_4
- model
Here's the part of this pack that confuses people on first sight: the Fooocus ImagePrompt node builds an image condition, but it doesn't apply it. This node does the applying. If you've wired an ImagePrompt straight into a sampler and nothing happened, this is the missing piece - the reference image conditioning sits inert on the graph until the ApplyImagePrompt fuses it into the model.
What it does
The node takes your loaded model and one to four IMAGE_PROMPT conditions - the outputs of Fooocus ImagePrompt nodes - and injects them into the model's weights as a conditioning patch. One model in, one model out; the effect shows up when that model gets sampled. It's the Fooocus equivalent of what IP-Adapter-style reference conditioning does elsewhere, wrapped in the pack's pipe-adjacent convention. The mechanism is a LoRA-like patch into the UNet rather than a separate network, which is why "apply" is a distinct step.
The inputs
- model - required. The MODEL output from the PreKSampler (or a raw loader).
- image_prompt_1 through image_prompt_4 - optional, all type
IMAGE_PROMPT. Stack up to four reference conditions; each is weighted at the point you created it in the Fooocus ImagePrompt node (itsip_weight), not here.
Output: model, ready for the next node. Feed it into the PreKSampler (via its pipe flow) or, if you've broken out of the pipe, straight into a standard sampler.
Installing
Part of the Seedsa/Fooocus_Nodes pack - ComfyUI Manager, search "Fooocus Nodes", or clone the repo into custom_nodes and restart. No extra model download for this node itself; the heavy lifting (and any model files) happens in the ImagePrompt node that feeds it.
The gotcha
Order matters. ApplyImagePrompt must sit between the model load and the sampling step, and after the conditions exist - you can't create an image prompt and apply it in the same pass if you haven't wired the prompt's output into an input slot here. It's a clean node, but it only works if you remember that "build the condition" and "use the condition" are two separate nodes in this pack. If your reference image is being ignored, check that this node is actually in the chain and that ip_weight on the upstream ImagePrompt isn't at zero.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| image_prompt_1opt | IMAGE_PROMPT | — | |
| image_prompt_2opt | IMAGE_PROMPT | — | |
| image_prompt_3opt | IMAGE_PROMPT | — | |
| image_prompt_4opt | IMAGE_PROMPT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |