⚡ Quick Answer
To keep a character consistent in ComfyUI with Krea 2, load one reference photo, encode it through TextEncodeQwenImageEditPlus, and feed it into a ReferenceLatent node alongside your new-scene instruction. Krea 2 Turbo then generates the character in the new pose or setting while keeping the face, hair, and outfit close to the original. Minimum 12 GB VRAM for the FP8 model.
Getting the same character to show up correctly across ten different images used to mean training a LoRA on that character first. Krea 2 changes this — you can hand it one reference photo and a text instruction, and it generates a new pose or scene while keeping the face, outfit, and hairstyle close to the source. No training required.
This guide walks through the exact workflow: which nodes to connect, what each setting does, and how to write instructions that keep identity intact instead of drifting into a different-looking person by the third generation.
If you're working with Qwen Image Edit instead of Krea 2 — including multi-character scenes with two or more people in one frame — see the general ComfyUI character consistency guide. This page focuses specifically on the Krea 2 Turbo node chain.
Tested on: ComfyUI v0.3.7+, RTX 4090 (24 GB VRAM).
Minimum VRAM: 12 GB (FP8 model).
How Identity Is Preserved
Two separate paths carry your reference photo into the sampler, and both matter:
- The text-encoder path — the reference image is fed into the Qwen3-VL text encoder alongside your instruction, so the encoder "sees" the image while it reads what you're asking for.
- The image-latent path — the same reference image is separately VAE-encoded into a latent and merged into the conditioning through ReferenceLatent. This is the path doing most of the work to hold the face steady.
Example: One Reference, Two Scenes
Below is one reference photo and two separate generations from that same reference — swap in your own screenshots here. Click any image to zoom.
What You Need
Krea 2 ships as separate model, text encoder, and VAE files — ComfyUI does not bundle them into one checkpoint. Download these before you start.
| File | Size | VRAM | Notes | Download |
|---|---|---|---|---|
krea2_turbo_fp8_scaled.safetensors | ~13 GB | 12 GB+ | Recommended for most users | ↗ Download |
krea2_turbo_bf16.safetensors | ~24.5 GB | 24 GB+ | Full precision — for 24 GB+ cards only | ↗ Download |
qwen3vl_4b_fp8_scaled.safetensors | ~4 GB | Required | Reads the reference image and your instruction together | ↗ Download |
Wan2_1_VAE_bf16.safetensors | ~242 MB | Required | Decodes the finished latent to a PNG | ↗ Download |
Pre-flight checklist
Where to Place the Files
Each file type goes in a different subfolder under ComfyUI's models/ directory. A file in the wrong folder means ComfyUI can't find it and the dropdown stays empty.
diffusion_models/ — main model (pick one)text_encoders/ — text + image encodervae/ — image decodermodels/checkpoints/. Krea 2 uses the diffusion_models folder specifically.Download the Workflow
🔧 Krea 2 Character Consistency — Workflow Download
Download the ready-to-use ComfyUI workflow JSON. Drag it onto the canvas, load your reference photo, and generate.
How to Load the Workflow JSON into ComfyUI
- Download the .json file to your computer.
- Open ComfyUI in your browser — usually at http://127.0.0.1:8188.
- Drag the .json file directly onto the ComfyUI canvas. Drop it anywhere on the empty grey area.
- The workflow loads automatically. You should see the model loaders, image loader, prompt, and sampling groups appear on the canvas.
- If you see only red error blocks, jump to the Troubleshooting section below.
Workflow Structure: What Each Node Does
Eleven nodes, connected left to right. Here's what each one controls:
| Node | What it does |
|---|---|
VAELoader | Loads the VAE. Feeds two places: final image decode, and reference-photo encode. |
CLIPLoader | Loads the Qwen3-VL text+image encoder. Type must be set to "krea2". |
UNETLoader | Loads the Krea 2 Turbo diffusion model — the model that generates the image. |
LoadImage | Your reference photo of the character. Feeds both TextEncodeQwenImageEditPlus nodes below. |
TextEncodeQwenImageEditPlus (Positive) | Reference image + your instruction — what to preserve and what to change. |
TextEncodeQwenImageEditPlus (Negative) | Text-only prompt describing what to reject (this workflow rejects diptych/split-screen output). |
VAEEncode | Converts the reference photo into a latent — this is what anchors identity, not just the text path. |
ReferenceLatent | Combines positive conditioning with the VAE-encoded reference latent. This is the node that keeps the face consistent. |
EmptySD3LatentImage | Sets the output canvas size, fed by the width/height nodes. |
KSampler | Runs generation using the model, positive conditioning, negative conditioning, and starting latent. |
VAEDecode → SaveImage | Converts the finished latent into a PNG and writes it to disk. |
Step-by-Step Setup
- In VAELoader, confirm
Wan2_1_VAE_bf16.safetensorsis selected. - In CLIPLoader, select
qwen3vl_4b_fp8_scaled.safetensorsand confirm type reads krea2. - In UNETLoader, select your Krea 2 Turbo model file.
- Click LoadImage and upload your reference photo. Use a clear, well-lit, front-facing shot — side profiles and heavy shadows make identity lock harder.
- Open the TextEncodeQwenImageEditPlus (Positive) node and write your instruction — see the next section for the exact structure.
- Leave the negative prompt as-is (rejecting diptych/split-screen output) unless you see a different unwanted pattern.
- Set your output width and height in the PrimitiveInt nodes — this workflow defaults to 1280×1280.
- Click the orange Queue Prompt button. A progress bar appears below it. On an RTX 4090 at 12 steps, generation takes roughly 15–25 seconds.
How to Write the Instruction
Structure every instruction in two parts: what to preserve, then what to change. Lead with the preservation language — it carries more weight at the start of the prompt than buried at the end.
Worked example from this workflow:
Negative Prompt
Krea 2 occasionally generates unprompted side-by-side comparison panels. The negative prompt in this workflow suppresses that pattern specifically:
Settings That Matter
12— low step counts don't meaningfully improve identity beyond this2.5— higher can flatten the natural lookeuler— default this workflow ships withsimple— use with euler1280×1280— default output canvasKrea 2 Turbo is a distilled model built for low step counts. Going much higher than 12–16 steps doesn't meaningfully improve identity and just slows generation down. Pushing CFG higher forces more literal instruction-following but tends to flatten the natural look Krea 2 is known for.
Going Further: LoRA-Based Identity Preservation
If you need tighter identity lock than the base workflow gives you — especially for scene-referential instructions like "the woman on the left" — the community has released a dedicated LoRA for this. It's called Krea 2 Identity Edit, released about two weeks after Krea 2 itself went open-source, and it requires an additional node pack rather than the stock nodes covered above.
Need multiple characters in the same frame instead of one at a time? That's a different node setup — see the multi-reference section of the general ComfyUI character consistency guide.
"This node type does not exist" (red node in workflow)
The workflow uses a custom or newer core node you haven't installed.
- Click Manager in the top menu.
- Click Install Missing Custom Nodes.
- Restart ComfyUI completely.
If nodes still show red, update ComfyUI itself — TextEncodeQwenImageEditPlus and ReferenceLatent are recent core additions and won't exist on older builds.
The character's face looks different in the output
This usually means the VAE-encode path isn't reaching the sampler correctly, or the reference photo is a poor angle for the model to lock onto.
- Confirm VAEEncode is connected from your LoadImage node, not left disconnected.
- Confirm ReferenceLatent receives both the positive conditioning and the VAE-encoded latent.
- Try a clearer, more front-facing reference photo.
Out of memory / CUDA error during generation
The BF16 model is roughly 24.5 GB and can exceed VRAM on cards under 24 GB.
- Switch to
krea2_turbo_fp8_scaled.safetensorsinstead of the BF16 version. - Lower your output resolution (try 1024×1024 instead of 1280×1280).
- Close other GPU-heavy applications before queuing.
Output comes out as a split-screen or diptych image
Krea 2 occasionally generates side-by-side comparison panels unprompted. Confirm the negative prompt still contains the diptych/split-screen rejection text — if it's been cleared or edited, restore it.
Frequently Asked Questions
What to Do Next
Download the workflow. Run one test scene. Compare it to the reference.
Once identity holds up on a clean generation, try stacking a style LoRA on top for a different look — see the LoRA guide below for how the loader node fits into a workflow like this one.
Published: 2026-07-13 · Last updated: 2026-07-13 · Tested on RTX 4090 (24 GB VRAM) · ComfyUI v0.3.7 · Model: krea2_turbo_bf16.safetensors
Join the discussion
Sign in to leave a comment or reply
No comments yet
Be the first to share your thoughts!







