Nodes/ComfyUI Flux 1.1 Ultra & Raw Node/Flux Pro 1.1 Ultra & Raw with Finetuning
ComfyUI Node

Flux Pro 1.1 Ultra & Raw with Finetuning

The Flux 1.1 Pro node that skips your GPU (and trains in the cloud while you sleep)

By ShmuelRonen·Created 2 years ago·Updated 12 months ago· 58
Flux Pro 1.1 Ultra & Raw with Finetuning
    • IMAGE
    • STRING
    modegenerate
    prompt
    ultra_modetrue
    aspect_ratio16:9
    safety_tolerance6
    output_formatpng
    rawfalse
    seed-1
    finetune_zip
    finetune_comment
    finetune_id
    trigger_wordTOK
    finetune_modegeneral
    iterations300
    learning_rate0.0000
    captioningtrue
    priorityquality
    finetune_typefull
    lora_rank32
    finetune_strength1.20

    What it actually is

    This node doesn't generate anything locally. FluxPro11WithFinetune - displayed as "Flux Pro 1.1 Ultra & Raw with Finetuning" - is a remote control for Black Forest Labs' hosted FLUX 1.1 Pro API: you type a prompt, it ships it to BFL's servers, polls until the job's done, and hands back an image tensor. No 12B stack crammed into VRAM, no checkpoints to download, no sampler math. Just an API key and roughly $0.06 per image in Ultra mode.

    That's deliberate, by the way. FLUX.1 Pro is the tier of the BFL ladder that has never shipped as weights - Schnell is open, Dev is non-commercial, and the best model stays API-only. So if you want 1.1 Pro quality and don't own a 4090+, this is one of the few honest ways to reach it from inside ComfyUI; if you do own one, it's how you get the ceiling instead of the local approximation.

    Three modes, one node

    The mode dropdown is the whole skeleton:

    • generate - text-to-image with 1.1 Pro, regular or Ultra.
    • finetune - trains a custom model on BFL's servers from a zip of your images.
    • inference - generates with a model you've already trained.

    Mechanically it's a thin API client. In generate mode it POSTs to api.bfl.ml (/v1/flux-pro-1.1-ultra when ultra_mode is on, otherwise /v1/flux-pro-1.1), then polls the result endpoint every 5 seconds up to ten times and decodes what comes back. Regular mode converts your aspect ratio into pixel dimensions (16:9 becomes 1408×800); Ultra sends the ratio straight through and tops out around 4MP. The IMAGE output feeds straight into a Preview Image or Save Image node; the STRING output carries the model ID when you train. A wrapper, not a pipeline - and it knows it.

    The inputs that matter

    • prompt - multiline text. Write it like a photographer would; Flux's natural-language understanding is the whole reason people use it.
    • ultra_mode (default on) - 4MP output versus ~1.4MP regular. There's a real reason to leave it on: Raw is Ultra-only.
    • raw - drops the aesthetic polish for a more natural, photographic look - the "subtract the polish" school of realism. The main reason 1.1 Pro is worth paying for if photorealism is your thing.
    • aspect_ratio - the usual seven, from 21:9 down to 9:21.
    • safety_tolerance (0–6, default 6) - BFL's content filter. Counterintuitive scale: 0 is most strict, 6 is least, and most people park it at 6.
    • seed (optional, -1 = random) - reproducibility when you need it.

    Training your own model

    Set mode to finetune, point finetune_zip at a zip of 5–20 decent images (optionally with .txt caption files alongside), give finetune_comment a real description - it's required - and pick finetune_mode from character / product / style / general. Defaults are sane: trigger word TOK, 300 iterations, 1e-5 learning_rate, auto-captioning on, and full-model training unless you'd rather set lora_rank 32 for a LoRA. Training is a flat $2–$6 depending on length, and the node hands the finished model's ID back on the STRING output. Keep that ID. Switch to inference, paste it into finetune_id, include TOK in your prompt, and dial finetune_strength: 0.8–1.0 is subtle, 1.2–1.5 the sweet spot, 1.6–2.0 strong but artifact-prone.

    Installing

    Use ComfyUI Manager and search for "ComfyUI Flux 1.1 Ultra & Raw Node", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API
    

    No model downloads and no heavy Python deps - the node only needs requests, Pillow, numpy and torch, all of which ComfyUI ships anyway. The one real setup step is an API key. Generate one in the BFL portal, then put it in config.ini next to the node's Python files:

    [API]
    X_KEY=your_actual_api_key_here
    BASE_URL=https://api.bfl.ml
    

    Restart ComfyUI and the node appears under the BFL category.

    Where people get burned

    • The silent black image. Almost any failure returns a blank 512×512 black image instead of raising an error, so if you get a black square, read the console log - the error is in there.
    • "Config file not found." The node searches the node folder, then ComfyUI/config.ini, then the working directory. Missing [API] section, missing X_KEY, or stray spaces around the key all trip it.
    • 401 / 429 / 500. Invalid or expired key, rate limit (wait and retry), or BFL's servers grumbling (wait longer); the node's retry logic absorbs the transient ones.
    • You can't stack finetunes. Community threads on this exact node keep hitting the same wall: you can't combine multiple finetuned models in one generation, and a LoRA trained through the API can't be downloaded as a .safetensors - it lives on BFL's servers. Fine for one character or product, not a path to a multi-LoRA realism stack.
    • It's a closed API. BFL can reprice or change the filter overnight - the whole reason the local crowd exists. Use it as a tool, not as a dependency to build a business on without reading the terms.

    Honest verdict: this is a niche utility - a couple dozen impressions and a handful of threads, mostly people working out the finetune flow. For occasional 1.1 Pro quality without big hardware, it does exactly that. As a main pipeline, think hard about the lock-in first.

    CategoryBFL

    Inputs (20)

    NameTypeDefaultDescription
    modeCOMBOgenerate3 options: generate, finetune, inference
    promptSTRING
    ultra_modeBOOLEANtrue
    aspect_ratioCOMBO16:97 options: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, +1
    safety_toleranceINT60–6
    output_formatCOMBOpng2 options: jpeg, png
    rawBOOLEANfalse
    seedoptINT-1
    finetune_zipoptSTRING
    finetune_commentoptSTRING
    finetune_idoptSTRING
    trigger_wordoptSTRINGTOK
    finetune_modeoptCOMBOgeneral4 options: character, product, style, general
    iterationsoptINT300
    learning_rateoptFLOAT0.00000.00001–0.0001
    captioningoptBOOLEANtrue
    priorityoptCOMBOquality2 options: speed, quality
    finetune_typeoptCOMBOfull2 options: full, lora
    lora_rankoptINT32
    finetune_strengthoptFLOAT1.20

    Outputs (2)

    NameTypeDescription
    IMAGEIMAGE
    STRINGSTRING