Krea 2 · Two-Pass Refine Workflow (no upscaler)
A clean two-pass text-to-image workflow for Krea 2 — the exact pipeline I use for my gravure / portrait LoRAs. Pass 1 lays down the composition, pass 2 re-samples at 1.9× for texture and skin detail, then a light color match pulls the result back to pass-1 tones. No tiled upscaler: the output is 1216×1824 straight from pass 2.
PIPELINE
- UNET (Krea 2) → LoRA 1 (character) → LoRA 2 (style base, bypassed by default)
- Pass 1 — KSamplerAdvanced, er_sde / simple, 7 steps, CFG 1, 640×960, shift 0 (no ModelSampling node)
- Pass-1 decode is kept as a preview and as the ColorMatch reference
- LatentUpscaleBy, bislerp ×1.9
- Pass 2 — KSamplerAdvanced, euler / simple, 9 steps starting at step 4, CFG 1, negative zeroed with ConditioningZeroOut
- Decode → ColorMatch (hm-mkl-hm, strength 0.22) → SaveImage
MODELS
- UNET: any Krea 2 checkpoint (Turbo or a mix) — set the file for your machine
- Text encoder: qwen3vl_4b_fp8_scaled.safetensors, CLIPLoader type = krea2
- VAE: qwen_image_vae.safetensors
- LoRA slot 1 = your character LoRA; slot 2 = a style LoRA (un-bypass it to use it)
REQUIREMENTS
- ComfyUI with Krea 2 support (CLIPLoader must list "krea2")
- ComfyUI-KJNodes for ColorMatch — on newer KJNodes swap in ColorMatchV2 (image_target / image_ref inputs are in the opposite order). Everything else is core.
HOW TO PROMPT
Write full sentences in caption order: framing → camera height / distance → pose (hands, legs) → expression → hair → outfit and fabric → light direction and quality → environment. At CFG 1 the negative prompt does nothing, so describe what you want instead of what you don't. A README note on the canvas repeats all of this.
Tips: keep the portrait aspect (640×960 → 1216×1824); for landscape use 960×640. If pass 2 drifts too far from pass 1, raise start_at_step to 5–6; for more change, lower it to 3.
Description
Krea 2 · Two-Pass Refine Workflow (no upscaler)
A clean two-pass text-to-image workflow for Krea 2 — the exact pipeline I use for my gravure / portrait LoRAs. Pass 1 lays down the composition, pass 2 re-samples at 1.9× for texture and skin detail, then a light color match pulls the result back to pass-1 tones. No tiled upscaler: the output is 1216×1824 straight from pass 2.
PIPELINE
- UNET (Krea 2) → LoRA 1 (character) → LoRA 2 (style base, bypassed by default)
- Pass 1 — KSamplerAdvanced, er_sde / simple, 7 steps, CFG 1, 640×960, shift 0 (no ModelSampling node)
- Pass-1 decode is kept as a preview and as the ColorMatch reference
- LatentUpscaleBy, bislerp ×1.9 up to 3 before you see random renders
- Pass 2 — KSamplerAdvanced, euler / simple, 9 steps starting at step 4, CFG 1, negative zeroed with ConditioningZeroOut
- Decode → ColorMatch (hm-mkl-hm, strength 0.22) → SaveImage
MODELS
- UNET: any Krea 2 checkpoint (Turbo or a mix) — set the file for your machine
- Text encoder: qwen3vl_4b_fp8_scaled.safetensors, CLIPLoader type = krea2
- VAE: qwen_image_vae.safetensors
- LoRA slot 1 = your character LoRA; slot 2 = a style LoRA (un-bypass it to use it)
REQUIREMENTS
- ComfyUI with Krea 2 support (CLIPLoader must list "krea2")
- ComfyUI-KJNodes for ColorMatch — on newer KJNodes swap in ColorMatchV2 (image_target / image_ref inputs are in the opposite order). Everything else is core.
HOW TO PROMPT
Write full sentences in caption order: framing → camera height / distance → pose (hands, legs) → expression → hair → outfit and fabric → light direction and quality → environment. At CFG 1 the negative prompt does nothing, so describe what you want instead of what you don't. A README note on the canvas repeats all of this.
Tips: keep the portrait aspect (640×960 → 1216×1824); for landscape use 960×640. If pass 2 drifts too far from pass 1, raise start_at_step to 5–6; for more change, lower it to 3.

