Protoface FLUX.2 Turbo · Edit Image
Four Reference Images and No Patience Required
- image
- mask
- files
- run id
Turbo is the same job as FLUX.2 Pro Edit, optimised for speed. Same model family, same editing operation, same controls - the description says it outright: the faster FLUX.2 stills model for drafts and iteration, with the same generate and edit operations as Pro. And it takes four reference images instead of three, which is the sort of detail that decides workflows.
Where it fits
The KB's read on Flux 2 as a whole is that Dev was technically excellent and practically unusable locally, and that Klein's distillation is what made it a daily driver. Turbo is the hosted version of that same instinct: step the quality down slightly, step the turnaround up, do your fifty iterations here and pay Pro prices for the one you keep.
That's not a small thing on an API node, where every single run has a price attached. If you're doing "move the logo, no, left, no, smaller" twenty times, and each pass costs the same either way, you'll burn more money than a local user burns minutes. Turbo changes the shape of the editing session.
Mechanism
No Flux in the box. Protoface loads a bundled catalog of model/task request schemas and generates a native ComfyUI V3 node per pairing at startup - black-forest-labs/flux-2-turbo × image.edit. Every one of those nodes shares a single adapter: encode your tensors, upload what's new (content-hash cached), validate against the schema before submission, submit, poll, download, decode.
The journal is the thing to understand about paid API nodes in general. Before anything leaves, the adapter records a request identity in local SQLite - account, request_scope, node id, generation_id, model, schema fingerprint, payload hash. Requeue an unchanged graph and it resumes that recorded run instead of submitting again. That's what makes Ctrl+Enter safe to mash after a crash.
Inputs
prompt - the edit instruction. Be specific about what must not change; a faithful model with a vague brief is a licence to redesign your subject.
images - up to four, with slots that autogrow as you connect them. Four is genuinely useful: subject, style reference, texture, and a layout sketch is a real compositing brief. Reference them by position in the prompt ("the jacket from image 2") or the model picks for you.
seed - optional integer, -1 for random.
size - optional. Left on Default it's omitted from the request; set it and the format is pixels as width*height. Asterisk, not x.
generation_id - the paid-job identity. Fixed by default. Increment it only when you actually want another paid generation.
No negative prompt, no steps, no CFG, no sampler. If a tutorial tells you to set guidance on a FLUX.2 node, it's telling you about a local pipeline.
Outputs
image comes back as an output list, so ComfyUI maps connected nodes over it - an upscaler or Save Image needs no special handling. mask arrives alongside, inverted to ComfyUI's convention, ready for inpaint or composite paths. files is the original downloaded asset as a PROTOFACE_FILE - route it to Protoface Save File if you want the untouched PNG. run id is a plain string 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
Or Manager → search Protoface → protoface-nodes → restart → reload. ComfyUI 0.41.0+ and Python 3.10+. Dependencies are httpx, jsonschema, Pillow, av; no checkpoints, no VRAM, no CUDA work. Paste your Protoface key into the Protoface panel in the lower-right - server-memory only, so plan on re-entering it after restarts, or set PROTOFACE_API_KEY_FILE.
A working pattern
Batch the boring part. Wire four references you're curious about, generate at default size, look at the result, then change exactly one thing - one word of the prompt, or one of the four images. Change two things at once and you learn nothing.
Once a prompt is dialled, take that same prompt and its final reference set over to the Pro node for the keeper. Keep generation_id fixed on each node; the two nodes are separate jobs by design and there's no need to share identity between them.
Traps
Batch into images. Four images in a single Load Image batch is one connection carrying four items and gets rejected - "split the image/audio batch first". Four connections, or split with ImageFromBatch upstream.
Requeueing "just to see". Unchanged requeue is deduplicated. Any prompt or parameter change is a new charge, and the pack is right to treat it that way.
Cancelling to save money. Interruption requests cancellation of the API job; it's best effort and doesn't promise a refund. Check the run in your Protoface account if a charge looks wrong.
Deleting the state directory. ~/.cache/protoface-comfyui holds the journal and cached uploads. Clearing it while a submission is unresolved can lose the deduplication record and lead to a second paid job.
Expecting Comfy Cloud to run this. It doesn't allow arbitrary custom nodes. This pack bills your Protoface account directly either way.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | The positive prompt for the generation. | |
| images | COMBO | Public URLs, data URIs, or asset ids. | |
| seed | COMBO | The random seed to use for the generation. -1 means a random seed will be used. | |
| size | COMBO | The size of the generated media in pixels (width*height). | |
| generation_id | INT | 00–9007199254740991 | Keep fixed to reuse/resume this paid job. Increment for a fresh paid generation; independent of the model seed. |
| request_scope | STRING | Automatically assigned per node. Headless clients must supply a stable unique workflow/node ID. This is not a secret. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |
| files | PROTOFACE_FILE | — |
| run id | STRING | — |