Skip to content

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 filename
  • prompt · 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 · default 1
    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 · default 1
    Weight of the second LoRA. Ignored when lora_name_2 is empty.
  • steps · int · default 4
    Klein is distilled to 4 steps; raise it only when running undistilled FLUX.2 weights through the unet param
  • cfg · float · default 1
    Distilled Klein runs at 1.0. Raising it fights the distillation
  • sampler · str · default euler
  • reference_megapixels · float · default 1
    The reference is scaled to this many megapixels before encoding, and the output inherits its size
  • unet · str · default flux-2-klein-4b-fp8.safetensors
  • clip · str · default qwen_3_4b_fp4_flux2.safetensors
  • vae · str · default flux2-vae.safetensors