FLUX.1 [dev] (custom model)
FLUX.1 [dev] and every FLUX.1 fine-tune, without the 24GB download
- seedImage
- maskImage
- outpaint
- lora
- controlNet
- ipAdapters
- pulid
- ultralytics
- acceleratorOptions
- advancedFeatures.watermark.image
- image
FLUX.1 is the model that made the community say "this is what SD3 should have been." Built by the researchers who left Stability to found Black Forest Labs, it shipped with the T5 text encoder that made natural-language prompting finally work - anatomy that wasn't cursed, hands that had the right number of fingers, text that rendered. The problem was always the price of admission: a 12B stack that needs serious VRAM even after fp8 and GGUF squeezing.
This node removes the hardware problem entirely because the model runs on Runware's cloud. And like the Z-Image custom node in the same pack, it's an architecture node: RunwareArch_flux_1_dev runs any FLUX.1 checkpoint from the Runware catalog, chosen by AIR in the model field (default runware:101@1). That's the sleeper feature - you're not just getting dev, you're getting a switchable harness for every FLUX.1 fine-tune they host.
What FLUX.1 dev is, honestly
One licensing note before you build on it: dev is BFL's non-commercial tier. It also carries an embedded-censorship T5 that refuses certain prompts - the thing the community has complained about since launch. Fine for personal work and research; check the license before you ship a product on it. The API route doesn't change the model's terms, it just means you don't host it.
Inputs that matter
- model (required) - the AIR, search button included. Swap to a fine-tune and re-queue.
- positivePrompt - with a T5 encoder, write sentences, not tags. "A foggy forest path at dawn, an old stone cottage in the distance" beats "fog, forest, cottage, cinematic."
- width / height - 128–2048, stepped by 64 (FLUX's native-1024 alignment).
- seedImage / maskImage - img2img and inpainting, with
strengthandmaskMarginto control how much the source bleeds in. - controlNet / ipAdapters / pulid / lora - the full stack of builder sockets, which is where this gets interesting: FLUX ControlNet and IP-Adapter support was a long time coming locally, and here they're just sockets.
- CFGScale / trueCFGScale - toggle-gated. FLUX dev is guidance-distilled: the negative prompt is ignored at CFG ≤ 1, and dev's sweet spot is around 3.5. Don't chase CFG 7.
- layerDiffuse - flip it for transparent-PNG generation (LayerDiffuse), a surprisingly useful checkbox.
- promptWeighting -
sdEmbedsif you want(word:1.2)-style weighting syntax. - advanced_json - the escape hatch; tooltip says it's there for
hiresFix.
The image output is a native IMAGE, straight into Preview/Save. Each run reports cost on the title bar.
The gotchas that keep coming up
- Non-commercial, period. Dev's license follows the weights regardless of who runs them. If that's a problem, the base FLUX.1 arch also has an Apache-2.0 path (Schnell), and the catalog has FLUX-derivatives with friendlier terms.
- Natural language, not tag soup. People port SDXL prompting habits and wonder why FLUX ignores them. T5 wants prose.
- Toggle-gated CFG/steps - enable the gate, then set the value. Off means model default, and for dev the defaults are genuinely well-tuned.
- VRAM anxiety is gone, latency isn't. It's fast, but it's a network round-trip, not an instant local render. Queue is the workflow, not real-time.
If you already run FLUX locally, this node is for the fine-tune-hunting and the machines you don't own. If you don't, it's the least-painful way to finally use the model everyone kept telling you about.
Inputs (44)
| Name | Type | Default | Description |
|---|---|---|---|
| model | STRING | runware:101@1 | AIR of any checkpoint of this architecture. Use the search button to browse the catalog. |
| 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. |
| seedImageopt | IMAGE | — | |
| maskImageopt | IMAGE | — | |
| outpaintopt | RUNWARE_OUTPAINT | — | |
| loraopt | RUNWARE_LORA | — | |
| controlNetopt | RUNWARE_CONTROLNET | — | |
| ipAdaptersopt | RUNWARE_IPADAPTERS | — | |
| pulidopt | RUNWARE_PULID | — | |
| ultralyticsopt | RUNWARE_ULTRALYTICS | — | |
| 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 | BOOLEAN | false | Enable to set steps. Off uses the model's default. |
| steps_valueopt | INT | 11–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 | BOOLEAN | false | Enable to set CFGScale. Off uses the model's default. |
| CFGScale_valueopt | FLOAT | 0.000–20 | Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt. |
| trueCFGScaleopt | BOOLEAN | false | Enable to set trueCFGScale. Off uses the model's default. |
| trueCFGScale_valueopt | FLOAT | 0.00 | True Classifier-Free Guidance scale. Higher values increase prompt adherence at the cost of quality. |
| strengthopt | BOOLEAN | false | Enable to set strength. This setting has usage rules in this model, so it is off unless you enable it. |
| strength_valueopt | FLOAT | 0.800–1 | Strength of the transformation. Lower values result in more influence from the original input. |
| maskMarginopt | BOOLEAN | false | Enable to set maskMargin. Off uses the model's default. |
| maskMargin_valueopt | INT | 3232–128 | Extra context pixels around the masked region during inpainting. The model zooms into the masked area with these additional pixels for better integration. |
| promptWeightingopt | COMBO | (default) | Syntax used for prompt weighting. |
| numberResultsopt | INT | 11–20 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| layerDiffuseopt | BOOLEAN | false | LayerDiffuse for transparent image generation. |
| 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. |
| advanced_jsonopt | STRING | Optional JSON merged into the request. For: hiresFix |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |