PVL Flux.2 Flex (fal.ai)
The faster, cheaper way to use Flux 2 without local VRAM
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_8
- IMAGE
Flux 2 Flex is fal's lighter-on-the-infrastructure take on the Flux 2 family - the one you reach for when you want the Flux 2 look and edit capabilities without waiting on (or paying for) the full pipeline every time. The node runs it entirely on fal.ai, so the only thing your machine has to do is send an image and receive the result. If you've been eyeing Flux 2 but balking at the 18–24 GB local footprint, this is the low-friction on-ramp.
It's part of the ComfyUI Assistant Node pack from pvlprk, and mechanically it's a cousin of the pack's Flux 2 Dev node: image goes out as a base64 data URI, the call goes to fal's queue API, and the result comes back as a regular ComfyUI IMAGE tensor you can keep processing locally.
How it works
Like the Dev node, it auto-selects the endpoint based on what you feed it: a bare prompt hits fal-ai/flux-2-flex, and connecting any of the up-to-8 image inputs switches it to fal-ai/flux-2-flex/edit. That means one node does both text-to-image and image editing, and the mode is decided by your wires rather than by swapping nodes. Multiple prompts can be split on the delimiter (default [++]) and fanned out into parallel calls.
The Flex personality shows in the controls: there's no separate steps field in the main set - the sampler knobs are num_inference_steps (default 28) and guidance_scale (default 3.5) - and the safety side is dialed with safety_tolerance (1–5, default 2) alongside the enable_safety_checker toggle. enable_prompt_expansion lets fal's rewriter expand short prompts before generation.
The inputs that matter
prompt- your generation or edit instruction.image_size- preset ratios plusauto(only meaningful for the edit endpoint) andcustom, which unlockswidth/height(512–2048).guidance_scale/num_inference_steps- the two knobs that actually shape the output. Defaults are sensible; move one at a time.safety_tolerance- how much of fal's filter you accept. Higher = looser.retries/timeout_sec/debug_log- the pack's standard reliability controls.debug_logis worth switching on the first time so you can see the endpoint and request in the console.
Output: one IMAGE.
Installing it
Part of pvlprk/comfyui-pvl-api-nodes. ComfyUI Manager (search "ComfyUI Assistant Node") or:
cd ComfyUI/custom_nodes
git clone https://github.com/pvlprk/comfyui-pvl-api-nodes
Then set your fal.ai key as FAL_KEY (the code also reads FAL_API_KEY / FAL_CLIENT_KEY), restart ComfyUI, and top up fal credits.
Where people get burned
The usual FAL_KEY-and-console checks apply. The Flex-specific gotcha is expectations: Flex is the speed-optimized tier, so don't compare it side-by-side against Pro at 100% zoom and demand parity - it's the iteration-friendly option. And since each generation is a billable call, use num_images and the prompt-splitting delimiter to batch instead of firing the node repeatedly. If a run returns a blank placeholder image, that's an error wearing a disguise - the console has the real story.
Inputs (24)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| image_size | COMBO | custom | 7 options: 1:1, 3:4, 9:16, 4:3, 16:9, auto, +1 |
| width | INT | 1024512–2048 | — |
| height | INT | 1024512–2048 | — |
| enable_prompt_expansion | BOOLEAN | false | — |
| safety_tolerance | INT | 21–5 | — |
| enable_safety_checker | BOOLEAN | false | — |
| seed | INT | -1-1–4294967295 | — |
| num_images | INT | 11–8 | — |
| output_format | COMBO | png | 2 options: jpg, png |
| guidance_scale | FLOAT | 3.50–20 | — |
| num_inference_steps | INT | 281–100 | — |
| retries | INT | 20–10 | — |
| timeout_sec | INT | 305–600 | — |
| debug_log | BOOLEAN | false | — |
| delimiteropt | STRING | [++] | — |
| image_1opt | IMAGE | — | |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — | |
| image_5opt | IMAGE | — | |
| image_6opt | IMAGE | — | |
| image_7opt | IMAGE | — | |
| image_8opt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |