Nodes/ComfyUI-Krea2Moodboard/Krea 2 Moodboard + Identity Fusion
ComfyUI Node

Krea 2 Moodboard + Identity Fusion

Krea 2 Moodboard + Identity Fusion

By RedNodeAI·Created 2 months ago·Updated 2 months ago· 10
Krea 2 Moodboard + Identity Fusion
  • clip
  • edit_source
  • moodboard_images
  • vae
  • edit_source2
  • sources
  • target_latent
  • CONDITIONING
instruction
strength0.50
extract
reference_processing
style_directivetrue
indirecttrue
budget_px384
grounding_px768
ref_boost1.00
ref_boost_a1.00
fit_modefit

The recommended way to combine style references with an identity edit, and the reason the pack has three different moodboard nodes instead of one. This is the fusion node: style from a moodboard plus identity from a source image, done in one encode. Same sources, same VAE, same geometry - so the classic wiring mistakes can't happen.

Why fusion beats bolting two nodes together

You can technically get style-plus-identity by feeding a Moodboard Encode into an identity edit's fuse_with input. But that concatenates two separate encodes, which has a real weakness: indirect mode (delete the moodboard rows after encoding) can't work there, because a deleted span in a concatenated pass carries nothing. This node does the whole thing as a single encode, so the instruction and the edit grounding attend the moodboard span inside the encoder. That's what makes indirect - default ON here - genuinely functional: moodboard rows get deleted after encoding, so people in your style references structurally cannot appear in the output, while the style still transfers. If your style refs contain humans, that's the difference between "nice vibe" and "your aunt shows up in every image."

The three modes

Both image inputs are optional, and which ones you connect decides what the node is:

  • edit_source only → a plain identity edit (like Krea2IdentityEdit).
  • moodboard_images only → plain vibe transfer (like Krea2MoodboardEncode).
  • both → the fusion. This is why you're here.

Add edit_source2 for two-ref edit LoRAs (scene first, subject second), and sources for chained extra references (3+ blends identities, same caveat as everywhere in this pack).

Wiring it up

Connect vae - it's optional in the schema but the tooltip is blunt: required for actual editing, since the identity latents come from VAE-encoding the source. Wire the output CONDITIONING as your KSampler positive. The negative is a Krea2IdentityEdit with an empty prompt and the same source image - the training unconditional. Fuse the positive only; style in the negative cancels under CFG.

The identity-side dials from the edit node are here too:

  • ref_boost / ref_boost_a - the reference-fidelity attention boosters, and note they hit the identity refs only. The moodboard span is unaffected, which is the behavior you want. 1.0 off; 2–6 recommended with the v1.2 edit LoRA.
  • target_latent + fit_mode - connect your empty sampling latent to enable the v1.2 pixel-space fit geometry for the edit sources. This is the blur fix: refs are fitted in pixel space to the output resolution before VAE-encoding, removing both the blur and the old "match the source aspect ratio" requirement. With CFG > 1, connect the same latent to the negative edit node too.
  • strength, extract, reference_processing, budget_px, style_directive, grounding_px - the moodboard and grounding dials, same semantics as the sibling nodes.

The bundled krea2_identity_edit_fusion.json example ships the v1.2 wiring (target_latent connected, ref_boost exposed, v1.2 LoRA) so you've got a working starting point.

Installing

Whole pack, one install - GPL-3.0, zero third-party node dependencies:

git clone https://github.com/RedNodeAI/ComfyUI-Krea2Moodboard ComfyUI/custom_nodes/ComfyUI-Krea2Moodboard

or ComfyUI Manager, search "Krea2Moodboard", restart. Needs ComfyUI 0.25.0+, qwen3vl_4b (CLIPLoader type krea2), qwen_image_vae, and a krea2_edit LoRA at strength 1.0 for the identity side. If you're doing vibe-plus-face at all, start here - it's the least likely to surprise you.

Categoryconditioning/krea2

Inputs (18)

NameTypeDefaultDescription
clipCLIP
instructionSTRINGthe edit instruction, e.g. 'create a photo of this person at a night market'
strengthFLOAT0.500–1
extractCOMBO2 options: style / vibe, subject / concept
reference_processingCOMBO3 options: full image, quadrant crops (2x2), fine tiles (4x4)
style_directiveBOOLEANtrue
indirectBOOLEANtruedelete moodboard rows after encoding; style survives via in-encoder attention. Safest when style refs contain people.
budget_pxINT384128–1536
grounding_pxINT7680–2048longest-side cap for the edit source fed to the encoder
edit_sourceoptIMAGEidentity source image. Not connected = pure moodboard mode.
moodboard_imagesoptIMAGEstyle references (batch for several). Not connected = pure identity-edit mode.
vaeoptVAEconnect to attach the in-context identity latents (required for actual editing)
edit_source2optIMAGE2nd reference for two-ref LoRAs (scene first, subject second)
sourcesoptKREA2_SOURCESchained sources (Krea2 Edit Source Chain) — appended after edit_source/edit_source2 as frames 3..N. 3+ refs is beyond the LoRA's training; identities may blend.
ref_boostoptFLOAT1.000–10reference-fidelity dial: multiplies target->reference attention for the LAST identity ref (the subject). 1.0 = off; >1 pulls harder toward the reference (the v1.2 edit-LoRA author suggests 2-6). Positive only — the moodboard span is unaffected.
ref_boost_aoptFLOAT1.000–10same dial for the earlier identity refs (the scene in two-ref workflows). No effect single-ref. 1.0 = off
target_latentoptLATENTconnect your (empty) sampling latent to enable the v1.2 'fit' geometry: identity refs are fitted in PIXEL space to the output resolution before VAE-encoding — fixes blur from resolution mismatch and removes the match-the-aspect-ratio requirement. With CFG > 1, connect the same latent to the negative edit node too.
fit_modeoptCOMBOfithow identity refs fit a mismatched output AR (needs target_latent + vae): fit = resample to the target grid at a centered offset (v1.2-trained geometry); crop (legacy) = center-crop to the target AR then resize (v1/v1.1 geometry, for older weights).

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING