FLUX.2 Klein Reference Edit
Generate a new image from a reference image and a plain-English instruction. FLUX.2 Klein 4B reads the reference as conditioning and samples a fresh frame, so unlike img2img it can change pose, wardrobe and setting while holding the subject's identity. Say what changes and what stays.
Workflow id: flux2_klein_edit · Image → Image
Calling it
POST /api/image/generate
{
"workflow": "flux2_klein_edit",
"image": "...",
"prompt": "..."
}Params
Every input this workflow takes. Your install is the source of truth:GET /api/workflows/flux2_klein_edit returns these as they are on your machine.
image· str · required
Reference image filenameprompt· str · required
An instruction, not a scene description. Name the change, then name what stays: 'Change her outfit to a black leather coat and place her on a castle rampart at dusk. Keep her face and hair exactly as they are.' Never re-describe the subject's face, hair or body — the reference carries them, and describing them again makes the model draw its own version instead.seed· int · optional
Optional. Leave it out and every run is a new random take. Send a seed only to remake an image exactly: the seed a job used is in its record.lora_name· str · optional
Optional LoRA file in the node's loras folder. Leave empty and the slot is removed from the graph entirely. A FLUX.2 LoRA is built for one variant: a Klein 4B LoRA does not load on Klein 9B or on FLUX.2-dev, and a dev LoRA does not load here — the residual stream is 3072 wide on 4B against 6144 on dev, so the tensors do not fit. Match the LoRA's stated base model to the weights in the unet param.lora_strength· float · default1
Weight of the first LoRA. Ignored when lora_name is empty.lora_name_2· str · optional
Second LoRA, chained after the first — for stacking a concept LoRA on top of a likeness or style one. Same variant rule as lora_name.lora_strength_2· float · default1
Weight of the second LoRA. Ignored when lora_name_2 is empty.steps· int · default4
Klein is distilled to 4 steps; raise it only when running undistilled FLUX.2 weights through the unet paramcfg· float · default1
Distilled Klein runs at 1.0. Raising it fights the distillationsampler· str · defaulteulerreference_megapixels· float · default1
The reference is scaled to this many megapixels before encoding, and the output inherits its sizeunet· str · defaultflux-2-klein-4b-fp8.safetensorsclip· str · defaultqwen_3_4b_fp4_flux2.safetensorsvae· str · defaultflux2-vae.safetensors