Nodes/ComfyUI-Krea2Moodboard/Krea 2 Moodboard
ComfyUI Node

Krea 2 Moodboard

Turn reference images into vibe, not content

By RedNodeAI·Created 2 months ago·Updated 2 months ago· 10
Krea 2 Moodboard
  • clip
  • image
  • image2
  • CONDITIONING
prompt
strength0.50
extract
position
reference_processing
indirectfalse
style_directivetrue
vision_px1024

This is the node that gives the pack its name: a one-node vibe transfer for Krea 2, mimicking the moodboard feature of the hosted product (which, as of writing, is not released - the open ecosystem had to build its own). Prompt plus reference image(s) in, conditioning out. It replaces CLIPTextEncode on your positive and does the style work that stock nodes can't.

Stock ComfyUI runs Krea 2 text-to-image perfectly; what it can't do is transfer which aspect of a reference you want. The stock qwen-edit-style encodes treat references as semantic description - the model learns what's in your reference with no strength dial and no style-vs-subject control, and multiple references can collapse into grid/collage outputs. This node is the fix for all of that.

How it works

Your reference images are tokenized through Krea 2's Qwen3-VL vision encoder into vision spans, with a declarative "style from the refs, subjects from the text" directive injected next to them. The strength and extract knobs then operate on those token rows directly - and here's the detail worth knowing: strength is an information knob, not a multiplier. The model uses per-token RMSNorm, so plain scaling gets erased; the node has to reshape the token statistics instead. 1.0 gives you raw reference detail (layout and pose can leak through), 0.5 the default, lower a purer extract.

The inputs that matter

  • image / image2 - your references. Both optional; with nothing connected the node behaves exactly like a plain Krea 2 text encode, so you can leave it wired in and just unplug the images.
  • strength - the vibe dial above.
  • extract - style: palette, lighting, texture, mood survive and subjects fade. subject: statistics get whitened away, composition survives, and your prompt controls the look.
  • reference_processing - full / 2x2 crops / 4x4 tiles. Cropping shuffles the composition so only palette and texture survive; tiles are the strongest style-only setting, since subjects are largely never encoded at all.
  • indirect - the anti-leak hammer. Vision token rows are deleted after the text encoder runs, so the DiT never sees the reference; style arrives only through prompt re-contextualization. It structurally cannot copy poses or leak people, and it's also the safe mode for crops/multi-ref, because deleted spans can't grid. Forces position to before.
  • position - vision tokens before or after the prompt. after keeps the prompt image-blind (less content leak).
  • style_directive - the injected "style not content" sentence, auto-matched to your extract mode.
  • vision_px - cap on the longest side fed to Qwen3-VL (1024 default; 0 = never resize).

Troubleshooting

Two failure modes dominate. Grid/collage outputs from multiple references - enable indirect, or drop to a single full reference. Content leaking (you wanted the palette, you got the subject) - lower strength, switch position to after, or go indirect. And if you're wondering whether you can copy a pose with this node: with indirect on, no, and that's the point.

Installing

The whole pack installs once - GPL-3.0, no third-party node dependencies, no requirements.txt:

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

or search "Krea2Moodboard" in ComfyUI Manager, then restart. You need ComfyUI with native Krea 2 support (0.25.0+), the qwen3vl_4b text encoder (CLIPLoader type krea2) and the qwen_image_vae. The bundled krea2_moodboard_t2i.json example runs on core nodes plus this pack alone.

Output is a single CONDITIONING for your KSampler positive. Keep the negative a plain empty encode. And if you have more than a couple of references, the packed variant Krea2MoodboardEncode is the one you want - it bundles them into one grid-safe span instead.

Categoryconditioning/krea2

Inputs (11)

NameTypeDefaultDescription
clipCLIP
promptSTRING
strengthFLOAT0.500–11.0 = full reference detail (layout/pose can leak); lower = keep palette/texture/mood only.
imageoptIMAGEreference image; leave unconnected for a plain Krea 2 text encode
image2optIMAGE
extractoptCOMBOstyle = palette/lighting/texture; subject = composition/content, prompt controls the look.
positionoptCOMBOVision tokens before or after the prompt. 'after' keeps the prompt image-blind (less content leak).
reference_processingoptCOMBOShuffled crops kill composition, keep palette/texture. Crops make several vision spans: if outputs turn into grids, enable indirect.
indirectoptBOOLEANfalseDelete vision rows after encoding: style only via prompt re-contextualization. Strongest anti-leak mode; forces 'before' position.
style_directiveoptBOOLEANtrueInject a declarative style-not-content (or subject) sentence next to the vision span.
vision_pxoptINT10240–4096Cap on the longest side fed to Qwen3-VL. 0 = never resize.

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING