Nodes/Protoface/Protoface FLUX.2 Turbo · Text to Image
ComfyUI Node

Protoface FLUX.2 Turbo · Text to Image

Iterate Until It's Right, Then Switch Models

By protoface-ai·Created 22 days ago·Updated 13 days ago· 0
Protoface FLUX.2 Turbo · Text to Image
    • image
    • mask
    • files
    • run id
    ◄prompt►
    ◄seed▾►
    ◄size1024*1024►
    ◄generation_id0►
    ◄request_scope►

    FLUX.2 Turbo is the speed tier of Black Forest Labs' stills model - same operations as Pro, faster, cheaper in the way speed tiers usually are. It's the node I'd put in front of a client during a call, and the one I'd swap out before anything got exported.

    The case for drafting on an API model

    Local Flux 2 Dev is a 32B model plus a Mistral encoder, around 53GB before you think about quantisation; the KB's account of the launch is that the community looked at the weight, looked at Z-Image Turbo landing the same week at 6B and Apache 2.0, and moved on. Klein became the local editor. Which means if you want the Flux 2 look - the specific rendering of type, the natural detail - and you don't want a 48GB card, the API is the honest route.

    Turbo then handles the part where a shared API bill becomes a design constraint. Twelve alternatives in twenty minutes is normal for a creative session, and that's not twelve Pro generations' worth of value. Get the composition right here, then re-run the keeper on Pro with the same prompt.

    Mechanism, in plain terms

    The pack has no Flux code. It bundles a catalog of model/task schemas and generates native ComfyUI nodes from each pairing at startup; this is black-forest-labs/flux-2-turbo × image.generate. All of them go through one shared adapter: validate against schema, submit, poll with a progress bar, download, decode. On a text-only job there's no media to upload, so the interesting machinery is the local journal - the request identity (account, scope, node id, generation_id, model, schema version, payload hash) is written before submission, so requeueing an unchanged graph resumes the recorded run instead of paying twice.

    Controls

    prompt - plain description works. Flux 2 doesn't reward the old comma-soup; name the subject, the medium, the lighting, and put any literal text in quotes.

    size - a string field, default 1024*1024, format width*height with an asterisk. One field, not two. 1344*768 is a valid wide frame; 1344x768 is a typo the schema will happily store and the API will not interpret.

    seed - optional integer, -1 for random. Hold the seed when you're iterating on a prompt so you're comparing prompts and not random noise.

    generation_id - separate from seed, and the one that costs money. Fixed to reuse or resume the same job; increment for a fresh paid generation.

    No steps, no CFG, no sampler, no negative prompt. Those knobs belong to local checkpoints.

    Outputs

    image is an output list, which means ComfyUI maps any connected node over the results - no special list handling. mask comes with it, derived from alpha and inverted the ComfyUI way, so it slots into inpaint graphs. files is the original asset as a PROTOFACE_FILE for Protoface Save File. run id is a string; feed it to Protoface Resume Run if a job outlives the browser.

    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 users: search Protoface, install protoface-nodes, restart, reload the browser. ComfyUI 0.41.0+ and Python 3.10+ are required; the pip line installs httpx, jsonschema, Pillow and av. Nothing downloads weights, so install takes seconds and needs no GPU. Then click Protoface in the lower-right corner and paste your account key - it stays in server memory, so re-enter it after a restart or use PROTOFACE_API_KEY_FILE on a headless box.

    Practical notes

    Draft in a batch, not in a loop. Several Turbo nodes with different prompts in one graph is one queued run and one wait, which beats queueing eleven times.

    Keep a prompt file. Since there's no local checkpoint to anchor to, your prompt is the workflow. Notes in a text file save you re-deriving a good description from a screenshot.

    Watch the concurrency default. The pack runs two requests at a time (PROTOFACE_CONCURRENCY). Batch more than that and the extras queue behind the semaphore rather than failing.

    Filtering applies. BFL's hosted models are moderated; a refused prompt is a refusal from the provider, not a node bug, and there's no local knob to work around it.

    Credits aren't Comfy credits. Protoface bills your Protoface account directly. Comfy Cloud won't install the pack at all, and an auth problem shows up as a job that quietly doesn't produce - check the settings dialog shows https://api.protoface.com before you debug anything else.

    CategoryProtoface/Image/black-forest-labs

    Inputs (5)

    NameTypeDefaultDescription
    promptSTRINGThe positive prompt for the generation.
    seedCOMBOThe random seed to use for the generation. -1 means a random seed will be used.
    sizeSTRING1024*1024The 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—