π Apply Style Model
Redux image-prompting with masks and downsampling
- image
- mask
- positive
- positive
- parameter
This is the node that actually uses a Redux-style model. You give it a reference image, a style model, and a CLIP Vision encoder, and it folds the reference's look into your conditioning - image prompting on Flux, basically. The SDVN version rolls the CLIP Vision encode, the style-model apply, and the crop/downsample controls into one node instead of the three-or-four-node chain the stock ComfyUI setup needs. It also spits out a parameter output for wiring into the pack's Auto Generate node.
What it's for
Image prompting is "make it look like this picture" without training a LoRA. On Flux and newer models that job runs through Redux-family style models (IP-Adapter, the SD 1.5/SDXL tool for this, doesn't load on Flux at all). The mechanism: a CLIP Vision model encodes your reference image into an embedding, and the style model injects that into your conditioning. This node does the whole thing and hands you conditioning you can run straight into a sampler.
The inputs and outputs that matter
image- the reference image whose style/content you're borrowing.style_model- the Redux model, from a short dropdown (flux1-redux-dev.safetensorsand the SigLIP2 variant). Pair it with the matching vision encoder below.clip_vision_model- the CLIP Vision encoder that reads the reference. Redux wants a SigLIP encoder; the dropdown lists the options.strength(default 1.0) - how hard the reference pushes. This is the main dial, and Redux runs hot - see below.downsampling(default 1) - reduces the reference's token detail. Higher downsampling = looser, more "vibe" than "copy." This is the underrated knob for making Redux behave.mode-none,center, ormask crop, controlling how the reference is cropped.mask cropuses the optionalmaskinput.mask(optional) - restrict the style influence to a region.positive(optional) - existing conditioning to add the style onto, rather than starting fresh.
Outputs are positive (the CONDITIONING, into your sampler) and parameter (a PARAMETER bundle for the pack's Auto Generate node).
Installing it
ComfyUI Manager: search SDVN_Comfy_node, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/StableDiffusionVN/SDVN_Comfy_node
Then pip install -r custom_nodes/SDVN_Comfy_node/requirements.txt from your ComfyUI root, and restart. The style and vision models auto-download, so Windows/macOS want aria2c installed. The pack notes these features may not play nicely with the Redux 512 model specifically.
Where people get burned
Redux overpowers the prompt. At strength 1.0 with no downsampling, Redux tends to bulldoze your text prompt and just clone the reference. That's the number-one complaint, and the fix is exactly these knobs: drop strength toward 0.5, or raise downsampling to 2β3 so it takes the general feel instead of copying pixels. Tune both - they do different things.
Vision-encoder mismatch. The clip_vision_model has to be the one the style model expects (a SigLIP encoder for Redux). Pick the wrong vision model and you get an error or nonsense conditioning.
Wrong base. Redux is Flux-era. On SD 1.5 or SDXL, this isn't your node - that's IP-Adapter territory.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | β | |
| style_model | COMBO | 2 options: flex1_redux_siglip2_512.safetensors, flux1-redux-dev.safetensors | |
| clip_vision_model | COMBO | 7 options: CLIP-ViT-bigG-14-laion2B-39B-b160k.safetensors, llava_llama3_vision.safetensors, CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors, clip-vit-large-patch14-336.bin, sigclip_vision_patch14_384.safetensors, siglip2_so400m_patch16_512.safetensors, +1 | |
| mode | COMBO | none | 3 options: none, center, mask crop |
| strength | FLOAT | 1.00β3 | β |
| downsampling | INT | 10β6 | β |
| maskopt | MASK | β | |
| positiveopt | CONDITIONING | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | β |
| parameter | PARAMETER | β |