Nodes/Bjornulf_custom_nodes/โ˜๐ŸŽจ API Image Generator (Black Forest Labs - Flux) ๐ŸŽจโ˜
ComfyUI Node

โ˜๐ŸŽจ API Image Generator (Black Forest Labs - Flux) ๐ŸŽจโ˜

The only way to touch Flux Pro/Ultra locally

By justUmenยทCreated 2 years agoยทUpdated about a year agoยท 545
โ˜๐ŸŽจ API Image Generator (Black Forest Labs - Flux) ๐ŸŽจโ˜
    • IMAGE
    โ—„api_key1ae1f1cc-de28-4682-bc4c-6ac2fdff79ccโ–บ
    โ—„promptA beautiful landscapeโ–บ
    โ—„modelflux-pro-1.1-ultraโ–บ
    โ—„aspect_ratio16:9โ–บ
    โ—„width2752โ–บ
    โ—„height1536โ–บ
    โ—„output_formatpngโ–บ
    โ—„seed0โ–บ
    โ—„safety_tolerance6โ–บ
    โ—„rawfalseโ–บ
    โ—„image_prompt_strength0.10โ–บ
    โ—„steps50โ–บ
    โ—„guidance2.5โ–บ
    โ—„prompt_upsamplingfalseโ–บ

    There's a reason this node exists instead of just loading a Flux Pro checkpoint locally: you can't. Black Forest Labs ships Flux in tiers - Schnell is fully open (Apache 2.0), Dev is downloadable but non-commercial, and Pro - including the Ultra variant - has never been released as weights at all. It's API-only, full stop. If you want Flux Pro or Flux Pro Ultra in a ComfyUI graph, an API call to BFL is the only path that exists, and this node is that call.

    How it works

    Point it at your own BFL API key (the pack ships with a placeholder value in the field by default - replace it with a real key from bfl.ai, don't leave the shipped default in place), pick a model (flux-pro-1.1-ultra is the default, with flux-pro-1.1, flux-pro, and flux-dev also available), write a prompt, and the node handles the request over the network. Since Dev is separately available as local weights, running it through this node instead of a local checkpoint means you're paying BFL's per-call API price for something you could otherwise run for the cost of your own GPU time - worth knowing which tier you're actually calling before you queue a big batch.

    Sizing is controlled two ways at once: aspect_ratio (16:9 default, plus 1:1, 4:3, 3:2, 21:9, 9:21) and explicit width/height up to 2752ร—1536. A few of the optional fields are Ultra-specific behavior worth understanding rather than guessing at: raw (default off) requests a less processed, more photograph-like output instead of the tier's default polish, and safety_tolerance (0โ€“6, default 6) controls how permissive BFL's own content filtering is on the response - this is BFL's server-side policy, not something local to the node, so cranking it up doesn't bypass anything the node itself controls. image_prompt_strength only matters if you're feeding a reference image for image-to-image style guidance.

    The inputs and outputs that matter

    • api_key (required) - your own BFL key. Get one at bfl.ai; the pack's default is a placeholder, not a working credential.
    • model - which Flux tier: flux-pro-1.1-ultra, flux-pro-1.1, flux-pro, or flux-dev.
    • prompt (multiline) - what to generate.
    • aspect_ratio, width, height - sizing controls; aspect ratio picks the shape, width/height cap the resolution.
    • seed, steps (15โ€“50), guidance (1โ€“100, default 2.5) - the standard reproducibility and generation-quality knobs, optional.
    • raw and safety_tolerance - Ultra-tier output style and BFL's own content-filter strictness.
    • Output - a single IMAGE.

    How to install it

    ComfyUI Manager โ†’ search Bjornulf_custom_nodes โ†’ install โ†’ restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/justUmen/Bjornulf_custom_nodes
    pip install -r Bjornulf_custom_nodes/requirements.txt
    

    No exotic Python dependency beyond standard HTTP handling - the real requirement is a funded BFL account and a valid API key, which is separate from anything pip install fixes.

    Common issues & troubleshooting

    Authentication fails immediately. Check that you actually replaced the shipped placeholder api_key with your own real key from bfl.ai - running the node with the default value in place is the single most likely cause of an auth error.

    I'm getting billed and wasn't expecting to be. Flux Pro and Ultra are API-only by BFL's own licensing design - there's no free local alternative for those tiers, so any use of this node against flux-pro* models is billed by BFL directly, on top of whatever you're already paying for GPU compute elsewhere. If you want a free local option, flux-dev is separately downloadable and runnable without this node at all - use a standard checkpoint loader instead.

    safety_tolerance at max still filtered my output. That setting reflects BFL's own server-side content policy for the request, not a local toggle this node can override beyond what the API itself allows - Dev tier in particular ships with content filtering embedded at the encoder level, and BFL's licensing treats NSFW output as an enforcement matter, not a setting.

    Results look flatter or more "AI" than expected on Ultra. Try toggling raw on - it's specifically meant to pull back some of Ultra's default processed look toward something closer to an unedited photograph.

    CategoryBFL API

    Inputs (14)

    NameTypeDefaultDescription
    api_keySTRING1ae1f1cc-de28-4682-bc4c-6ac2fdff79ccโ€”
    promptSTRINGA beautiful landscapeโ€”
    modelCOMBOflux-pro-1.1-ultra4 options: flux-pro-1.1-ultra, flux-pro-1.1, flux-pro, flux-dev
    aspect_ratioCOMBO16:96 options: 16:9, 1:1, 4:3, 3:2, 21:9, 9:21
    widthINT2752256โ€“2752โ€”
    heightINT1536256โ€“1536โ€”
    output_formatCOMBOpng2 options: png, jpeg
    seedoptINT00โ€“18446744073709550000โ€”
    safety_toleranceoptINT60โ€“6โ€”
    rawoptBOOLEANfalseโ€”
    image_prompt_strengthoptFLOAT0.100โ€“1โ€”
    stepsoptINT5015โ€“50โ€”
    guidanceoptFLOAT2.51โ€“100โ€”
    prompt_upsamplingoptBOOLEANfalseโ€”

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGEโ€”