Rebels Krea2 Outpaint Encode
Prompt and registered reference, packed into one conditioning
- clip
- vae
- condition
- CONDITIONING
In a normal Krea 2 edit workflow you'd need a reference-image encoder and a text encoder, wired carefully so the reference reaches the model. This node collapses that into one box: it encodes your prompt with the Krea 2 CLIP, VAE-encodes the coarse source image into a reference latent, and glues both onto a single CONDITIONING you feed to the sampler's positive input. It's the middle of this pack's four-node chain - the Canvas node upstream hands it the condition image, and the KSampler downstream eats what it produces.
The thing that makes this different from a generic "encode an image as a reference" node is the contract it follows. The krea2-outpaint LoRA was trained with the reference reaching the model only as a latent, not through the Qwen3-VL vision tower. That's why vlm_reference is off by default - flip it on only if you know the LoRA you're running wants the visual-language path, and expect a different (usually worse, for this LoRA) behavior.
What it actually does
Four required inputs, one optional, one output:
clip- your Krea 2 CLIP (the Qwen3-VL-based text encoder loaded withCLIPLoadertype krea2).prompt- and here's the important part: describe the complete output image, not just the new area. The model renders the whole canvas, so "a red forest to the right" with no mention of the original scene produces a lopsided result. Write the full frame.vae- the Krea 2 VAE. It's used to encode the coarseconditioninto the reference latent.condition- the coarse image output from the Rebels Krea2 Outpaint Canvas node.vlm_reference(optional, default false) - routes the image through the Qwen3-VL vision tower using Krea 2's template instead of the pure-latent path.
The output is one CONDITIONING - wire it to KSampler's positive. For the negative, the pack's own workflow just uses a plain CLIP Text Encode with an empty string, which is the Turbo-convention setup.
Installing it
Same story as every node in this pack - one repo, no extra Python deps:
cd ComfyUI/custom_nodes
git clone https://github.com/RealRebelAI/ComfyUI-Rebels-Krea2-Outpaint
# restart ComfyUI
Or install via ComfyUI Manager by searching "Rebels Krea2 Outpaint". The heavier lift is models: Krea 2 Turbo (or a Krea 2 GGUF fork), the Krea 2 VAE, the Qwen3-VL CLIP - people routinely forget the CLIP and VAE and then report the model as broken - plus krea2_outpaint_rank32.safetensors in models/loras.
Settings and gotchas
The sampler settings that pair with this are the standard Turbo ones: 8 steps, euler, CFG 1.0 (which also skips the uncond pass), denoise 1.0. The empty latent is the full canvas - pure noise, because the reference, not a mask, does the anchoring.
Two things trip people up. First, prompt scope: again, describe the whole output image. Second, keep vlm_reference off unless you've tested both - the whole point of this pack is matching the LoRA's encode_reference_in_prompt=False training contract, and turning the vision tower on is a deliberate deviation, not an upgrade. If the reference region comes back wrong (source barely influencing the result), the usual culprits are a stale condition from the wrong Canvas node, or the CLIP being a non-Krea encoder. Both produce confusing output and neither is this node's fault.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| prompt | STRING | — | |
| vae | VAE | — | |
| condition | IMAGE | — | |
| vlm_referenceopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |