Nodes/comfyui-byokey/BYOKey Flux (BFL)
ComfyUI Node

BYOKey Flux (BFL)

Flux Pro 1.1 Ultra via the BFL API, no Comfy credits required

By MeteorAndy·Created 4 months ago·Updated 3 months ago· 0
BYOKey Flux (BFL)
  • image_prompt
  • output_image
api_key
base_urlhttps://api.bfl.ml/v1
prompt
prompt_upsamplingfalse
seed0
aspect_ratio16:9
rawfalse
image_prompt_strength0.10
poll_interval3
max_wait300

You can run Flux locally - the open weights are the reason it's everywhere in this ecosystem - but the frontier versions, Flux Pro 1.1 and its Ultra variant, are closed and only exist behind Black Forest Labs' API. BYOKey_Flux is the node that calls that API with your own BFL key (sent as the x-key header) and drops the result into your graph as a normal IMAGE. Same shape as the official Flux node, no Comfy proxy, no prepaid credits.

So when do you actually want this instead of a local Flux checkpoint? When you want the current hosted frontier - Ultra's detail, its prompt adherence, the version you can't download - without leaving ComfyUI. Or when you're on a machine too weak to run even the local Flux, in which case this is your Flux door. The KB's framing applies cleanly here: local for the model you can run, API for the model you can't.

How it works

BFL's image API is a submit-and-poll flow, and the node handles both halves: it POSTs your job, then polls the status endpoint every poll_interval seconds until the image is ready, with a max_wait ceiling so it errors instead of hanging forever. The finished image downloads and comes back as an IMAGE tensor. This is also why the node blocks for a while - it's waiting on BFL's queue, not thinking locally.

The inputs that matter

  • prompt + aspect_ratio - the generation request. Aspect ratios run 1:4 to 4:1, defaulting to 16:9.
  • prompt_upsampling - a boolean that has BFL auto-expand your prompt for more creative output. The tooltip is explicit: with it on, results are nondeterministic even with the same seed. Good for exploration, bad if you need consistency.
  • raw - when true, you get less processed, more natural-looking images instead of the polished default look. This is the setting that tells BFL "skip the fancy finishing."
  • seed - a real seed up to ~1.8e19; unlike some other BYOKey nodes this one is genuinely honored by the backend (as long as prompt_upsampling stays off).
  • image_prompt + image_prompt_strength - optional reference-image conditioning, blending between your prompt and the image (default strength 0.1).
  • poll_interval (default 3s) and max_wait (default 300s) - the polling knobs. If Flux Pro's queue is long, raise max_wait.

Output is output_image (IMAGE) - feed it to a preview, an upscaler, an image-to-video node, anything.

Installing it

It's one node in the 37-node comfyui-byokey pack, which has no extra dependencies beyond ComfyUI's bundled torch/aiohttp/PIL/numpy/av. Install via ComfyUI Manager (search "byokey") or:

cd ComfyUI/custom_nodes
git clone https://github.com/MeteorAndy/comfyui-byokey.git

Restart, and it's under api/byokey/image. No model files download; BFL does all the compute.

Gotchas

The two things that bite people: cost and timeouts. Ultra isn't cheap per image and you're billed per successful render, so the raw/prompt_upsampling experiments add up. And because the node waits synchronously, a busy BFL queue can blow past max_wait - if you see timeout errors during peak hours, that's your cue to raise it (up to 1800s). The pack-standard security note also applies: your key is stored in the widget and saved into the workflow JSON, so scrub it before sharing workflows, and remember this "paste your key" node category has a malware history - read the source if you're cautious; it's open and short. If you want the hosted frontier Flux inside your workflow, this is the cleanest route.

Categoryapi/byokey/image

Inputs (11)

NameTypeDefaultDescription
api_keySTRINGYour Black Forest Labs API key (sent as the 'x-key' header).
base_urlSTRINGhttps://api.bfl.ml/v1BFL API base URL. Default is the real vendor host; override for a relay/proxy.
promptSTRINGPrompt for the image generation
prompt_upsamplingBOOLEANfalseWhether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation, but results are nondeterministic (same seed will not produce exactly the same result).
seedINT00–18446744073709550000The random seed used for creating the noise.
aspect_ratioSTRING16:9Aspect ratio of image; must be between 1:4 and 4:1.
rawBOOLEANfalseWhen True, generate less processed, more natural-looking images.
image_promptoptIMAGEOptional reference image to guide generation.
image_prompt_strengthoptFLOAT0.100–1Blend between the prompt and the image prompt.
poll_intervaloptINT31–60Seconds between status polls.
max_waitoptINT30030–1800Maximum seconds to wait for the image before timing out.

Outputs (1)

NameTypeDescription
output_imageIMAGE