Krea Moodboard Visual Browser
Krea Kept Its Moodboard Module Cloud-Only, So This Pack Rebuilds the Picker Locally
- positive
- negative
- title
- uuid
- metadata_json
The thing people actually wanted from Krea 2
When Krea opened Krea 2 in June 2026 - a 12B DiT it trained itself - the loudest request wasn't for a better checkpoint. It was for the moodboard and style-reference module from the hosted product, and Krea declined: the head of research said in the release AMA they had no plans to open-source it. The thread that followed was full of people asking someone to recreate it. That's the gap this pack aims at.
What you get is a card grid inside ComfyUI with 3,549 Krea moodboards and 60 Andro.Meta moods baked in as JSON. Search it, filter it, click a card, and it writes prompt text for that style. The trick, and it's worth being blunt: it outputs STRING only. No model, no image, no conditioning, no API calls - just local files and prompt text.
Reach for it for prompt vocabulary, not style cloning. Style transferred through text is soft: it nudges palette, lighting, texture and mood, and won't reproduce a reference image. Need a style locked? That's a LoRA, and it costs training. This costs you nothing in VRAM.
How it works
The grid is a JS extension (web/js) talking to three routes the pack registers on the ComfyUI server: a catalog query, a by-UUID lookup for favorites, and a thumbnail route. Clicking a card stuffs five widget values - query, selected_uuid, selected_title, selected_url, selected_metadata_json. Nothing gets wired in; the UI writes those strings and Python reads them at queue time.
select() resolves a board in order: selected_metadata_json, then selected_uuid, selected_url, selected_title, and finally query. Type "gothic surrealism" into query and never click a card, and it takes the top-scoring match from the same weighted search the browser uses. Leave everything blank and the node throws on queue.
Then it builds the text, and strength earns its place. concise is the board's own prompt guidance, bare. normal prefixes the title and appends style keywords. strong adds the board's taste profile - the descriptive prose - with subject nouns stripped out first. Every positive output carries a fixed guardrail paragraph ("Style-only Krea moodboard guidance: Apply the following only to the visual treatment of the subject..."), meant to stop a moodboard injecting its own subjects. And the negative gets filtered: clauses banning quality words or naming subjects are dropped, so an empty negative is normal, not broken.
Inputs and outputs that matter
You only touch two of these yourself: query is the search box, strength is the detail dial. The four selected_* fields are written by the browser - leave them alone unless you're hand-editing a workflow.
They wire out four ways: positive into a Krea2 Moodboard Adapter from the sibling ComfyUI-Krea2-Harness pack, or straight into a positive text encoder; negative into the negative encoder; title and uuid for bookkeeping and filenames; metadata_json for the adapter - the board's slug and Krea URL live inside it. This Local build drops the upstream node's url and preview outputs, so a workflow wired to either needs rewiring.
Install
ComfyUI Manager, search Krea Moodboards Local, or:
cd ComfyUI/custom_nodes
git clone https://github.com/ANe5s/ComfyUI-Krea-Moodboards-Local.git
The pack declares no Python dependencies - it leans on aiohttp and server, which ship with ComfyUI. Keep data/, locales/ and web/ intact, then fully restart ComfyUI; a browser refresh won't register the routes. You'll find it under ANe5s Nodes / Krea2. The Harness examples are a separate install and want Krea 2 Turbo, a Qwen3-VL encoder, the Qwen Image VAE, and a build with TextGenerate support.
Where people get burned
Blank thumbnails. data/thumb_cache/ is git-ignored and not shipped in the registry package, and the code only reads from disk - it never downloads. A fresh clone gives you a grid of cards with no images - search, selection and every output still work, you just lose the visual half. It looks for <uuid>-256.webp, falling back to -128.webp, so drop that cache in if you have it. Andro.Meta entries have no image URL at all, so those 60 are always text-only.
Favorites are browser-side. They live in your browser's localStorage (krea_moodboards_local:favorites), not in the workflow or the repo. Clear site data or switch browsers and they're gone.
Filtering is approximate. The style families (Photo, Cinematic, Anime, Illustration, Graphic, Abstract, 3D) are keyword heuristics with one family per card, so expect misfiles; Andro.Meta is exact, because it's a separate catalog.
Long prompts. Read a strong positive before queueing: guardrail, guidance, keywords and taste profile concatenated is a lot for a small model to digest. And the zh titles and summaries are static machine translations nobody checked.
The pack landed in October 2026 with essentially no community footprint, so treat it as young - but it's the honest version of what people asked Krea for: local catalog, local browsing, text handed to your workflow.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| query | STRING | — | |
| selected_uuid | STRING | — | |
| selected_title | STRING | — | |
| selected_url | STRING | — | |
| selected_metadata_json | STRING | — | |
| strength | COMBO | normal | 3 options: concise, normal, strong |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| positive | STRING | — |
| negative | STRING | — |
| title | STRING | — |
| uuid | STRING | — |
| metadata_json | STRING | — |