Nougan Flux 3 RefMod Apply π―
Ref_strength, explained
- positive
- negative
- extra_image
- vae
- positive
- negative
- empty_latent
Most "reference image" workflows give you one dial that means how much, and you spend an afternoon nudging 0.6 β 0.55 β 0.5 trying to keep the face while letting the pose go. Nougan Flux 3 RefMod Apply π― gives you a different dial: how long.
What it is
It's the second half of the RefMod pair. Nougan Flux 3 RefMod Bake 𧬠writes your reference images' VAE latents into a file; this node takes positive conditioning, attaches up to three baked references (plus optionally a live image), and hands back conditioning. It also emits an empty_latent, so it can sit right where your Empty Latent Image used to be.
Why bother, versus plain Set Reference Multi Latent plus a VAE Encode? Because a baked reference is a file you can pick from a dropdown, describe by name, and reuse across a dozen workflows without re-encoding anything. That's the whole pitch, and for character work it's a good one - reference latents are the one part of a graph that genuinely never changes.
The mechanism
Under the hood it does what core does: conditioning["reference_latents"] += [vae.encode(reference), ...], on both positive and negative. Flux 3 has a dedicated image_cond stream for exactly this, and its text encoder is text-only, so there's no model patch and no edit LoRA in the loop. This is the simple one.
Then ref_strength changes the shape of the denoise. It's not an amplitude. The node builds two conditionings - one with the references, one without - and schedules them: refs steer the first ref_strength fraction of the steps, then the plain prompt finishes the image.
1.0(default) - references active every step. Maximum likeness, minimum prompt freedom.0.6- refs drive the first 60% of steps, then the prompt takes over. Looser likeness, and your prompt gets to actually change the composition.0- references off entirely.
That's a much better mental model than a strength slider, because it matches how early steps decide layout and late steps decide detail. If a reference is strangling your prompt, shorten its life rather than turning it down.
Inputs you'll actually touch
positive (required) and negative (optional) - from your text encode. Leave negative unwired and the node hands you back the positive for both outputs, which is occasionally what you want and usually a mistake. Wire both when your workflow has both.
refmod_1 (required, but None is a legal choice), refmod_2, refmod_3 - dropdowns of everything in models/refmods/flux3. Older bakes, other people's bakes, whatever's there.
extra_image + vae - a plain reference encoded on the fly, no baking required. extra_image_megapixels (default 1.0) sizes it. This is the "I just found this face on Pinterest and I want it now" path, and it needs the VAE connected or it can't do anything.
ref_strength - as above.
Outputs
positive,negative(CONDITIONING) - straight into your sampler.empty_latent(LATENT) - zeros at the same spatial size as your first reference (or a plain 1024Γ1024 if nothing is selected), so you can skip the Empty Latent node.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Winnougan/Nougan_Nodes
# restart ComfyUI
Or search Nougan in ComfyUI Manager. Nothing to pip install, no model downloads beyond the Flux 3 stack you already have. Restart, hard-refresh the browser, and let the node read the refmod library - if your dropdown says None and nothing else, you haven't baked anything yet.
Where people get burned
An empty dropdown. Bake a reference first, or your files aren't in models/refmods. Some users keep a NOUGAN_REFMOD_DIR folder elsewhere - the chat/refmod tooling checks that too.
Expecting a strength knob. ref_strength is a duration, not a volume. Dropping it to 0.3 doesn't "soften" the reference - it makes the last 70% of your image prompt-only, which can look like a different person wearing the same clothes.
Baking at 1MP Γ 6 references and then wondering why the sampler crawls. Every reference adds tokens to every step in every block. Cut the count or bake smaller.
Using a Krea 2 or MOSS refmod here. They're distinct formats with their own metadata keys. The dropdown won't hide them from you, but they won't carry meaningful latents into a Flux 3 graph.
Setting ref_strength to 0 and expecting a plain generation. You'll get one - which is fine, but you may as well disconnect the node and save yourself the confusion.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | β | |
| refmod_1 | COMBO | 1 options: None | |
| negativeopt | CONDITIONING | β | |
| refmod_2opt | COMBO | 1 options: None | |
| refmod_3opt | COMBO | 1 options: None | |
| extra_imageopt | IMAGE | Optional plain reference(s), encoded on the fly. Needs the VAE. | |
| vaeopt | VAE | Only needed for extra_image. | |
| extra_image_megapixelsopt | FLOAT | 1.000β16 | β |
| ref_strengthopt | FLOAT | 1.000β1 | How long the references stay active, as a fraction of the denoising steps counted from the start. 1.0 = every step (default, same as before). 0.6 = the references steer the first 60% of the steps, then the prompt alone finishes. 0 = references off. Lower = looser likeness and more prompt freedom. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | β |
| negative | CONDITIONING | β |
| empty_latent | LATENT | β |