Nodes/ComfyUI-TuZi-Flux-Kontext/🐰Flux.1 Kontext - Editing
ComfyUI Node

🐰Flux.1 Kontext - Editing

FluxKontext_ImageToImage — 🐰Flux.1 Kontext Editing

By LKbaba·Created about a year ago·Updated about a year ago· 29
🐰Flux.1 Kontext - Editing
  • image
  • image
  • status
promptThe character is sitting cross-legged on the sofa, and the Dalmatian is lying on the blanket sleeping.
modelflux-kontext-max
num_images1
seed0
guidance_scale3.5
num_inference_steps28
aspect_ratio1:1
output_formatpng
safety_tolerance3
prompt_upsamplingfalse

This is the node that's actually the point of "Flux Kontext" - feed it a photo and an instruction, get back the same subject with the change applied. Change the clothing, swap the background, remove an object or a watermark, and the character stays recognizable across the edit. That last part is Kontext's actual claim to fame: it's the strongest character-consistency tool in the Flux 1 family, and the community reception on watermark removal specifically was that it's "shockingly effective." That's not a small thing - it's the capability the whole pack exists to expose, and this node is the one-image version of it.

The mechanism is worth understanding because it explains why this node behaves differently from a normal img2img workflow - notice there's no denoise-strength input anywhere on it. Kontext doesn't take your image, add noise, and re-diffuse it. It concatenates the actual reference image into the model's context alongside your prompt, the same way it would handle a second sentence, rather than injecting it through an adapter embedding like IP-Adapter or PuLID do. Identity survives structurally instead of by best-effort resemblance. That's the whole trick, and it's also why the pack ships this as its own node type rather than just letting you plug an image into the text-to-image node's optional slot.

On cost and model choice: model is flux-kontext-pro or flux-kontext-max, and for editing specifically, Max is the one worth paying double for - BFL's own positioning is that Max holds consistency across edits without giving up speed, which is exactly the property you're using this node for. image is required here (unlike the multi-image node, this input isn't optional - leave it disconnected and you're not doing anything Kontext-specific). prompt can work either as a direct instruction ("remove the watermark," "put her in a red jacket") or as a description of the end state - the pack's own default prompt describes what should be true in the result ("the character is sitting cross-legged on the sofa, and the Dalmatian is lying on the blanket sleeping") rather than what to change, and both styles work with Kontext in practice. seed matters more here than in pure generation: lock it once you land a result you like so you can iterate on the prompt without the composition drifting underneath you. The rest - guidance_scale (3.5 default), num_inference_steps (28), aspect_ratio, num_images, output_format, safety_tolerance, prompt_upsampling - behave the same as on the other two nodes in the pack.

Outputs are image and status, same pattern as the rest of the pack - wire status to a text node so a failed edit shows you why instead of just handing back nothing.

Where this genuinely trips people up: Kontext's anatomy holds up fine for close crops but degrades once a full body fits into frame - heads and hair start artifacting, and proportions skew (heads too big, torsos too small) on larger edits. If you're editing a full-body shot and the result looks off around the head, that's a known limitation of the model itself, not something this node is doing wrong; crop tighter before you send it, or run a local img2img refine pass on the result afterward. Separately, the model is censored at the weights level the way the rest of the Flux Kontext line is - the safety_tolerance slider adjusts BFL's own filter strictness, but it won't get you past baked-in content restrictions, so don't expect this to be a workaround for anything explicit.

Install: ComfyUI Manager → "Install via Git URL" → the pack's GitHub URL, or manually git clone https://github.com/LKbaba/ComfyUI-TuZi-Flux-Kontext into custom_nodes/, then pip install -r requirements.txt (requests, python-dotenv, fal-client, httpx, httpcore - portable users run this through python_embeded\python.exe). Restart once so .env gets created, close ComfyUI, drop your TUZI_API_KEY into ComfyUI/custom_nodes/ComfyUI-TuZi-Flux-Kontext/.env (key from api.tu-zi.com/panel), restart again.

For troubleshooting, start with the pack's own changelog note, because it names this exact node: as of June 2025 the maintainer flagged that image-to-image errors were fixed by updating to the latest version - if you're running an old checkout and edits are failing outright, that's the first thing to rule out. Beyond that, the usual suspects apply: a red node on load means .env is missing or the key's still a placeholder; a node that loads but fails on generation means check your TuZi balance and key validity, and read the status output for the actual reason rather than guessing. And if you copy-pasted a workflow from the text-to-image node, double-check image is actually wired - it's the one required input that doesn't exist over there.

CategoryTuZi/Flux.1 Kontext

Inputs (11)

NameTypeDefaultDescription
imageIMAGE
promptSTRINGThe character is sitting cross-legged on the sofa, and the Dalmatian is lying on the blanket sleeping.
modelCOMBOflux-kontext-max2 options: flux-kontext-pro, flux-kontext-max
num_imagesCOMBO14 options: 1, 2, 3, 4
seedINT00–18446744073709550000
guidance_scaleFLOAT3.50–10
num_inference_stepsINT281–100
aspect_ratioCOMBO1:17 options: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, +1
output_formatCOMBOpng2 options: jpeg, png
safety_toleranceINT30–6
prompt_upsamplingBOOLEANfalse

Outputs (2)

NameTypeDescription
imageIMAGE
statusSTRING