Krea 2 Turbo β the libwaifu package
Krea 2 Turbo, converted to the package format libwaifu reads. The same weights drawing the same pictures; a different file layout and a narrower dtype.
By downloading these files you agree to the Krea 2 Community License Agreement, a copy of which is distributed here as
LICENSE.pdf, and to the Acceptable Use Policy. Commercial use is permitted only under the revenue threshold in Β§2.3 of that agreement, and Β§4.2 requires a deployment of these weights to carry content filtering.This is a modified copy β see
NOTICEfor what was changed β and it is not an official Krea product and is not endorsed by Krea. The original weights are at krea/Krea-2-Turbo.
What is here
| package | on disk | on the card | what it is |
|---|---|---|---|
krea2-turbo.yaml and its parts |
33.8 GB | ~34 GB | float16 throughout |
krea2-turbo-fp8.yaml and its parts |
17.3 GB | ~18 GB | the matrices as E4M3 with one scale per output channel, everything else float16 |
Either one carries the whole model: the denoiser, the language half of the Qwen3-VL text encoder, the Qwen-Image autoencoder, and the tokenizer. Nothing else has to be fetched to draw.
Drawing with it
waifu draw -m krea2-turbo.yaml
or from Rust:
let manifest = Manifest::open("krea2-turbo.yaml")?;
let model = Krea2::from_manifest(Device::Cuda, Residency::Device, &manifest)?;
let image = model.generate("a red fox sitting in fresh snow", &options)?;
It is distilled for eight steps at no guidance. The package says so in its suggested: block,
and the thirty steps at guidance five that SDXL likes give a burnt picture here for four times the
work.
How close it is to the original
Measured against diffusers' Krea2Pipeline on the same weights, with every input taken off one
real eight-step trajectory rather than from torch.randn:
| float16 package | fp8 package | |
|---|---|---|
| the twelve tapped encoder states | 1.06e-2 | 4.39e-2 |
| one denoising step | 3.60e-2 | 5.62e-2 |
| the autoencoder's decode | 1.72e-3 | the same β it is not quantized |
| eight steps, end to end | 9.94e-2 | 3.40e-1 |
For the float16 package those are what the two float types disagree by and little else: the reference's own float16-against-bfloat16 run moves the same denoising step by 3.51e-2, and at full width on the processor the autoencoder agrees with the reference to 1.9e-6.
The fp8 package is not free. It costs about four times the error in the text encoder, and its eight-step trajectory ends somewhere measurably different β the same scene, drawn a little differently. Take it when the card is the constraint, not when the picture is.
docs/krea2.md in the libwaifu repository has the full table, the control each number is read
against, and what is easy to get wrong in this architecture.
Attribution
Krea 2 is licensed under the Krea 2 Community License Agreement. For more information, visit https://krea.ai/krea-2-licensing.