Eric Qwen-Edit Style Transfer
Paint your photo in another image's style, one node at a time
- pipeline
- style_image
- content_image
- image
Eric Qwen-Edit Style Transfer takes two images - one that provides the look, one that provides the content - and merges them. Hand it a watercolor painting and a portrait, and you get the portrait painted like the watercolor. This is the classic "make it look like a painting" job, and unlike the old style-transfer days of Gram-matrix blobs, the result here actually holds onto the content image's structure and the style image's character, because the 20B edit model understands both.
Why the defaults are the way they are
The key mechanism is the same dual conditioning every multi-image node in this pack uses: a VL path (Qwen2.5-VL encodes ~384 px semantic tokens, so the model understands what each image is) and a VAE/ref path (pixel-level latents that anchor how things actually look). Style Transfer's defaults split the two deliberately:
ref_styledefaults to False - the style image is semantic-only. It goes through the VL path, so the model understands "this is a watercolor," but it's not wired into the pixel path. That's the single most important design decision here: pixel-encoding the style image would make its actual pixels bleed into the output, so you'd get the style image's subject stamped onto your content. Style should be a vibe, not a transfer of pixels.ref_contentdefaults to True - the content image is pixel-anchored, which is what keeps your subject recognizable. Both go through VL (vl_style,vl_contenton by default).
The inputs that matter
style_image,content_image- the two required inputs. Order matters: Picture 1 is style, Picture 2 is content.style_mode- the presets that write the prompt for you:full_style(everything: colors, lighting, medium, texture),color_palette,lighting,artistic_medium,texture, orcustom. Pickcustomif you want to write the whole prompt yourself incustom_prompt(which overrides the template whenever it's non-empty).additional_guidance- an append-only string that rides on top of whatever mode does, e.g. "but keep faces realistic." Great for rescuing a style that's melting your subject's face.style_strength- scales CFG emphasis. 1.0 balanced, above 1.0 pushes style harder, below 1.0 keeps more of the original content. This is your first dial when a transfer looks either too weak or too aggressive.vae_target_size- 1024 by default, the resolution the style image is VAE-encoded at. Leave it.steps/true_cfg_scale/seed/max_mp- the usual shared edit controls. 8 steps for a lightning LoRA, 50 for the base; CFG 4.0;max_mpcaps output size.
Output is a single image socket.
Troubleshooting that actually comes up
- Style is barely visible → raise
style_strengthtoward 1.5-2.0, or add the style mode's words explicitly inadditional_guidance("heavy visible brushstrokes, watercolor paper grain"). - The content image's structure is collapsing → make sure
ref_contentis True, and lowerstyle_strengthbelow 1.0. - You can see the style image's subject bleeding through → confirm
ref_styleis False. If someone flipped it, that's exactly the symptom.
Install is the pack standard: ComfyUI Manager search "Eric Qwen Edit", or git clone https://github.com/EricRollei/Eric_Qwen_Edit_Experiments into custom_nodes/, restart, and load the Qwen-Image-Edit model with Eric Qwen-Edit Loader first. Style transfer at native resolution is one of the few places a 20B editor genuinely earns its VRAM - this node is why people put up with the model's appetite.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeline | QWEN_EDIT_PIPELINE | — | |
| style_image | IMAGE | Reference image providing the style (passed as Picture 1) | |
| content_image | IMAGE | Image to apply the style to (passed as Picture 2) | |
| style_mode | COMBO | full_style | Type of style transfer to apply |
| custom_promptopt | STRING | When non-empty, overrides the style_mode template entirely. Reference images as Picture 1 (style) and Picture 2 (content). | |
| additional_guidanceopt | STRING | Extra instructions appended to the style prompt (e.g., 'but keep faces realistic') | |
| style_strengthopt | FLOAT | 1.00.1–2 | How strongly to apply the style (affects CFG emphasis). 1.0=balanced, >1=stronger style, <1=more original content |
| vae_target_sizeopt | INT | 10240–2048 | Fixed resolution for VAE encoding. 0 (default) = encode refs at output resolution (matches Edit node behavior, best for high-res). Set to e.g. 1024 to force refs to ~1MP (only useful at low output res). |
| vl_styleopt | BOOLEAN | true | Include style image in VL/semantic path (text encoder sees its content) |
| vl_contentopt | BOOLEAN | true | Include content image in VL/semantic path |
| ref_styleopt | BOOLEAN | false | Include style image in VAE/ref path (pixel-level latent). Default False — style is semantic-only, preventing structure bleed. |
| ref_contentopt | BOOLEAN | true | Include content image in VAE/ref path (preserves its pixel structure) |
| negative_promptopt | STRING | blurry, distorted, low quality | What to avoid |
| stepsopt | INT | 81–100 | Inference steps (8 for lightning LoRA, 50 for base model) |
| true_cfg_scaleopt | FLOAT | 4.01–20 | True CFG scale |
| seedopt | INT | 00–18446744073709550000 | Random seed |
| max_mpopt | FLOAT | 8.00.5–16 | Max output megapixels. VAE refs scale to match output resolution. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |