Nodes/Protoface/Protoface FLUX.2 Pro · Edit Image
ComfyUI Node

Protoface FLUX.2 Pro · Edit Image

The Editing Model You Can't Run, Wired Into Your Graph

By protoface-ai·Created 22 days ago·Updated 13 days ago· 0
Protoface FLUX.2 Pro · Edit Image
    • image
    • mask
    • files
    • run id
    ◄prompt►
    ◄images▾►
    ◄seed▾►
    ◄size▾►
    ◄generation_id0►
    ◄request_scope►

    FLUX.2 Pro is the hosted tier of Black Forest Labs' image model. There's no file to download - Flux 2 Dev, the open one, needs roughly 53GB across the model and its Mistral encoder, which is why the community's local answer was Klein, not this. Pro is the version you rent.

    Why people actually pay for it

    Because it renders text properly. That's the recurring verdict on the Flux line, and Pro is the tier where it's sharpest: signage, packaging, UI mockups, anything with lettering that has to survive being looked at. The other thing Pro is good at is natural detail - skin, fabric, foliage - without the plastic sheen that every fine-tune in this ecosystem spends its life trying to undo.

    For editing specifically, it's a strong instruction-follower with a catch worth knowing up front: BFL's own model line is censored, and the KG panel on the company notes that Kontext and Flux 2 are more heavily filtered than the early Dev-tier releases. If your edit involves nudity or anything a provider filter dislikes, the model refuses at the source and there's nothing a node can do about it - there are no weights to abliterate.

    How the node works

    Protoface doesn't implement Flux. It ships a bundled catalog of model/task schemas, generates a native ComfyUI V3 node for each pairing at startup (black-forest-labs/flux-2-pro × image.edit here), and routes all of them through one shared adapter. Queue and the sequence is: encode your IMAGE tensor to PNG, upload if that exact content isn't already cached, validate the payload against the schema before spending anything, submit, poll with a progress bar, download to the pack's state directory, decode into ComfyUI types.

    The journal matters more here than anywhere. Before submission the adapter writes a request identity - account, request_scope, node id, generation_id, model id, schema fingerprint, hash of the payload including the exact bytes of your inputs - into a local SQLite file. Requeue identical work after a crash and it resumes; change the prompt and you're buying a new edit, which is correct.

    The controls, all six of them

    There aren't many. prompt is the edit instruction. images takes your source material - up to three images, slots autogrowing as you connect. Multiple references are how you do compositing-by-description: "put the jacket from image 2 on the person in image 1, keep the lighting of image 1".

    size is optional. Leave it on Default and the parameter is omitted from the request; set it to control output dimensions, in the format the tooltip gives: pixels as width*height. Note the asterisk. It's a string field, not two number widgets.

    seed is optional (-1 random), and generation_id is the paid-job identity - fixed by default, which is what you want.

    What you won't find: steps, CFG, guidance, sampler, denoise, negative prompt. Those are local-model concepts; this model exposes none of them, and any guide telling you to set guidance to 3.5 on a Pro node is written for a different Flux.

    Outputs

    image is an output list - ComfyUI maps downstream nodes over lists, so an upscaler or Save Image just works. mask comes back with the result, inverted to ComfyUI's convention, so it drops straight into inpaint/composite paths. files gives the original downloaded asset as a PROTOFACE_FILE for Protoface Save File. run id is a string: your handle for Protoface Resume Run.

    Install

    cd ComfyUI/custom_nodes
    git clone --branch v0.1.0 --depth 1 https://github.com/protoface-ai/protoface-comfyui.git protoface
    python -m pip install -r protoface/requirements.txt
    

    Manager route: search Protoface, install protoface-nodes, restart ComfyUI, reload the browser. ComfyUI 0.41.0+ and Python 3.10+; installs httpx, jsonschema, Pillow, av. No weights, no CUDA, no VRAM. Then click Protoface in the lower-right corner and paste your key - held in server memory, gone on restart, unless you set PROTOFACE_API_KEY_FILE. Billing goes to your Protoface account, not to Comfy credits.

    Where people get burned

    Batch of images into images. A Load Image with batch_size 4 throws "expects one asset; split the image/audio batch first". Three separate refs, three separate connections.

    The edit changed everything. Pro is faithful to the instruction, and a vague instruction is permission to redesign. Say what stays: "keep the face, pose and background identical; replace only the jacket."

    1024x1024. Asterisk, not an x. Whatever you type goes into a string field.

    Treating a re-run as free. Bumping generation_id or editing the prompt is a new paid request. Interrupting mid-job requests cancellation, which is best effort and explicitly not a refund.

    Comfy Cloud. Custom nodes aren't installable there, so this pack has no path into it.

    CategoryProtoface/Image/black-forest-labs

    Inputs (6)

    NameTypeDefaultDescription
    promptSTRINGThe positive prompt for the generation.
    imagesCOMBOPublic URLs, data URIs, or asset ids.
    seedCOMBOThe random seed to use for the generation. -1 means a random seed will be used.
    sizeCOMBOThe size of the generated media in pixels (width*height).
    generation_idINT00–9007199254740991Keep fixed to reuse/resume this paid job. Increment for a fresh paid generation; independent of the model seed.
    request_scopeSTRINGAutomatically assigned per node. Headless clients must supply a stable unique workflow/node ID. This is not a secret.

    Outputs (4)

    NameTypeDescription
    imageIMAGE—
    maskMASK—
    filesPROTOFACE_FILE—
    run idSTRING—