T2I Style Apply Advanced
Style transfer for SD 1.5 without the IP-Adapter circus
- conditioning
- image
- CONDITIONING
Want to borrow the look of a reference image without installing an IP-Adapter pack, hunting down CLIP models, and wiring a half-dozen nodes? That's the whole pitch of T2I Style Apply (class T2I_StyleApply): it's one node that does what ComfyUI's built-in "Apply Style Model" already does, except the loaders are baked in, there's a strength knob, and you get start_percent/end_percent so the style only applies to part of the denoising range. SD 1.5 only - the README says so right at the top, and there's no point fighting it.
The honest framing: this is a thin, useful wrapper around a mechanism most people forget exists. Style-model conditioning was ComfyUI's original answer to image prompting, before Tencent's IP-Adapter came along and ate its lunch. If you're already deep in an IP-Adapter workflow, keep it - the KB's own read is that IP-Adapter still owns image prompting on SD 1.5 and SDXL. But if you just want to stamp a watercolor texture onto a portrait, this node needs nothing beyond files that already ship with stock ComfyUI. That's its real charm: zero extra model downloads.
How it works
Under the hood it's the standard style-model path, just compressed into one call:
- Your reference
imagegoes through the CLIP Vision model you pick from theclip_visiondropdown, turning the picture into image embeddings. - The style model (from the
style_modeldropdown) transforms those embeddings into conditioning viaget_cond(), flattened and scaled bystrength. - That styled conditioning is glued onto your prompt's conditioning, and the node stamps
start_percent/end_percentonto the range where the style is active. - Crucially, it also appends copies of your original conditioning for the parts outside that range - so before
start_percentand afterend_percent, it's pure prompt. Style fades in, applies, fades out. Neat.
That range trick is the reason you'd pick this over the vanilla built-in nodes, which can't split the timeline. It's made for those "style the background, keep the face prompt-driven" setups and for animation where you only want the style on certain frames.
Inputs and output that matter
conditioning- your positive conditioning from a CLIP Text Encode. Wire this in front of the KSampler.image- the reference. Load it with a normal Load Image node.style_model/clip_vision- dropdowns populated frommodels/style_modelsandmodels/clip_vision. Default choices:sd1.5/stylemodel.safetensorsandSD1.5/ViT-L-14-laion2B-s32b-b79k.safetensors.strength(default 1.0, range −10 to 10) - the style intensity multiplier. Crank it down to 0.4–0.7 for a hint of style instead of a full takeover.start_percent/end_percent(0–1) - the sampling range (0 = first step, 1 = last) where the style applies. Leave at 0/1 for a global effect; keepstart < end.
The single output is CONDITIONING, which feeds the KSampler's positive input. You can also run it on negative conditioning if you're trying to suppress something.
Install
Two ways, both boring:
- ComfyUI Manager - search "ComfyUI-T2I_StyleApply" and hit Install.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/kreonxv/ComfyUI-T2I_StyleApply, then restart ComfyUI.
There's no requirements.txt and nothing to build. The only dependencies are the bundled style model and CLIP Vision files above, which a stock ComfyUI install already has in models/.
Where people get burned
The README is stale - it's written for an older version describing "Image/Input", a "Style" source, Start/End frame indices, and a Weight. The shipped node has none of that; it uses image, strength, and start_percent/end_percent. Trust the node, not the doc.
Most common real failure: both dropdowns are empty, which just means your models/style_models or models/clip_vision folder is missing the stock files (some minimal/mini ComfyUI installs skip them). Drop in stylemodel.safetensors and the ViT-L-14-laion2B-s32b-b79k CLIP vision file and you're back in business. And remember - SD 1.5 only. Feed it SDXL or Flux conditioning and you'll get garbage at best, a silent mismatch at worst.
It's a small node from a small author (no community chatter to speak of), so don't expect updates. But it's a clean ~80 lines of ComfyUI's own API, and for "reference image, but only partway through sampling" it's the shortest path I know.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| image | IMAGE | — | |
| style_model | COMBO | 0 options: | |
| clip_vision | COMBO | 0 options: | |
| strength | FLOAT | 1.000-10–10 | — |
| start_percent | FLOAT | 0.000–1 | — |
| end_percent | FLOAT | 1.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |