krea / createImage
The closed Krea that powers the Krea 2 hype
- image
- api_config
- images
- errors
- workflow_id
- raw_json
Careful - there are two Krea image nodes in this pack and they're not the same thing. Krea 2 Raw/Edit nodes run the open Krea 2 weights through Civitai's Comfy engine. This node, krea / createImage, calls Krea's hosted model - the closed one, the product Krea actually sells, with all the sliders from their website: creativity, intensity, complexity, movement, style references, image-to-image strength. It's the full-fidelity version of the model that made Krea 2's open release look deliberately hobbled in comparison.
This is the node to reach for when you want Krea's hosted product inside your workflow - style mixing, reference-driven generation, and the "K2 sliders" that don't exist in the open checkpoints. It's also the most opinionated node in this pack: it requires a JSON text field (image_style_references_json) that you must fill in, even if you just put [].
How it works
Standard civitai-comfy-nodes mechanics: submit the job to the Civitai Orchestration API (engine: krea), long-poll, return an IMAGE tensor. The interesting part is the parameter surface - this node maps the hosted Krea product's controls directly. creativity (raw/low/medium/high) controls how much Krea expands your prompt, with raw meaning "render only what I wrote." The intensity, complexity, and movement sliders (each −100 to 100) are Krea's "K2" tuning knobs for detail density and dynamism.
The inputs that matter
- prompt - required.
- image_style_references_json - required. This is JSON text (the pack's README explains that "freeform structures remain JSON text inputs"). Wire a text node or paste a JSON array of style references; an empty
[]is valid. - model -
krea2-medium(default),krea2-large, orkrea2-medium-turbo. - creativity -
raw/low/medium/high; tooltip saysrawrenders only what was written. - intensity / complexity / movement - the K2 sliders, −100 to 100, default 0.
- image - optional; wire an
IMAGEfor image-to-image, with strength (default 0.99) controlling denoise. - aspect_ratio, quantity (1–10), seed, output_format, image_metadata - standard.
Outputs
images → Preview/Save Image. errors, workflow_id, raw_json are diagnostics.
Installing and authenticating
Pack-wide install:
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
or ComfyUI Manager → "Civitai Comfy Nodes" → Install → restart. Dependencies: requests + python-socketio[client].
Auth: Civitai Auth node → CIVITAI_API_TOKEN → stored key/OAuth → browser login. Headless:
export CIVITAI_API_TOKEN=your_token
Where people get burned
- The required JSON field trips everyone.
image_style_references_jsonis a required socket/text input, not a widget you can ignore - if you're not using style references, put[]in it. The node won't run otherwise. - It's the closed model with hosted filters. The whole reason this exists (vs the open Krea 2 nodes) is that the hosted version kept its expressiveness - but it's also Krea's product, with Krea's content moderation and Krea's per-call pricing.
rawcreativity is a commitment. Atraw, Krea stops expanding your prompt - great when you want control, a footgun if you expected the model to fill in context.- Strength matters when you wire
image. Default 0.99 is nearly pure image-to-image regeneration; drop it if you want the reference to sit lighter. - Your prompt, references, and input images go to Krea's servers via Civitai. Standard API-node deal.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| image_style_references_json | STRING | — | |
| output_formatopt | COMBO | 4 options: , jpeg, png, webP | |
| image_metadataopt | STRING | External metadata that will be stored with the image | |
| modelopt | COMBO | krea2-medium | 3 options: krea2-medium, krea2-large, krea2-medium-turbo |
| aspect_ratioopt | COMBO | 1:1 | 8 options: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, +2 |
| creativityopt | COMBO | medium | How much Krea expands the prompt: `raw` renders only what was written. |
| quantityopt | INT | 11–10 | — |
| seedopt | INT | 00–4294967295 | — |
| intensityopt | INT | 0-100–100 | K2 intensity slider. |
| complexityopt | INT | 0-100–100 | K2 complexity slider. |
| movementopt | INT | 0-100–100 | K2 movement slider. |
| imageopt | IMAGE | Either A URL, A DataURL or a Base64 string | |
| strengthopt | FLOAT | 0.990–1 | Denoising strength for image-to-image; ignored without Civitai.Orchestration.Grains.Workflows.Steps.ImageGen.Krea.KreaCreateImageGenInput.Image. |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| errors | STRING | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |