--- 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).