Style Advanced Apply
StyleAdvancedApply makes Flux style transfer steerable
- conditioning
- style_model
- clip_vision_output
- reference_image
- mask
- CONDITIONING
Flux Redux is fantastic at stealing a look from a reference image, but the stock StyleModelApply node hands you almost nothing to steer it with. This node is the fix: the same Redux pipeline, with actual controls for how hard your prompt pushes, how hard the reference pushes, and even where in the frame the style lands.
What it is
StyleAdvancedApply is a drop-in replacement for StyleModelApply in a Flux Redux workflow. You feed it the same four things - your text conditioning, a loaded Redux style model, the CLIP vision output, and a reference image - and it returns a single CONDITIONING that plugs into your Flux sampler exactly where the stock node would go. The difference is the panel of knobs sitting between input and output. It's one of two "Redux with more controls" nodes in the pack; the README is in Chinese and headlines the other one, YC_LG_Redux, but the bundled example workflow actually wires this one up.
How it works
Under the hood it does Redux's standard trick: style_model.get_cond() on the CLIP-vision-encoded reference to get the image's feature embedding, then concatenates that onto your text conditioning for the Flux cross-attention to consume. What makes this node different is everything that happens before the concat. The code splits the 4096-dim features into five segments it calls style, color, content, structure, and texture, computes a cosine/L2/attention similarity between the text and image features per segment, and blends each one using the weights in feature_weights (default 1.2,1.0,1.1,1.3,1.0).
That segmentation is what processing_mode drives. style_focus multiplies the non-content segment weights by 1.5 and halves content; content_focus does the reverse. balanced leaves them alone, and custom is just "I'll edit the weights string myself." After the per-segment blend, prompt_influence and image_influence take a weighted average of the result with the raw text features. Those two are the ones you'll actually reach for.
Inputs that matter
conditioning- your positive prompt, already encoded.style_model-flux1-redux-dev(or-schnell) via StyleModelLoader.clip_vision_output- from a CLIPVisionEncode node. Must be the SigLIP vision; see the gotchas.reference_image- the picture whose style you're borrowing.prompt_influence/image_influence(0.1–2.0) - the main dials. Start at 1.0 and nudge one direction.style_grid_size(1–14, default 9) - 1 is the finest 27×27 feature grid, 14 collapses to a single 1×1 lump. Lower for crisp detail, raise for a looser mood.- Optional
mask,mask_blur,mask_expansion- restrict the style to a region. The mask is processed in pixel space (dilate/erode plus a Gaussian blur), then mapped down into the feature grid.
Install
ComfyUI Manager → search "Comfyui_Redux_Advanced", or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/yichengup/Comfyui_Redux_Advanced
then restart ComfyUI. There are no pip extras - the pack runs on torch, cv2, and ComfyUI's own comfy.ldm.flux.redux module. The models are on you: flux1-redux-dev.safetensors into models/style_models/, sigclip_vision_patch14_384.safetensors into models/clip_vision/, plus a Flux checkpoint.
Common issues
The classic Redux failure applies here too: mat1 and mat2 shapes cannot be multiplied means your CLIP vision isn't the SigLIP one. Redux needs sigclip_vision_patch14_384, not an SD-era CLIP model. Second gotcha: the feature dimension is hardcoded to Flux's 4096. Feed it an SDXL-style model and it prints a dimension-mismatch warning while resizing features with interpolation - a code smell you should read as "this node is built for Flux." Treat it as a Flux-only tool and you'll have a good time.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| style_model | STYLE_MODEL | — | |
| clip_vision_output | CLIP_VISION_OUTPUT | — | |
| reference_image | IMAGE | — | |
| processing_mode | COMBO | balanced | 预设处理模式:平衡、风格优先、内容优先、自定义 |
| prompt_influence | FLOAT | 1.00.1–2 | 控制提示词的影响强度 |
| image_influence | FLOAT | 1.00.1–2 | 控制参考图像的影响强度 |
| feature_blend_mode | COMBO | adaptive | 特征混合方式:自适应、加法、乘法、最大值 |
| style_grid_size | INT | 91–14 | 控制风格细节级别(1=27×27最细致, 14=1×1最粗略) |
| maskopt | MASK | — | |
| mask_bluropt | INT | 40–64 | 蒙版边缘模糊半径 |
| mask_expansionopt | INT | 0-64–64 | 蒙版扩张/收缩像素 |
| feature_weightsopt | STRING | 1.2,1.0,1.1,1.3,1.0 | 风格,颜色,内容,结构,纹理的权重(用逗号分隔) |
| noise_levelopt | FLOAT | 0.000–1 | 添加随机噪声以增加风格变化 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |