Krea 2 Turbo
The 12B base everyone's building on
- lora
- advancedFeatures.watermark.image
- image
Krea 2 is the model that took the open ecosystem away from Ideogram 4 in under a week, and Turbo is the fast lane to it. It's a 12B diffusion transformer that Krea trained from scratch - not a tune of someone else's weights - shipped in June 2026 under a licence permissive enough that LoRAs, fine-tunes, and merged checkpoints appeared within days. Krea 2 Turbo is the distilled variant: a genuinely good, fast base model that's become the default for stylized and training work. In the Runware pack, it's the node you reach for when you want Krea 2's look without running 12B locally.
One thing you should know before you fall in love: the open weights went through an alignment pass the hosted API never got. Krea's own CEO admitted the filter is deliberate, and it doesn't just block porn - users report it flattens facial expression, drops prompt clauses about bodies and violence, and leaves what one reviewer called "craters" in the model. Two community bypasses circulate (a conditioning-rebalance node and an uncensor LoRA) if that matters to you. For everyday SFW work you may not even notice, but it's worth knowing the filter is in the weights, not the API.
What you set
Required: positivePrompt, width, height - that's genuinely it. Krea 2 Turbo is distilled, so there's no CFG and no steps to fight with; the guidance is baked into the weights.
The interesting dials:
settings.creativity-raw,low,medium,high(default medium). This is Krea's own control over how closely it follows the prompt versus improvising.rawis where the interesting stuff lives for stylized work.referenceImages- the style-reference input. This is Krea 2's party trick in a hosted product, though note the open checkpoint's style-reference module is weaker than the hosted one; the company explicitly didn't release that part.seed,numberResults(up to 20),watermark,outputFormat,outputQuality- standard.advanced_json- the tooltip says it's forsettings.moodboards, Krea's moodboard feature. Raw JSON escape hatch if you want it.
Output is image (IMAGE).
How it works
Standard Runware-pack mechanics: request built with model AIR + taskType, sent over REST via the SDK, IMAGE downloaded back, cost printed on the title bar. Krea 2 runs entirely in the cloud here, so you skip both the 12B model download and the alignment-pass hassle of running it locally if you wanted the base weights for training - this node is for using it, not training on it.
Installing
ComfyUI Manager → search Runware → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
No model downloads; dependencies are runware-sdk, pillow, soundfile. API key via Settings → Runware API key, RUNWARE_API_KEY, or runware auth login.
Troubleshooting
No key, no service - set it first. If the output feels sanitized or flat, that's the alignment pass, not a misconfiguration; drop settings.creativity to raw and see if it loosens up, and if you need full freedom you're in uncensor-LoRA territory. And don't go looking for a steps slider - there isn't one, and that's the point.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| width | INT | 102464–2048 | Width of the generated media in pixels. |
| height | INT | 102464–2048 | Height of the generated media in pixels. |
| loraopt | RUNWARE_LORA | — | |
| advancedFeatures.watermark.imageopt | IMAGE | — | |
| seedopt | INT | 00–9223372036854776000 | Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range. |
| stepsopt | INT | 81–100 | Total number of denoising steps. Higher values generally produce more detailed results but take longer. |
| numberResultsopt | INT | 11–20 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| accelerationopt | COMBO | medium | Optimization level. |
| advancedFeaturesopt | BOOLEAN | false | Enable to set advancedFeatures. Off uses the model's default. |
| advancedFeatures.watermark.bgColoropt | STRING | Background color in hex format. | |
| advancedFeatures.watermark.displayPositionopt | COMBO | (default) | Watermark position. |
| advancedFeatures.watermark.fontColoropt | STRING | Text color in hex format. | |
| advancedFeatures.watermark.opacityopt | BOOLEAN | false | Enable to set advancedFeatures.watermark.opacity. Off uses the model's default. |
| advancedFeatures.watermark.opacity_valueopt | FLOAT | 0.100.1–1 | Watermark opacity. |
| advancedFeatures.watermark.textopt | STRING | Watermark text. | |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | JPG | File format for the generated image. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |