ComfyUI Node

FLUX.2 [klein] 9B Base

The distilled Flux 2 that fixed the VRAM wall

By Runware·Created 2 years ago·Updated about a month ago· 140
FLUX.2 [klein] 9B Base
  • referenceImages
  • lora
  • acceleratorOptions
  • advancedFeatures.watermark.image
  • image
positivePrompt
width1024
height1024
negativePrompt
seed0
steps28
scheduler(default)
CFGScale3.50
numberResults1
acceleration(default)
advancedFeaturesfalse
advancedFeatures.watermark.bgColor
advancedFeatures.watermark.displayPosition(default)
advancedFeatures.watermark.fontColor
advancedFeatures.watermark.opacityfalse
advancedFeatures.watermark.opacity_value0.10
advancedFeatures.watermark.text
safetyfalse
safety.checkContentfalse
ttlfalse
ttl_value60
outputFormatJPG
outputQuality95

FLUX.2 was the most capable open-weights image model on the board - 4MP output, up to ten reference images, generation and editing in one checkpoint - and it was also a hardware nightmare, needing 18–24GB of VRAM even quantized. Klein is BFL's answer: the size-distilled version that puts Apache-2.0 Flux 2 in around 13GB locally. This node just cuts out the local part entirely. It's the FLUX.2 [klein] 9B Base model (runware:400@3) running on Runware's cloud, and you never think about VRAM at all.

If you're on a modest card, that's the whole pitch. Klein was the model that made Flux 2 accessible, and Runware makes Klein accessible again - no 13GB download, no quantized weights to fuss over, no --lowvram roulette. You pay per generation and get a cloud-rendered result as a native IMAGE.

What "base" means here

The Base tag matters more than it looks. Klein comes in a base and a distilled variant, and they're tuned differently. The concepts playbook for Klein base: it's guidance-distilled but not step-distilled - the guidance is baked into the weights, so you run a moderate CFG (the node defaults to 3.5) and a normal step count, not CFG 1 and 4 steps. The node ships with steps at 28 and CFGScale at 3.5, and honestly those defaults are the right place to start. This is the "Q8 is basically fp16" class of advice: respect the distilled defaults before you start cranking dials, because the model is tuned to be used a specific way.

Inputs and outputs

  • positivePrompt - descriptive prose, FLUX-style. The VLM-encoded prompt path wants sentences.
  • width / height - 128–2048; the 4MP ceiling is there if you need it.
  • referenceImages - an IMAGE socket for multi-image conditioning. This is the FLUX.2 feature that earned the hype: wire in up to several reference images and the model does editing/consistency work in one pass.
  • CFGScale - direct FLOAT here (3.5 default, 1–20), no toggle. The guidance-distilled guidance: past ~5 you're not adding adherence, you're baking the image.
  • steps - 28 default; this is not a 4-step turbo model, so don't expect to slam it to 4 and keep quality.
  • acceleration - an optimization-level dropdown for speed/quality tradeoff when you're iterating.
  • scheduler - full list, (default) is fine for almost everyone.
  • numberResults (1–20), watermark / acceleratorOptions / lora sockets, and the standard outputFormat / outputQuality / safety set.

The image output plugs straight into Preview or Save, and the title bar reports your per-run cost.

Where people get burned

  • Treating it like a turbo model. Klein base is not step-distilled; dropping to 4 steps gives you mush and then people post "Klein is broken." Use the defaults, or the acceleration dropdown for speed.
  • Cranking CFG - guidance is baked in. 3.5 default; the narrow useful range above is small. The one case a small nudge (1.2–1.5) is worth it is anatomy fixes on the distilled sibling, not this base tier.
  • License - unlike dev-tier FLUX, Klein is Apache 2.0, so commercial work is actually on the table here. That's a real reason to prefer it over the FLUX.1 dev custom node for client work.

The cold truth: by the time Klein landed, the community's center of gravity had already moved to Z-Image and Qwen-Image. But for FLUX 2's specific strengths - that 4MP output, the reference-image editing - this is the sane, no-hardware way to actually use it.

CategoryRunware/Image/runware

Inputs (27)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
widthINT1024128–2048Width of the generated media in pixels.
heightINT1024128–2048Height of the generated media in pixels.
referenceImagesoptIMAGE
loraoptRUNWARE_LORA
acceleratorOptionsoptRUNWARE_ACCELERATOROPTIONS
advancedFeatures.watermark.imageoptIMAGE
negativePromptoptSTRINGPrompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1).
seedoptINT00–9223372036854776000Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
stepsoptINT281–50Total number of denoising steps. Higher values generally produce more detailed results but take longer.
scheduleroptCOMBO(default)Scheduler to use for the diffusion process.
CFGScaleoptFLOAT3.501–20Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt.
numberResultsoptINT11–20Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
accelerationoptCOMBO(default)Optimization level.
advancedFeaturesoptBOOLEANfalseEnable to set advancedFeatures. Off uses the model's default.
advancedFeatures.watermark.bgColoroptSTRINGBackground color in hex format.
advancedFeatures.watermark.displayPositionoptCOMBO(default)Watermark position.
advancedFeatures.watermark.fontColoroptSTRINGText color in hex format.
advancedFeatures.watermark.opacityoptBOOLEANfalseEnable to set advancedFeatures.watermark.opacity. Off uses the model's default.
advancedFeatures.watermark.opacity_valueoptFLOAT0.100.1–1Watermark opacity.
advancedFeatures.watermark.textoptSTRINGWatermark text.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOJPGFile format for the generated image.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
imageIMAGE