FLUX 1.1 [ultra]
Text in, magazine cover out
- image_prompt
- IMAGE
This is the node you reach for when you want the best image Black Forest Labs can produce and you don't want to babysit a dozen parameters to get it. FLUX 1.1 [ultra] has no steps slider, no guidance dial, no width and height boxes. You type a sentence, hit run, and a minute or two later you get back something that looks like it cost a magazine's art budget. That's the whole pitch, and it's genuinely rare in a tool built around knobs.
What it actually is
It's a thin wrapper around BFL's hosted v1/flux-pro-1.1-ultra endpoint, part of the official bfl-comfy-nodes pack. Ultra is the top tier of the FLUX 1.1 line - the one that never ships as open weights, only as an API call. Everything heavy happens on BFL's servers, which is why this node is so small: it has no model files and no GPU appetite. Your graphics card sits there doing nothing while you pay per image instead.
Mechanically it's the same as every node in the pack. It JSON-encodes your inputs, POSTs them to api.bfl.ml (or api.us1.bfl.ai if you pick the US1 region) with your key in the x-key header, gets back a task id, then polls the result endpoint every ten seconds until the image is ready. Then it downloads the PNG, decodes it into a float32 RGBA tensor in the 0–1 range, and hands you a standard ComfyUI IMAGE. Nothing exotic - which is exactly why it works.
The inputs that matter
Only prompt is required, and that's the point. The few optional ones worth touching:
- aspect_ratio (default
"1:1") - this replaces the width/height boxes the pro nodes have. Set it to"16:9"or"9:16"and the server handles resolution. - raw (default off) - turns off BFL's extra post-processing for a more natural, less airbrushed look. Toggle it if faces come back too polished.
- image_prompt + image_prompt_strength (0–1, default 0.5) - feed an existing image and it remixes it; strength controls how much of the source survives.
- seed - for reproducibility, though the API doesn't guarantee identical results across runs the way a local sampler does.
- safety_tolerance (1–5, default 5) - the moderation dial, on the more permissive end here.
- output_format (
pngdefault,jpegif you want smaller bytes).
The single output is IMAGE, which wires straight into Save Image, Preview Image, or any downstream node.
Install and the API key
Install once for the whole pack: in ComfyUI Manager search "Black Forest Labs API Nodes", or
cd ComfyUI/custom_nodes
git clone https://github.com/black-forest-labs/bfl-comfy-nodes
restart ComfyUI, then give it your key from api.bfl.ml one of two ways:
export BFL_API_KEY=your_key_here
or drop the key into a bfl_api_key.txt file in the pack's folder. There's also an api_key_override field on the node if you'd rather keep it per-workflow.
Where people get burned
The node can't run without a key - you'll get "No Black Forest Labs API key set" if you skip the step. The key costs money: every generation spends credits, so budget a few test images before you build a workflow around it. Long or heavy requests can also hit the 240-second poll timeout, and BFL's moderation will occasionally reject a prompt ("Request Moderated" / "Content Moderated") - that's the API, not a bug in the node. If you need finer control over steps and guidance, drop one of the pro nodes in instead; ultra is deliberately a black box.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| image_promptopt | IMAGE | — | |
| aspect_ratioopt | STRING | 1:1 | — |
| rawopt | BOOLEAN | false | — |
| safety_toleranceopt | INT | 51–5 | — |
| seedopt | INT | 00–4294967294 | — |
| image_prompt_strengthopt | FLOAT | 0.500–1 | — |
| output_formatopt | STRING | png | — |
| api_key_overrideopt | STRING | — | |
| regionopt | COMBO | EU1 | 2 options: EU1, US1 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |