FLUX.2 [pro]
The Flagship, Where Everything Is Decided For You
- referenceImages
- advancedFeatures.watermark.image
- image
FLUX.2 [pro] is the model at the top of Black Forest Labs' current line, and the node's widget list is the tell: it's the most stripped-down image node in this pack. No steps, no scheduler, no CFG, no upsampling toggle - just prompt, dimensions, seed, and count. The pro tier is where BFL decided the model is good enough that your sampling knobs would only hurt, so the node gives you the settings that matter and keeps the rest server-side.
That's the right call, by the way. The pro tier is the hosted quality ceiling of the FLUX.2 family - the same line that produces the reference-based editing the open ecosystem was so impressed by - and most people were never going to improve on BFL's tuned defaults. You reach for this node when quality is the requirement and the cost per generation is acceptable. It's the "hero shot" node of the pack.
What you set
Required: positivePrompt, width, height (256–2048, stepped by 16). Then:
- referenceImages - the reference-based editing socket. This is where FLUX.2 earns its reputation: single-reference edits (restyle this subject, change this scene) work remarkably well from just one image.
- providerSettings.bfl.safetyTolerance - 0–5 moderation tolerance, default 2. It's the one knob besides prompt/dimensions that genuinely matters, because BFL moderation is strict and this is the hosted-pro escape hatch for borderline-but-legit content.
- seed - reproducibility (default 0 = random).
- numberResults - up to 20 variations.
That's the whole list. Output is one image, wired into Preview Image or Save Image like any other generator.
Pro vs the rest of the family
The FLUX.2 line is a ladder, and pro is the top rung: [pro] is the highest quality, [flex] is the cheap-and-fast tier, and klein is the open-weights family (with the non-commercial license on the 9B). If you're comparing them from ComfyUI, the question is cost per shot and what you need it for. Iterating → flex. Editing or quick drafts → klein. A deliverable where quality is the point → pro. The node even skips promptUpsampling, which the flex and Kontext-pro nodes have - at this tier BFL just doesn't think your prompt needs the help, and mostly it doesn't.
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" from ComfyUI Manager, and set your Runware API key (Settings → Runware API key or RUNWARE_API_KEY). No weights download - pro is a hosted product by definition, which is also why the licensing worries that follow the open weights never touch this node. The one real gotcha is cost: pro is the most expensive tier in the line and the node prints the bill on its title bar, so keep numberResults honest while you're iterating.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| width | INT | 1024256–2048 | Width of the generated media in pixels. |
| height | INT | 1024256–2048 | Height of the generated media in pixels. |
| referenceImagesopt | IMAGE | — | |
| advancedFeatures.watermark.imageopt | IMAGE | — | |
| seedopt | INT | 00–9223372036854776000 | Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range. |
| numberResultsopt | INT | 11–20 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| 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. |
| providerSettings.bfl.safetyToleranceopt | INT | 20–5 | Tolerance level for content moderation. Lower values are stricter; higher values are more permissive. |
| 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 | — |