Krea Palette Style Reference
The Krea style-reference node that doesn't call the cloud
- palette_preview
- style_reference_image
- style_reference_json
Let's be honest about what this node is before you get excited: KreaPaletteStyleReference never touches the internet. It doesn't upload your image, doesn't call Krea's API, and needs no key. What it does is take a palette swatch image and a strength value and package them into the exact payload shape that Krea 2's hosted style-reference feature expects. It's the plumbing for the cloud path - and if you're running Krea 2 locally, you almost certainly don't need it.
That's not a criticism. The context is that Krea's hosted product has a style-reference/moodboard feature that was explicitly not released with the open weights, so the only way to use it is through Krea's cloud API, typically via Comfy Partner Nodes like Krea 2 Style Reference and Krea 2 Image (metered per generation). This node is what sits between your local palette extraction and that cloud request. The default free path in this pack - extractor straight into KreaPaletteToPromptText, no cloud anywhere - is the one most people should use.
How it works
Two outputs, both trivial to understand:
style_reference_image(IMAGE) - a straight pass-through of whatever you feed in, typically thepalette_previewswatch strip fromKreaPaletteExtractor. This is what an upload/HTTP node needs to host.style_reference_json(STRING) - literally{"strength": <float>}. You merge the hostedimageUrlinto this JSON and add the result as one entry of the request'simage_style_referencesarray.
That's the whole mechanism. The node deliberately doesn't upload anything, because your own Krea integration may already have an upload node - the README is explicit that this one just shapes the data.
The inputs that matter
Only two.
palette_preview- the swatch IMAGE, typically fromKreaPaletteExtractor.strength- reference strength, −2.0 to 2.0, default 1.0. Positive pulls the generation toward the palette; negative repels from it. That's the part people find surprising, and the pack ships a workflow comparing+1.5against−1.5so you can see the effect before you commit.
Install
Identical to its siblings, and just as light:
cd ComfyUI/custom_nodes
git clone https://github.com/SurrealByDesign/ComfyUI-Krea-Palette-Tools
Or search "ComfyUI Krea Palette Tools" in ComfyUI Manager. One extra dependency, scikit-learn (from requirements.txt; manual install is pip install scikit-learn). No model files. Nodes show up under Krea/Palette after a restart.
Where people trip
The big one: people wire this node and expect a generation to come out. It won't - the swatch still needs to be hosted as a URL, and the generation itself happens in Krea's cloud, which costs credits. If you're not already paying for the hosted API, skip this node entirely and use the free text path; the community's common way to do local "style transfer" on Krea 2 is literally describing the reference in words, which is what KreaPaletteToPromptText does for colors. This node exists for one specific workflow: you have Krea's cloud style-reference feature, and you want your palette to drive it.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| palette_preview | IMAGE | — | |
| strength | FLOAT | 1.0-2–2 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| style_reference_image | IMAGE | — |
| style_reference_json | STRING | — |