Flux Ultra (fal)
Flux 1.1 Pro Ultra in ComfyUI without the weights
- IMAGE
The Flux you run locally is Flux.1 [dev] - the open-weights model. FluxUltra is the other one: Black Forest Labs' closed, hosted Flux 1.1 [pro] Ultra, the top of their paid ladder, reaching it through fal instead of a checkpoint on your drive. Nothing downloads, nothing touches your VRAM. You type a prompt, fal runs it on BFL's endpoint, and an image comes back. You reach for this when you want the pro-tier look - the higher-resolution, cleaner output that the open dev weights don't quite hit - and you'd rather pay per image than not have access at all.
It's part of gokayfem's ComfyUI-fal-API pack (same author as the well-known VLM Nodes), which is basically a giant set of thin wrappers around fal's model catalog. One FAL_KEY and you can call any of them.
How it works
Flux is Black Forest Labs' transformer-based text-to-image family (~12B params, dual CLIP-L + T5-XXL text encoders). The open [dev] weights are distilled and guidance-based; the Pro and Pro Ultra tiers are the undistilled, higher-quality models BFL keeps behind their API. This node is a passthrough to that API: your inputs get packaged into a fal request, the result URL is downloaded, and you get a native ComfyUI IMAGE out the other end.
The inputs and outputs that matter
Only a handful actually move the needle:
prompt- Flux reads natural language well, so write sentences, not a tag soup.aspect_ratio- this is how you set shape, not width/height. Options run21:9through9:21, default16:9.raw(default off) - the one worth knowing about. Ultra's "raw" mode dials back the polished, over-produced AI look toward something more candid and photographic. Flip it on when your outputs feel too glossy.
The rest: safety_tolerance is a 1–6 scale where 1 is strictest and 6 is most permissive; enable_safety_checker toggles the post-gen filter; num_images is capped at 1 on this node; sync_mode controls whether the call blocks; and seed (optional, -1 for random) lets you reproduce a result. Output is a single IMAGE - wire it straight into a Preview or Save node.
How to install it
Via ComfyUI Manager: open the Manager, search ComfyUI-fal-API, install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-fal-API.git
pip install -r ComfyUI-fal-API/requirements.txt
Then restart ComfyUI. There are no model files to download - that's the whole point of an API pack. The only dependency that matters is fal-client, which requirements.txt pulls in.
Before anything runs you need a key. Grab one from fal.ai, then either copy config.ini.example to config.ini inside the pack folder and paste your key under [API], or set export FAL_KEY=your_key. The node lives under the FAL category once ComfyUI restarts.
Common issues & troubleshooting
- Auth errors / "invalid key." No
FAL_KEY, or a typo'd one. Set it, restart, and rememberconfig.iniis gitignored so it won't leak into a commit. - It costs money and you can feel it. Every run is a real fal API call billed to your account - Ultra is one of the pricier endpoints. The pack ships a persistent result cache (an identical prompt+settings call is served free from disk; use
force_rerunto bypass), a spend guard, and a cost estimator precisely because this bills per image. Turn the spend guard on if you're experimenting. - A run fails with a wall of text. Good - the pack surfaces fal's actual error instead of silently returning a blank. It'll usually name the problem: a content-policy rejection, a quota issue, or a bad parameter. Read it before you guess.
- Windows Portable can't find fal-client. Install it into the embedded Python:
python_embeded\python.exe -m pip install fal-client.
One honest note: if your goal is local, free, and unlimited, this isn't it - that's Flux dev. FluxUltra is for when you specifically want BFL's paid top tier and the API is the only door to it.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| aspect_ratio | COMBO | 16:9 | 7 options: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, +1 |
| num_images | INT | 11–1 | — |
| safety_tolerance | COMBO | 2 | 6 options: 1, 2, 3, 4, 5, 6 |
| enable_safety_checker | BOOLEAN | true | — |
| raw | BOOLEAN | false | — |
| sync_mode | BOOLEAN | false | — |
| seedopt | INT | -1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |