Krea2 Ostris Edit Text Encode ⚡
The Ostris Krea2 text encode
- clip
- vae
- image1
- image2
- image3
- CONDITIONING
If you've loaded an Ostris-trained Krea2 edit or control LoRA and it did nothing, this is the node you were missing. Those LoRAs don't read your prompt from a plain CLIPTextEncode - they expect the prompt encoded together with reference images, and the references carried on the conditioning as reference_latents. Stock ComfyUI has no node that produces that. This one does.
It's the text-encode half of the Ostris pair (its partner Krea2 Ostris Edit Model Patch actually patches the model to consume the references). A port of ostris/ComfyUI-Krea2-Ostris-Edit (MIT), it takes up to three images and does two things with each:
- Vision-tokenizes it into the Qwen3-VL prompt as a "Picture N:" placeholder under Krea's own template - so the model can literally see the reference while it reads your instruction. These are capped at a coarse 384×384 so they're cheap.
- VAE-encodes it (when
vaeis connected) intoreference_latents, capped at 1MP, which carry the actual detail the patch injects as tokens at RoPE positions 1, 2, 3…
Two channels, same images: one for the language model's understanding, one for the diffusion model's pixels.
The inputs that matter
clipandprompt- required. Use the Krea2 text encoder from Krea2 Model Loader, and write the instruction like the LoRA's training data (the model reads this as an instruction, not tags).vae- connect it. Without it, you get vision tokens but noreference_latents, which guts the diffusion side of the recipe.image1/image2/image3- the order matters, and it varies by LoRA family. For pose/control LoRAs from this ecosystem, the control map goes inimage1(it's the model's "what should the structure be" signal), and identity references ride asimage2/image3. For plain edit LoRAs, they're just your reference photos in priority order.
Output is a single CONDITIONING - wire it to KSampler's positive, and for CFG > 1 run a second instance with the prompt emptied for negative.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/ChrisColeTech/ComfyUI-GGUF-Loader
pip install --upgrade gguf
Restart. Nodes live under 🤖 CCTech/Krea2. The LoRA itself you grab separately and drop into models/loras.
Gotchas
The vae socket is the trap - easy to leave off, and the node won't shout about it; your references just never reach the diffusion model. And remember this node only produces conditioning. If the model patch node isn't in the graph, the reference_latents are silently ignored. They're a pair; install them as one. Check the LoRA's model card for which image slot it expects the control map in before you wire anything.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| prompt | STRING | — | |
| vaeopt | VAE | — | |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |