← Workflows

FLUX.2 dev + LoRA Image

Text → Image

Text-to-image with FLUX.2 plus one or more trained character LoRAs — a consistent identity rendered at high fidelity from a prompt.

flux2_dev_lora24 GB VRAM48.1 GB of weightsLoRA support

Calling it

FlixML has no generate button: you tell your agent what you want and it calls the API on your install. The id is what names this workflow.

POST /api/image/generate
{
  "workflow": "flux2_dev_lora",
  "prompt": "..."
}

Parameters

promptstrrequired

Natural language, written as sentences — FLUX.2 reads a description, not a tag list, and word order is weight, so lead with the subject and close with atmosphere. Subject, action, style, context; 30-80 words for most shots. There is no negative prompt in FLUX.2: describe what you want ('sharp focus throughout'), never what you don't. A camera, lens or film stock buys more photorealism than the word 'professional'. With a character LoRA loaded, put its trigger word at the front and then describe only what the LoRA doesn't carry — pose, clothing, setting, light. Re-describing a face the LoRA was trained on works against it.

loraslist

List of LoRA specs

lora_strengthfloatdefault 1
widthintdefault 1248

Output width

heightintdefault 832

Output height

seedint

Random seed (auto if omitted)

stepsintdefault 20
cfgfloatdefault 4
samplerstrdefault euler
guidancefloatdefault 4

FLUX guidance scale

unetstrdefault flux2_dev_fp8mixed.safetensors
clipstrdefault mistral_3_small_flux2_fp4_mixed.safetensors
vaestrdefault flux2-vae.safetensors

Your install is the source of truth: GET /api/workflows returns these parameters as they are on your machine.

What it costs to run

Stays on the FLUX.2-dev weights, and a LoRA is bound to the exact variant it was trained on: a dev-trained LoRA will not load into Klein, whose transformer is a different width and block count, so this workflow cannot follow flux2_klein down to the small models. TESTED 2026-09-07 on RTX 4070 Ti (12 GB) + 16 GB system RAM. FLUX.2-dev is ~32B: the fp8 weights are 35 GB plus a 12 GB text encoder, far more than that machine's GPU memory and RAM combined, so weights spill to disk. Real timing: 32 min @24 steps, 15 min @8-step turbo, 18 min with Q3_K_S GGUF + turbo. Needs a 24 GB+ GPU to run without spilling. For fast local iteration use flux2_klein (Klein 4B) or SDXL.

Same input, different job