Krea 2 RAW and Turbo: Setup, License and Image Costs
Krea 2 is a text-to-image family built around a 12B diffusion transformer. RAW is the undistilled checkpoint for adaptation and LoRA training; Turbo is the eight-step option for generation. Both have downloadable weights under the Krea 2 Community License, which limits commercial use by company revenue. Choose the checkpoint, complete runtime and access route before estimating an image budget.
Content reviewed:

Use this model
Official model repository
- Krea 2 Turbo model and access gate
Model card, downloads and license conditions.
Local tools and guides
- Get Krea 2 inference code and setup instructions
Follow the tool’s installation and hardware requirements.
Use cases
- Generate image concepts with the eight-step Turbo checkpoint.
- Train a style LoRA on RAW and apply it to Turbo.
- Compare a complete local run with a hosted megapixel bill.
Choose RAW for training or Turbo for generation
Krea recommends training LoRAs on RAW and applying them to Turbo. Its official inference recipe uses 52 steps and CFG 3.5 for RAW. Turbo uses eight steps, CFG disabled and mu 1.15; the published Turbo command generates at 2048×2048. Keep these recipes distinct when comparing time and output quality.
RAW’s undistilled setup offers a starting point for adaptation. Turbo reduces sampling work for repeated image generation. A LoRA workflow adds its own training, captioning and validation costs, so start with ordinary Turbo images before paying to train an adapter.
| Checkpoint | Official-code recipe | Primary workflow |
|---|---|---|
| Krea-2-Raw | 52 steps; CFG 3.5 | Adaptation and LoRA training |
| Krea-2-Turbo | 8 steps; CFG 0.0; mu 1.15 | Image generation and trained LoRAs |
Run the official Turbo workflow
Request checkpoint access on Hugging Face and accept the model license. Clone the official repository, install its environment with uv sync and download turbo.safetensors to a location with sufficient storage. Set OSS_TURBO to that file. The example below uses the repository’s inference program; it is a runnable recipe, not an image generated by this site.
Open the saved output and check the requested subject, lettering and composition before producing a batch. Keep prompt, seed, image dimensions and sampler settings with each accepted image so a comparison can be repeated. Use RAW’s separate recipe when training or evaluating the undistilled model.
uv sync
export OSS_TURBO=/path/to/turbo.safetensors
uv run inference.py "a ceramic tea set on a blue linen table, soft window light" \
--checkpoint oss_turbo --steps 8 --cfg 0.0 --mu 1.15 \
--width 2048 --height 2048 --output tea-setBudget the complete pipeline and runtime
The 12B DiT and its checkpoint size are only part of a working image pipeline. SGLang also loads a text encoder and VAE. Its Krea cookbook documents separate component offload and layerwise DiT offload: the latter streams blocks from host memory, trading transfer time for lower GPU residency. Keep host RAM and GPU memory as separate budgets.
In the SGLang maintainers’ test, one H200 running Krea-2-Turbo with eight steps on sglang diffusion 0.5.13 completed a one-prompt benchmark in 1.56 seconds and reported 37,466MB peak memory. That is one recorded server configuration, not a minimum VRAM requirement or a consumer-card timing. Its separate concurrent benchmark measures different queueing and latency conditions.
SGLang uses its own guidance conventions; follow the cookbook rather than copying the official script’s CFG value into another backend. For a smaller GPU, first establish that the complete chosen offload configuration loads and generates at your target resolution. Measure cold load, warm generation, peak GPU memory and host RAM separately.
Community workflows and output checks
The following author reports use different checkpoints and settings. Keep each recipe with its own timing or quality observation when deciding what to try.
An RTX 5090 FP8-scaled run
ukrroot reports 4.8–5.2 seconds across eleven Krea 2 Turbo runs at 1024×1024, eight Euler steps, using FP8-scaled weights on an RTX 5090 described as having 31GB VRAM. The post pins ComfyUI 0.37.0 and PyTorch 2.10.0.dev20250910+cu130. It does not define cold versus warm timing or give peak VRAM; the card capacity is not the pipeline’s measured memory. Its FLUX comparison uses another resolution and only one run, so it cannot establish a matched speed ratio.
An INT8 recipe with two LoRAs
hoangyell describes a Turbo INT8 workflow with BloomGirls at strength 0.8 and Famegrid at 0.7, using ten steps, and reports a verified RTX 4070 run. Its 8–12GB label comes without image dimensions, peak memory, offload settings or elapsed time. Use it to investigate that exact converted workflow, rather than treating 8GB as a minimum requirement for the official pipeline.
Check detailed prompts before a batch
In a twenty-item prompt set, princedoesai labels thirteen results as passes, three as partial and four as failures, including a failed analog-clock task. These are the author’s judgments of that sample, not a general pass rate. Use difficult lettering, object counts and clock faces in your own acceptance set when those details matter to the job.
Compare local sessions with fal’s image price
fal’s Krea 2 Turbo text-to-image quote, checked October 20, is $0.008 per megapixel. An assumed batch totaling 100 billable megapixels costs $0.80. This is the fal Turbo generation route, separate from Krea’s hosted application plans and from fal’s LoRA inference or training prices. Confirm the billable size for your selected output dimensions.
For local work, measure total reserved time and accepted output count. As an illustrative electricity-only calculation, a 500W system used for 20 minutes at $0.20/kWh costs about $0.033. If ten images are usable, electricity is about $0.0033 per accepted image. Hardware purchase, depreciation and labor are additional costs; a rented GPU also bills for loading and idle time.
Use the same prompt set and acceptance criteria for both routes. Include rejected generations and any LoRA training in the batch total. A low price per generated megapixel can still produce a higher price per usable image if the workflow needs many retries.
Check the commercial-use threshold
The weights use the Krea 2 Community License. Commercial use of the model, derivatives or outputs is allowed under this agreement only when company-wide annual revenue, including affiliated entities under common ownership or control, is below USD $1 million over the trailing twelve months. Meeting or exceeding the threshold requires a separate enterprise license before commercial use.
The agreement also sets distribution, attribution and content-filtering obligations. Read those terms for a service or redistributed derivative. The inference-code repository carries Apache 2.0; that code license does not replace the weights’ community license.
Compare styles and workflow controls
Krea 2’s RAW-to-Turbo path suits a workflow built around a reusable style adapter. If precise lettering and layout are the main acceptance criteria, compare the same prompts with MOSS-Image. For each model, inspect actual image outputs and the settings required to obtain them before deciding whether a faster sampler reduces your production cost.
Before you use it
- Commercial use at or above the license revenue threshold needs a separate enterprise agreement.
- Resolution, sampling, component residency and rejected outputs change the cost of a usable image.
How to get started
Obtain the licensed Turbo checkpoint, generate a small fixed prompt set and measure the full session before choosing a local or hosted batch workflow.
Sources
Sources (8)
- ukrroot Krea Turbo FP8-scaled author report ↗
Source checked:
- hoangyell Krea Turbo INT8 and LoRA author report ↗
Source checked:
- princedoesai Krea prompt-set self-evaluation ↗
Source checked:
- Krea 2 official inference repository ↗
Source checked:
- Krea 2 Turbo model card ↗
Source checked:
- Krea 2 Community License ↗
Source checked:
- SGLang Krea cookbook and measurements ↗
Source checked:
- fal Krea 2 workflow pricing ↗
Source checked: