IPAdapter Embeds (Texturaizer)
The fine-tuning knobs for image-prompted styling, surfaced from Blender
- ip_data
- embed weight
- weight type
- embed start
- embed end
- embeds scaling
Image prompting is the quiet superpower of the Texturaizer pipeline: instead of describing a style with words, you hand ComfyUI a reference image and IP-Adapter does the rest - the reference gets embedded through its own cross-attention path, so the text prompt stays fully intact next to it. IPAdapter Embeds is the node that unpacks the advanced settings for that trick from the data Blender exported. It's not the node that loads the reference image; it's the node that gives you the weight curve, start/end, and scaling controls that turn a blunt "make it look like this" into something you can actually dial in.
Texturaizer is a paid Blender addon by Luke Kratsios (LatentSpaceDirective); these ComfyUI nodes are its free companion. This one works off the DICTIONARY produced by the pack's Get IP Adapter Data node, which itself reads the JSON from Blender.
Inputs and outputs
One required input: ip_data (DICTIONARY) - feed it the IP-Adapter data dict from Get IP Adapter Data. Then the five outputs, which are the parameters an IPAdapter Advanced-style apply node wants:
embed weight(FLOAT) - how strongly the reference image influences the result.weight type- the weight profile:linear,ease in,ease out,ease in-out,reverse in-out,weak input,weak output,weak middle,strong middle,style transfer,composition,strong style transfer. These come straight from the IP-Adapter world's standard weight types - the "style transfer" family emphasizes style over composition, "composition" the reverse.embed startandembed end(FLOAT) - the step window (0.0–1.0) during which the IP-Adapter conditioning is active. Start later or end early to let the base prompt own the first or last stretch of sampling.embeds scaling-V only,K+V,K+V w/ C penalty,K+mean(V) w/ C penalty. This is the low-level attention scaling;V onlyis the mild, default-ish setting,K+Vpushes identity harder, and theC penaltyvariants trade a bit of text fidelity for stronger reference adherence.
How it works
Mechanically it's almost embarrassingly simple: ip_data is a dict, and the node just pulls ip_weight_embed, ip_weight_type, ip_start, ip_end, and ip_embeds_scaling out of it and returns them as typed outputs. No file I/O, no hash. The real work happened upstream - Blender stored these values, Get IP Adapter Data read them out, and this node reshapes them for the IPAdapter apply node that consumes them.
Install
Pack-level, once:
cd ComfyUI/custom_nodes
git clone https://github.com/LatentSpaceDirective/ComfyUI-Texturaizer
or search "Texturaizer" in ComfyUI Manager and restart. No extra Python deps beyond stock ComfyUI packages. One honest caveat: this node extracts IP-Adapter parameters - actually applying them still needs an IP-Adapter node pack (the ecosystem standard is cubiq's ComfyUI_IPAdapter_plus), and the IP-Adapter model files that go with it. That's a download the README won't do for you.
The take
For most scene work you'll leave the defaults and only touch embed weight - that single knob covers 90% of "too weak / too strong." Reach for embed start/embed end when the reference bleeds into the early structure and fights the prompt, and reach for the scaling modes when text fidelity drops. It's a narrow node, but it's the difference between an IP-Adapter that works by accident and one you actually control.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| ip_data | DICTIONARY | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| embed weight | FLOAT | — |
| weight type | linear,ease in,ease out,ease in-out,reverse in-out,weak input,weak output,weak middle,strong middle,style transfer,composition,strong style transfer | — |
| embed start | FLOAT | — |
| embed end | FLOAT | — |
| embeds scaling | V only,K+V,K+V w/ C penalty,K+mean(V) w/ C penalty | — |