FLUX.2 [klein] 9B Base LoRA

edit

fal-ai/flux-2/klein/9b/base/edit/lora

Apply a trained edit LoRA to new images.

Give it an input image and a prompt; the edit LoRA performs the transformation it learned from your pairs. Accepts up to four input images for reference-conditioned edits.

Parameters

Schema facts from the fal API; the notes are ours.

Required

promptstringrequired

The text description of what to generate.

Tip: If your LoRA used a trigger word, include it. Describe the scene around the subject normally.

Raw schema description

The prompt to edit the image.

image_urlslistrequired

Input images for editing. The edit LoRA decides how they are transformed.

Raw schema description

The URLs of the images for editing. A maximum of 4 images are allowed.

Optional

negative_promptstring

What the model should avoid generating.

Raw schema description

Negative prompt for classifier-free guidance. Describes what to avoid in the image.

guidance_scalenumberdefault: 5020

How strictly generation follows the prompt (classifier-free guidance).

In the atelier: How tightly you hold the painter to the brief. Too tight and the work gets stiff and oversaturated; too loose and he wanders.

Tip: Stay near the endpoint default. Adjust in steps of 0.5.

Raw schema description

Guidance scale for classifier-free guidance.

seedinteger

Random seed. Same seed plus same inputs gives a nearly identical image.

Tip: Fix the seed when comparing LoRA scales or parameters, so the only thing changing is the thing you are testing.

Raw schema description

The seed to use for the generation. If not provided, a random seed will be used.

num_inference_stepsintegerdefault: 28450

Number of denoising steps per image. More steps, more refinement, more latency.

Tip: Defaults are tuned per model. Cutting steps in half is the quickest way to trade quality for speed.

Raw schema description

The number of inference steps to perform.

image_sizeobject

Output resolution, as a preset name or explicit width and height.

Raw schema description

The size of the generated image. If not provided, uses the input image size.

num_imagesintegerdefault: 114

How many images to generate in one call.

Raw schema description

The number of images to generate.

accelerationenumdefault: regularnone | regular | high

Speed and cost preset for the generation backend.

Tip: 'regular' balances quality and latency. Use higher acceleration for drafts and iteration.

Raw schema description

The acceleration level to use for image generation.

sync_modebooleandefault: false

Returns media as a data URI instead of a hosted URL, and skips storing it.

Tip: Useful for privacy; awkward for big files. Most workflows leave it off.

Raw schema description

If `True`, the media will be returned as a data URI. Output is not stored when this is True.

enable_safety_checkerbooleandefault: true

Runs a safety filter on outputs.

Raw schema description

If set to true, the safety checker will be enabled.

output_formatenumdefault: pngjpeg | png | webp

File format of the result: jpeg, png or webp.

Raw schema description

The format of the generated image.

enable_cnsbooleandefault: false

Enables Colored Noise Sampling, an experimental stochastic sampler. The cns_* knobs below only matter when this is on.

Tip: Leave off unless you are deliberately experimenting. Defaults are research-grade settings.

Raw schema description

Enable Colored Noise Sampling (CNS), a stochastic SDE sampler. Off by default; when enabled the cns_* parameters below take effect.

cns_s_churnnumberdefault: 0.502

How much stochastic (colored) noise is injected after each step. 0 = CNS off, i.e. pure deterministic flow-matching (identical to normal klein); higher = more stochasticity. Turn this first; the other CNS parameters only matter when s_churn > 0.

cns_gamma_sourceenumdefault: matrixmatrix | approximation

Where the per-frequency progress signal gamma(f, t) comes from. 'approximation' is self-contained but uniform across bands, so the frequency shaping comes entirely from the alpha-tilt parameters. 'matrix' uses the precomputed per-band gamma for true spectral-bias-aware coloring (more noise to genuinely under-resolved bands).

cns_power_gammanumberdefault: 0.750.13

Exponent on the residual (1 - gamma). Higher concentrates noise more aggressively on unresolved bands; lower is gentler and flatter. No effect under 'approximation', where gamma is uniform.

cns_gamma_dividernumberdefault: 1.730.150

Divides gamma first, weakening the coloring (pushing it toward uniform white noise). Paper uses 1.73 for distilled/unguided and 25.0 for CFG/base, so raise this for the /base (CFG) endpoints.

cns_alpha_tilt_startnumberdefault: 0.15-22

Frequency tilt at the start of sampling, interpolated toward the end value over steps. Positive boosts high frequencies (fine texture/detail); negative boosts low frequencies (structure).

cns_alpha_tilt_endnumberdefault: -5e-1-22

Frequency tilt at the end of sampling. Positive boosts high frequencies (fine texture/detail); negative boosts low frequencies (structure). The default favors low-frequency structure at the end.

cns_alpha_use_fnormbooleandefault: true

Use a smooth, frequency-position-weighted tilt (exp(alpha * f)) instead of a flat (1 + alpha) multiplier.

cns_alpha_exp_interpbooleandefault: true

Use an exponential (vs linear) curve for the start-to-end tilt transition across sampling steps.

cns_alpha_exp_sharpnessnumberdefault: 0.750.110

How sharp the exponential tilt-interpolation curve is. Only used when exponential interpolation is enabled.

cns_num_freq_binsintegerdefault: 328128

How many radial frequency bands the spectrum is split into. More bands = finer-grained coloring.

cns_energy_scalenumberdefault: 0.980.51.5

Global multiplier on the injected colored noise after variance normalisation. <1 slightly damps the kick, >1 amplifies it (paper: 0.98 unguided, 0.998 guided).

loraslistdefault: []

List of LoRA weights to load, each with a path (URL or HF repo) and a scale.

In the atelier: Which bracelets the painter wears for this painting, and how hard he leans on each.

Tip: Order does not matter; scales do. Start every LoRA at 1.0 and adjust one at a time.

Watch out: Stacking three strong LoRAs usually degrades all of them. Lower each scale when combining.

Raw schema description

List of LoRA weights to apply (maximum 3).

Call it

import { fal } from "@fal-ai/client";

const result = await fal.subscribe("fal-ai/flux-2/klein/9b/base/edit/lora", {
  input: {
    "prompt": "turn the sketch into a finished painting",
    "image_urls": [
      "https://your-cdn.com/input.jpg"
    ],
    "loras": [
      {
        "path": "https://your-cdn.com/lora.safetensors",
        "scale": 1
      }
    ]
  },
  logs: true,
});
console.log(result.data);