krea2 / comfy / edit / editImage
The hosted edit model in your graph
- images
- loras
- diffusion_model
- api_config
- images
- errors
- workflow_id
- raw_json
Krea 2 took the open ecosystem by storm in 2026 - and then every user hit the wall the KB calls "craters": the open weights went through an alignment pass the hosted model never got, so faces come out expressionless and whole prompt clauses about bodies get ignored. This node is the workaround hiding in plain sight. It's the Krea 2 edit model running on Civitai's cloud, which means you get the hosted, unfiltered-for-export Krea 2 - the one Krea's own research head admitted is better than what you can download.
Feed it an image plus a sentence like "make this person laugh" and it returns the edited image as a normal Comfy IMAGE. No local model, no 24GB download, no Qwen3-VL text encoder to fetch. You're buying your way past the lobotomy with Buzz.
How it works
Like every node in civitai-comfy-nodes, this is a thin client over the Civitai Orchestration API. Your prompt and source image get uploaded, a job runs Krea 2 (the edit variant) on Civitai's Comfy engine, and the node long-polls until it's done, then converts the result back to an IMAGE tensor. The "comfy" in the name is the engine label - your local ComfyUI is only the remote control.
Note this is the non-turbo edit model: default 8 steps at CFG 1.0, with the full sampler/scheduler menu exposed. If you want the 4-step turbo path, there's a sibling node for that.
The inputs that matter
- prompt and images are both required - this is an editor, it needs a source and an instruction.
- steps (default 8) and cfg_scale (default 1.0). Krea 2 is a CFG-1 model; don't take CFG to 7 out of habit.
- diffusion_model (
CIVITAI_AIR) - optional socket. Leave it empty and you get stock Krea 2 edit. Wire a Civitai Model Selector and you can point at a Krea 2 finetune hosted on Civitai instead. That's the one genuinely powerful thing these Comfy-engine nodes let you do: the model isn't frozen in the node. - loras (
CIVITAI_LORAS) - same idea; wire a Civitai LoRA Selector to stack LoRAs on the cloud job. - sampler / scheduler / seed / width / height / quantity - the usual suspects.
Outputs
images is what you wire into Preview/Save. errors carries any per-image failure as JSON, and workflow_id / raw_json are your audit trail - raw_json shows the full job result and is where you check what the orchestrator actually ran.
Installing and authenticating
This pack installs as one unit - you don't add Krea 2 separately:
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 → Custom Nodes Manager → "Civitai Comfy Nodes" → Install → restart. Dependencies are just requests and python-socketio[client].
Auth resolution order: a Civitai Auth node, then CIVITAI_API_TOKEN, then a stored key/OAuth in ~/.civitai/, then browser login. Headless setups should use the env var:
export CIVITAI_API_TOKEN=your_token
Where people get burned
- The cloud version is not the open checkpoint. That's the entire selling point here - the hosted Krea 2 keeps the expressiveness the open release lost. But it also means the hosted content filters apply. This is Civitai's orchestration layer running Krea's hosted model; don't expect open-checkpoint behavior on everything.
- Buzz meter running. Cloud edits cost per job. At 8 steps it's not ruinous, but a long edit chain adds up fast - plan the session.
- Your input image leaves the machine. Same story as every API node in this pack: it goes to Civitai's servers. Keep that in mind before editing anything private.
- If edits come back shifted or the frame drifts, that's a known Krea/instruction-edit family weakness, not your workflow - keep the input resolution sane and re-check the source image before blaming settings.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| images | IMAGE | — | |
| output_formatopt | COMBO | 4 options: , jpeg, png, webP | |
| image_metadataopt | STRING | External metadata that will be stored with the image | |
| negative_promptopt | STRING | — | |
| sampleropt | COMBO | 32 options: , euler, euler_ancestral, euler_cfg_pp, euler_ancestral_cfg_pp, heun, +26 | |
| scheduleropt | COMBO | 8 options: , normal, karras, exponential, sgm_uniform, simple, +2 | |
| stepsopt | INT | 101–150 | — |
| cfg_scaleopt | FLOAT | 1.000–30 | — |
| seedopt | INT | 00–4294967295 | — |
| quantityopt | INT | 11–4 | — |
| lorasopt | CIVITAI_LORAS | — | |
| diffusion_modelopt | CIVITAI_AIR | — | |
| widthopt | INT | 102464–2048 | — |
| heightopt | INT | 102464–2048 | — |
| 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 | — |