Krea2 Style Transfer
Krea2 Style Transfer
- model
- reference_latent
- ref_conditioning
- model
- rf_reference
- debug
What it is
Krea 2's hosted product has a style-reference feature - drop in an image, keep your prompt, get the reference's look back. The open weights don't. Krea's own team has said flatly that the module powering that feature isn't being released, and they even built it on the undistilled Raw checkpoint specifically because its style distribution is the most diverse. So if you're running Krea 2 locally and want that capability, the official route is closed. Krea2 Style Transfer is a third party's answer to that gap - an independent node that injects a reference image's visual style into your generation during sampling, no official API, no key, no relation to Krea the company beyond running on their model.
It's not a LoRA replacement and it doesn't pretend to be. There's no training step, no dataset, nothing gets baked into the model's weights. Think of it more like a very targeted, temporary style adapter that only lives for the duration of one generation - closer in spirit to how IP-Adapter conditions SDXL on a reference image than to fine-tuning, except there's no adapter checkpoint to download here either. It's pure inference-time manipulation of the attention path.
How it works
The author's real contribution is a specific trick, and it's worth understanding because it explains most of the sliders you'll see in custom mode. In this style of reference-injection, one control - low_scale_end - used to govern the whole trade-off: crank it up and the style transfers more easily but reference content (the subject, the composition) starts leaking into your output and quality drops; pull it down and quality comes back but the style you wanted fades with it. Same knob, opposite jobs, so you were always picking a compromise.
This pack decouples the two by adding a separate ref_k_strength control for the reference K path. Now low_scale_end can stay low - keeping leakage down and quality up - while ref_k_strength does the job of pulling the style signal back in. That's the whole idea in one sentence: low_scale_end suppresses unwanted content leaking through, ref_k_strength brings the style back without needing to reopen that door.
Inputs and outputs that actually matter
You'll wire in model (your loaded Krea2 checkpoint), reference_latent (built by the companion Krea2 Style Reference node, not a raw image), and ref_conditioning - a CONDITIONING slot, which in practice is the same positive-prompt conditioning you're already feeding your sampler. Then there's mode: leave it on recommended and the node locks in the tuned low-leakage route the author actually tested (style_strength 1.0, ref_k_strength 1.06, low_scale_end 1.10, and a dozen more RF/attention values you never have to touch). Switch to custom only once you know what you're changing - style_strength is your master dial (0 disables the reference path entirely), ref_value_mix controls how much raw reference material gets kept, value_adain_strength controls how much of the reference's value statistics bleed into your output, and the rest (rf_mode, gamma, beta, the high/low scale start/end pairs, adain_strength, blocks) are the deep tuning knobs behind the trick above. Leave them at the recommended defaults until you have a reason not to.
Outputs are model (the patched model - this is what goes into your KSampler, not your original checkpoint loader's output), rf_reference (a latent passthrough, safe to leave unconnected unless you're chaining into something else), and debug (a string, wire it into a Show Text node if something looks off).
Installing it
Easiest path is ComfyUI Manager - search "ComfyUI Krea2 Style Transfer" and install. Manually, it's cd ComfyUI/custom_nodes && git clone https://github.com/jieg9341-lab/ComfyUI-Krea2-StyleTransfer, then restart ComfyUI. There's no separate model download for the node itself, but you do need a working Krea2 setup already in place - the krea2 UNet, the Qwen3-VL text encoder (roughly 8GB), and the Qwen-Image VAE, loaded through ComfyUI's native krea2 CLIPLoader and UNETLoader. If Krea 2 isn't running cleanly on its own first, fix that before adding this node to the mix.
The author's suggested sampler settings for the recommended preset are 8 steps, CFG 1.0, euler_ancestral, simple scheduler, denoise 1.0 - that's Krea 2 Turbo territory, not Raw's 52-step CFG-guided route.
Where people get burned
The single-reference path is the one the author actually validated - two-reference mode (the sibling Krea2 Two Style Transfer node) is explicitly experimental. If you're just getting started, stay on this node first.
Reference and target latent sizes have to match; this route doesn't handle a mismatch gracefully, which is why the companion prep node resizes the reference to your target latent before anything reaches this one. And don't expect miracles from a weak or generic reference - a bland stock photo won't give the model much of a style signal to grab onto no matter how you tune ref_k_strength. It's also a small, single-author pack with no real track record yet, so test it on a couple of your own references before trusting the defaults blindly.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| reference_latent | LATENT | — | |
| ref_conditioning | CONDITIONING | — | |
| mode | COMBO | recommended | 2 options: recommended, custom |
| style_strength | FLOAT | 1.000–2 | Overall style mix. 0 disables the reference path. |
| value_adain_strength | FLOAT | 0.650–1.5 | How much reference value statistics are applied to the target value path. |
| ref_value_mix | FLOAT | 1.000–1 | How much raw reference value signal is kept. Higher values usually preserve style material better. |
| ref_k_strength | FLOAT | 1.060–5 | Direct multiplier for reference K. Higher values make the target attend to the reference branch more strongly. |
| rf_mode | COMBO | flowturbo_pc | 4 options: flowturbo_pc, rf_gamma, rf_gamma_rk2, linear |
| gamma | FLOAT | 0.500–1 | — |
| beta | FLOAT | 2.500.01–20 | — |
| high_scale_start | FLOAT | 1.04-4–8 | — |
| high_scale_end | FLOAT | 0.00-4–8 | — |
| low_scale_start | FLOAT | 1.00-4–8 | — |
| low_scale_end | FLOAT | 1.10-4–8 | — |
| adain_strength | FLOAT | 0.850–1 | — |
| blocks | STRING | 7-27 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| rf_reference | LATENT | — |
| debug | STRING | — |