Nodes/ComfyUI-Redux-Prompt/Redux Style with Prompt Control
ComfyUI Node

Redux Style with Prompt Control

Dial style detail and influence in one node

By CY-CHENYUE·Created 2 years ago·Updated 2 years ago· 106
Redux Style with Prompt Control
  • conditioning
  • style_model
  • clip_vision
  • reference_image
  • mask
  • CONDITIONING
  • IMAGE
prompt_influence1.0
reference_influence1.0
style_grid_size9
interpolation_modebicubic
image_processing_modecenter crop (square)
autocrop_padding8

Flux Redux is the best style-transfer tool in the Flux world and also the most frustrating one: at full strength it doesn't stylize your image, it replaces your prompt and hands you a variation of the reference. People have been fighting that since the model launched - the community consensus has been that Redux needs a strength around 0.04–0.07 to leave room for your text. This node is a cleaner answer to the same problem. Instead of one global strength knob you balance by feel, ReduxPromptStyler mixes your text prompt and the reference style in token space, with separate sliders for each and a detail slider for how much of the reference actually survives.

It's a fancier ApplyStyleModel, effectively. You feed it your text conditioning, a Redux style model, a CLIP vision encoder, and a reference image; it does the whole pipeline - preprocess image, encode, extract the style condition, blend with your prompt - and hands you a CONDITIONING you drop straight into your sampler. The author built it for e-commerce apparel work (virtual try-on, outfit consistency), but the same trick is what makes it good for plain art-style transfer onto a subject you described in words.

How it works

The mechanism is right there in the source, and it's simple under the hood. The reference image gets preprocessed and resized (SigLIP's sweet spot is 384×384), encoded by your CLIP vision model, then run through style_model.get_cond(). That call returns the style as a 27×27 grid of patch tokens - the full-resolution read of what your reference looks like.

Here's the part nobody else gives you: style_grid_size (1–14) downsamples that grid before it ever touches your prompt. A slider value of 1 keeps the full 27×27 grid, so every bit of the reference's detail flows through. Values climb 27 → 25 → 23 … → 3 → 1 until 14 is a single 1×1 token - at that point only the overall vibe of the image survives, not the specifics. The interpolation happens with whichever interpolation_mode you pick (bicubic is the default and usually fine; nearest is there when you want the patch boundaries to stay crisp).

Then both influences are applied - squared, if you're the type who reads source, so 1.0 is identity - and your scaled prompt tokens and the scaled style tokens get concatenated into one conditioning. Wire that to your sampler's positive and you're done.

The inputs that matter

  • reference_influence (0.1–2.0): how hard the style tokens push. Start at 1.0, but expect to drop it - Redux overwhelms prompts at high weight.
  • prompt_influence (0.1–2.0): how hard your text pushes back. This is the knob the stock workflow doesn't give you.
  • style_grid_size (1–14): detail vs. vibe. Start at the default 9, drop toward 1 when you want the reference's colors/composition to really bite.
  • image_processing_mode: center crop (square), keep aspect ratio (passes your image through at native resolution), or autocrop with mask - which crops tight around a mask you connect, with autocrop_padding (0–256) of slack. The mask is only read in that last mode; an empty mask silently falls back to center crop.

The outputs are CONDITIONING (into KSampler) and IMAGE (the preprocessed reference - wire it to a preview so you can see exactly what the CLIP got, especially with autocrop).

Install

Via ComfyUI Manager, search "Redux Prompt". Or the old-fashioned way:

cd ComfyUI/custom_nodes
git clone https://github.com/CY-CHENYUE/ComfyUI-Redux-Prompt.git

Restart ComfyUI. The only declared dependencies are numpy and torch, which you already have, so there's nothing heavy to pull. What you do need are the two model files this node consumes: flux1-redux-dev.safetensors in models/style_models and sigclip_vision_patch14_384.safetensors in models/clip_vision (both load via ComfyUI's stock StyleModelLoader and CLIPVisionLoader). Remember Redux falls under the FLUX.1 [dev] non-commercial license.

Where people get burned

The big one is expecting Redux to behave like an IP-Adapter. It doesn't - full-strength style tokens will eat your prompt and you'll get near-identical variations of the reference. That's precisely why the two influence sliders exist: drop reference_influence, nudge prompt_influence up, and raise style_grid_size when you want the reference to stop being the boss. If your output looks mushy at 14, you've dialed the detail out; come back down to the 5–9 range.

Also worth knowing: the negative conditioning in the author's example workflow is just zeroed out - this node's output belongs on the positive side, and you don't feed Redux conditions to negative. And since it's built on the STYLE_MODEL type, this is Flux-only. It's the style-transfer lever for the model you're already running, not a general image-reference gadget for SDXL.

CategoryreduxPrompt

Inputs (11)

NameTypeDefaultDescription
conditioningCONDITIONING
style_modelSTYLE_MODEL
clip_visionCLIP_VISION
reference_imageIMAGE
prompt_influenceFLOAT1.00.1–2
reference_influenceFLOAT1.00.1–2
style_grid_sizeINT91–14
interpolation_modeCOMBObicubic4 options: bicubic, bilinear, nearest, area
image_processing_modeCOMBOcenter crop (square)3 options: center crop (square), keep aspect ratio, autocrop with mask
maskoptMASK
autocrop_paddingoptINT80–256

Outputs (2)

NameTypeDescription
CONDITIONINGCONDITIONING
IMAGEIMAGE