ComfyUI Node

FLUX.2 [flex]

The Cheap, Fast Tier of the New Flux

By Runware·Created 2 years ago·Updated about a month ago· 140
FLUX.2 [flex]
  • referenceImages
  • advancedFeatures.watermark.image
  • image
positivePrompt
width1024
height1024
seed0
stepsfalse
steps_value1
CFGScale2.50
numberResults1
advancedFeaturesfalse
advancedFeatures.watermark.bgColor
advancedFeatures.watermark.displayPosition(default)
advancedFeatures.watermark.fontColor
advancedFeatures.watermark.opacityfalse
advancedFeatures.watermark.opacity_value0.10
advancedFeatures.watermark.text
providerSettings.bfl.promptUpsamplingfalse
safetyfalse
safety.checkContentfalse
providerSettings.bfl.safetyTolerance2
ttlfalse
ttl_value60
outputFormatJPG
outputQuality95

FLUX.2 is Black Forest Labs' second act, and [flex] is its value tier - the answer to "I want the new Flux quality without the flagship price tag or the GPU to run the 32B dev model." Like the whole FLUX.2 line, it does text-to-image and reference-based editing in one model. Unlike the open dev tier, flex is a hosted product with no weights to speak of, which is why this Runware node is the straightforward way in: prompt it, and a native IMAGE comes back from BFL's cloud.

The thing to know about flex is what it trades away. It's the distilled, fast, budget flavor - cheaper per generation and quicker to render, at a modest quality cost versus the pro tier. If you're doing high-volume iteration, sketching concepts, or A/B testing prompts, that's flex's whole reason to exist. The node even exposes a narrower CFG range (1.5–5, default 2.5) because the flex model lives in the low-guidance, flow-matching world where cranking CFG just overcooks things.

What you set

Required: positivePrompt, width, height (256–2048, stepped by 16). Then:

  • referenceImages - for the single-reference editing FLUX.2 is known for. This is the feature that separates the line from plain txt2img.
  • steps - a toggle (flip it on) with steps_value; off means the model's default. Distilled models like this one are happiest at few steps, so don't fight it.
  • CFGScale - plain float, 1.5–5, default 2.5. Low and happy.
  • providerSettings.bfl.promptUpsampling - BFL's automatic prompt expansion. Flip it on for a quality lift on weak prompts.
  • providerSettings.bfl.safetyTolerance - 0–5 moderation tolerance, default 2. The dial you reach for when a legit prompt gets refused.

Output is one image. The usual output plumbing (outputFormat, outputQuality, numberResults up to 20) is there.

How it fits

Think of flex as your volume tier in a multi-tier setup: generate variations cheaply on flex, then promote the winners to the pro tier or a local edit pass for the hero shot. Because it's a cloud node there's no VRAM floor - flex at 2048px just works where a local FLUX.2 would need a serious card. If you've ever burned an hour tiling a local upscale, flex at native resolution is a genuinely nicer workflow.

Install

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

Restart, or install "Runware" via ComfyUI Manager; API key in Settings → Runware API key or RUNWARE_API_KEY. Every run bills the account - the title bar shows cost - and that's the one gotcha that matters: flex is the cheap tier, not the free tier, and numberResults of 20 is still twenty billed generations in a single queue.

CategoryRunware/Image/bfl

Inputs (25)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
widthINT1024256–2048Width of the generated media in pixels.
heightINT1024256–2048Height of the generated media in pixels.
referenceImagesoptIMAGE
advancedFeatures.watermark.imageoptIMAGE
seedoptINT00–9223372036854776000Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
stepsoptBOOLEANfalseEnable to set steps. Off uses the model's default.
steps_valueoptINT11–50Total number of denoising steps. Higher values generally produce more detailed results but take longer.
CFGScaleoptFLOAT2.501.5–5Guidance 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.
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.
providerSettings.bfl.promptUpsamplingoptBOOLEANfalseEnable automatic enhancement and expansion of the input prompt.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
providerSettings.bfl.safetyToleranceoptINT20–5Tolerance level for content moderation. Lower values are stricter; higher values are more permissive.
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