flux3_klein / README.md
WAS's picture
Add model card, Attribution Notice, FLUX Kommunity License and comparison grid
1e5b75f verified
|
Raw History Blame Contribute Delete
5.07 kB
---
license: other
license_name: flux-kommunity-license
license_link: LICENSE.md
base_model:
- black-forest-labs/flux-3-image-klein-base
- black-forest-labs/flux-3-image-klein
pipeline_tag: text-to-image
tags:
- lora
- comfyui
- flux-3
- flux-3-image-klein
- distillation
---
# FLUX 3 Image Klein distillation LoRAs
The step-distilled FLUX 3 Image Klein checkpoint minus the base checkpoint, as LoRAs at four
ranks. Put one on the base model with the **Flux 3 Flow Map Patch** node from
[WAS Node Suite](https://github.com/WASasquatch/was-node-suite-comfyui), and the base samples
the way the distilled model does in 16 steps: the distilled picture from the same seed at CFG 1,
and more contrast and colour at CFG 2.5 to 3.5, which the distilled model does not take.
> This FLUX Model is licensed by Black Forest Labs Inc. under the FLUX Kommunity License.
> Copyright Black Forest Labs Inc. IN NO EVENT SHALL BLACK FOREST LABS INC. BE LIABLE FOR ANY
> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> FROM, OUT OF OR IN CONNECTION WITH USE OF THIS MODEL.
>
> These LoRAs are modified from FLUX 3 Image Klein by WAS. See [License](#license).
![The distilled model, the base model, and the base with each LoRA and Flux 3 Flow Map Patch at CFG 1, 2.5 and 3.5](grid_seed42.jpg)
One prompt, seed 42, 1280x2048, euler / simple, LoRA strength 1.0. Top row: the distilled model
at CFG 1 and 16 steps, and the base model at CFG 3.5 and 50 steps. Each row below is the base
with one LoRA and Flux 3 Flow Map Patch, 16 steps, at CFG 1, 2.5 and 3.5. The figure under each
title is PSNR against the distilled render.
## Files
Put them in `ComfyUI/models/loras`.
| File | Rank | Size | PSNR against the distilled render, CFG 1 |
|---|--:|--:|--:|
| `flux3_image_klein_distill_r256.safetensors` | 256 | 1.35 GB | 27.3 dB |
| `flux3_image_klein_distill_r64.safetensors` | 64 | 337 MB | 22.2 dB |
| `flux3_image_klein_distill_r32.safetensors` | 32 | 169 MB | 20.8 dB |
| `flux3_image_klein_distill_r16.safetensors` | 16 | 84 MB | 19.0 dB |
The PSNR figures come from the one prompt and seed in the grid.
## What else you need
ComfyUI 0.41 or later, and a WAS Node Suite release that includes **Flux 3 Flow Map Patch**. From
[black-forest-labs/flux-3-image-klein-comfy](https://huggingface.co/black-forest-labs/flux-3-image-klein-comfy):
| File | Goes in |
|---|---|
| `flux3_image_klein_bf16.safetensors`, the base model | `ComfyUI/models/diffusion_models` |
| `flux3_image_klein_sd_bf16.safetensors` or `flux3_image_klein_sd_int8_convrot.safetensors`, the distilled model | `ComfyUI/models/diffusion_models` |
| `qwen3vl_4b_int8_convrot.safetensors` | `ComfyUI/models/text_encoders` |
| `flux2-vae.safetensors` | `ComfyUI/models/vae` |
Flux 3 Flow Map Patch reads only two weights from the distilled file, about 20 MB, so it never
loads the distilled model itself.
## Using them in ComfyUI
1. **Load Diffusion Model** on `flux3_image_klein_bf16.safetensors`.
2. **LoraLoaderModelOnly** on one of these LoRAs, strength 1.0.
3. **Flux 3 Flow Map Patch**, with `checkpoint` set to a distilled file, one with `_sd_` in its name.
4. **KSampler** at 16 steps, `euler`, `simple`. CFG 1 gives the distilled picture; CFG 2.5 to 3.5
adds contrast and colour.
Example workflow:
[`flux3-klein-distill-lora.json`](https://github.com/WASasquatch/was-node-suite-comfyui/blob/main/docs/workflows/flux3-klein-distill-lora.json).
It renders one seed at CFG 1 and CFG 2.5 into an image compare.
## Why the patch
The distilled checkpoint has a layer the base does not: `ref_time_in`, which embeds the sigma
each step lands on and adds it to every modulation. A LoRA can only change layers that already
exist, so it cannot carry that one. Without the patch, base + LoRA renders with a fine stripe
every 4 pixels down the rows and a blue cast. Flux 3 Flow Map Patch reads the two `ref_time_in`
weights from a distilled file and attaches them to the base model.
## How they were made
For every layer, the distilled weight minus the base weight, computed in fp32 from the two bf16
checkpoints. Each matrix is a truncated SVD at the file's rank, stored as fp16
`lora_up`/`lora_down` with no value clipping. The 86 norm scales are exact fp32 differences.
`ref_time_in` is not included, since the base has no layer for it.
## License
These LoRAs are a Derivative of FLUX 3 Image Klein and are distributed under the
[FLUX Kommunity License v1.0](LICENSE.md). Any rights to use FLUX 3 Image Klein and these LoRAs
are granted to you directly by Black Forest Labs Inc. under that License. It permits
non-commercial use, and lets Qualifying Users use Outputs commercially on the conditions it sets
out; read it before use.
They were modified from FLUX 3 Image Klein by WAS, and are not an official product of Black
Forest Labs Inc., nor endorsed, approved or validated by it. They are provided as is, without
warranty of any kind, and WAS accepts no liability arising from their use. The Attribution Notice
is in [NOTICE.md](NOTICE.md).