Nodes/Comfyui_Redux_Advanced/Style Advanced Apply
ComfyUI Node

Style Advanced Apply

StyleAdvancedApply makes Flux style transfer steerable

By yichengup·Created 2 years ago·Updated about a year ago· 108
Style Advanced Apply
  • conditioning
  • style_model
  • clip_vision_output
  • reference_image
  • mask
  • CONDITIONING
processing_modebalanced
prompt_influence1.0
image_influence1.0
feature_blend_modeadaptive
style_grid_size9
mask_blur4
mask_expansion0
feature_weights1.2,1.0,1.1,1.3,1.0
noise_level0.00

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.

Categoryconditioning/style_model

Inputs (14)

NameTypeDefaultDescription
conditioningCONDITIONING
style_modelSTYLE_MODEL
clip_vision_outputCLIP_VISION_OUTPUT
reference_imageIMAGE
processing_modeCOMBObalanced预设处理模式:平衡、风格优先、内容优先、自定义
prompt_influenceFLOAT1.00.1–2控制提示词的影响强度
image_influenceFLOAT1.00.1–2控制参考图像的影响强度
feature_blend_modeCOMBOadaptive特征混合方式:自适应、加法、乘法、最大值
style_grid_sizeINT91–14控制风格细节级别(1=27×27最细致, 14=1×1最粗略)
maskoptMASK
mask_bluroptINT40–64蒙版边缘模糊半径
mask_expansionoptINT0-64–64蒙版扩张/收缩像素
feature_weightsoptSTRING1.2,1.0,1.1,1.3,1.0风格,颜色,内容,结构,纹理的权重(用逗号分隔)
noise_leveloptFLOAT0.000–1添加随机噪声以增加风格变化

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING