FLUX.2 [klein] 4B Base
The size-distilled Flux 2, with actual dials
- referenceImages
- lora
- acceleratorOptions
- advancedFeatures.watermark.image
- image
FLUX.2 [klein] is BFL's answer to the biggest complaint about FLUX.2: the 32B max model was great and required a datacenter. Klein ("small" in German, fittingly) is the size-distilled 4B variant that keeps a surprising amount of the quality while fitting in about 13GB of VRAM locally - and it shipped under Apache 2.0. If you were going to run any FLUX.2 at home, this is the one.
This node runs the "4B Base" tier on Runware's hardware (runware:400@5), and it's the member of the FLUX.2 family in this pack that actually gives you the diffusion dials - steps, scheduler, CFG - instead of hiding them behind the provider. That makes it the practical workhorse: most of FLUX.2's quality, a fraction of the price, and the controls you're used to.
How it works
A taskType: imageInference REST call with the klein 4B checkpoint baked in. The "Base" suffix means this is the pure text-to-image tier - no built-in edit mode, no image-conditioning socket beyond references. Reference images are supported (referenceImages), and there's a lora socket if you're stacking a fine-tune.
Inputs that matter
- positivePrompt - required.
- steps - 1–50, default 28. A real, usable default - klein isn't a distilled few-step model, it's a small model that still wants a proper step budget.
- CFGScale - 1–20, default 3.5. Actual guidance control, unlike the BFL pro tiers.
- scheduler - the full ~76-option dropdown. (You'll use the default, like everyone.)
- width / height - 128–2048 in 16px steps; klein will happily do small or large.
- referenceImages - up to several for style/character reference.
- acceleration - the optimization-level knob (
none/low/medium/high) for cost/speed tradeoffs.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Or ComfyUI Manager → search Runware → Install → restart. API key in ComfyUI Settings → Runware API key or RUNWARE_API_KEY.
Gotchas
- "Base" is a real limitation: if you want FLUX.2's editing-in-one-model, that's the max tier, not this node. Klein base is generate-from-scratch plus references.
- Apache 2.0 here is about the weights; you're still paying Runware per run, so don't confuse "open license" with "free."
- The
lorasocket is typed to the pack's LoRA builder - a nice bonus if the Runware catalog has a klein fine-tune you like.
If you want FLUX.2-quality results with actual settings you can adjust and a price tag that doesn't sting, klein 4B is the pick. It's the "most FLUX.2 for the least money" node in the pack, and the dials make it feel like home.
Inputs (27)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| width | INT | 1024128–2048 | Width of the generated media in pixels. |
| height | INT | 1024128–2048 | Height of the generated media in pixels. |
| referenceImagesopt | IMAGE | — | |
| loraopt | RUNWARE_LORA | — | |
| acceleratorOptionsopt | RUNWARE_ACCELERATOROPTIONS | — | |
| advancedFeatures.watermark.imageopt | IMAGE | — | |
| negativePromptopt | STRING | Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1). | |
| 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 | 281–50 | Total number of denoising steps. Higher values generally produce more detailed results but take longer. |
| scheduleropt | COMBO | (default) | Scheduler to use for the diffusion process. |
| CFGScaleopt | FLOAT | 3.501–20 | Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt. |
| numberResultsopt | INT | 11–20 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| accelerationopt | COMBO | (default) | 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 | — |