Nodes/ComfyUI-T2I_StyleApply/T2I Style Apply Advanced
ComfyUI Node

T2I Style Apply Advanced

Style transfer for SD 1.5 without the IP-Adapter circus

By kreonxv·Created 7 months ago·Updated 7 months ago· 0
T2I Style Apply Advanced
  • conditioning
  • image
  • CONDITIONING
style_model
clip_vision
strength1.000
start_percent0.00
end_percent1.00

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:

  1. Your reference image goes through the CLIP Vision model you pick from the clip_vision dropdown, turning the picture into image embeddings.
  2. The style model (from the style_model dropdown) transforms those embeddings into conditioning via get_cond(), flattened and scaled by strength.
  3. That styled conditioning is glued onto your prompt's conditioning, and the node stamps start_percent/end_percent onto the range where the style is active.
  4. Crucially, it also appends copies of your original conditioning for the parts outside that range - so before start_percent and after end_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 from models/style_models and models/clip_vision. Default choices: sd1.5/stylemodel.safetensors and SD1.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; keep start < 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.

Categorysd

Inputs (7)

NameTypeDefaultDescription
conditioningCONDITIONING
imageIMAGE
style_modelCOMBO0 options:
clip_visionCOMBO0 options:
strengthFLOAT1.000-10–10
start_percentFLOAT0.000–1
end_percentFLOAT1.000–1

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING