For flux realistic photos, describe a believable subject, lighting setup, camera viewpoint, and surface texture. Use FLUX.1-dev for the XLabs realism LoRA; choose a dedicated Kontext or FLUX.2 workflow for image editing and newer models.
Flux RealismLora
The XLabs realism LoRA is an adapter trained for photorealism on FLUX.1-dev. Its downloadable file is lora.safetensors, and its card specifies the FLUX.1-dev Non-Commercial License.
Load the adapter alongside its base model. Do not assume that a file described as “flux realism lora” works with schnell, Kontext, or FLUX.2: the XLabs card identifies dev specifically.
For background on the original family, see Flux: the new prodigy model.
Which FLUX model should you use?
Pick the model before downloading adapters. These are distinct workflows with different weight licenses, input requirements, and controls.
| Model | Relevant use | Weight license or access |
|---|---|---|
| FLUX.1-dev | Text-to-image; base for XLabs realism | FLUX.1-dev Non-Commercial License |
| FLUX.1-schnell | Fast text-to-image drafts | Apache 2.0 |
| FLUX.1 Kontext dev | Edit an image with text instructions | FLUX.1-dev Non-Commercial License |
| FLUX.2-dev | Generate, edit, and combine reference images locally | FLUX Non-Commercial License |
| FLUX.2 klein 4B | Compact generation and editing | Apache 2.0 |
| FLUX.2 klein 9B | Generation and editing with open weights | FLUX Non-Commercial License |
| FLUX.2 pro, max, flex | Hosted generation and editing | API access under service terms |
BFL also offers undistilled klein Base variants for training and customization. Their licenses follow the same 4B/9B split. See the FLUX.2 family overview.
The dev cards distinguish model use from output use: commercial outputs can be permitted under their terms even though the weights have non-commercial licenses. Check the exact license for your deployment.
BFL now also presents FLUX 3 on its website, with video capabilities documented in its release notes. For still-image generation, BFL's text-to-image guide recommends FLUX.2.
Flux on fal.ai
The dedicated fal realism page is marked Private. Access is account-dependent; do not build your workflow around an assumption that every signed-in user can run it.
The following screenshots illustrate the hosted workflow. Follow the named model and fields when the interface layout differs.
Step-by-step guide
- Open the model playground and sign in. Check access before preparing a batch. No particular third-party login method is required by these instructions.
-
Choose the compatible endpoint. If the dedicated page is unavailable, use fal's FLUX.1-dev LoRA endpoint. Its
lorasinput accepts a weight URL inpathand an adapterscale.
-
Enter your prompt. For the general LoRA endpoint, use this adapter entry alongside the required
prompt:
{
"loras": [{
"path": "https://huggingface.co/XLabs-AI/flux-RealismLora/resolve/main/lora.safetensors",
"scale": 1
}]
}
- Run the generation and save the result. Inspect the image before repeating the request; adjust the description if the composition misses your intention.
- Open additional settings. Record the seed, dimensions, steps, guidance, and adapter strength alongside the prompt. The realism API schema documents its controls and defaults.
Replicate alternative: XLabs' flux-dev-realism explicitly combines FLUX.1-dev with the XLabs adapter. Open its Playground, enter a prompt, review the available inputs, and run a prediction.
Check the selected provider's displayed billing terms before generating. Treat free-credit offers as account-specific rather than part of the workflow.
Run the realism LoRA locally in ComfyUI
Start with the official ComfyUI FLUX examples. Drag the dev example image into ComfyUI to load its workflow, then install its model files:
| File | Folder inside ComfyUI |
|---|---|
flux1-dev.safetensors |
models/diffusion_models/ |
clip_l.safetensors |
models/text_encoders/ |
t5xxl_fp16.safetensors |
models/text_encoders/ |
ae.safetensors |
models/vae/ |
For lower memory use, the examples document t5xxl_fp8_e4m3fn_scaled.safetensors and the diffusion loader's weight_dtype FP8 option. The all-in-one FP8 checkpoint instead goes in models/checkpoints/ and uses Load Checkpoint.
FP8 can reduce image quality. Compare it with the full-precision workflow when your hardware permits, rather than treating quantization as a realism improvement.
For the adapter author's workflow, install x-flux-comfyui using ComfyUI's Python environment. From the ComfyUI directory:
git clone https://github.com/XLabs-AI/x-flux-comfyui custom_nodes/x-flux-comfyui
cd custom_nodes/x-flux-comfyui
python setup.py
Restart ComfyUI. Put the XLabs lora.safetensors in models/xlabs/loras/, as specified by the extension README, and load an example from its workflows folder.
The author's node guide uses Load Flux LoRA to modify the incoming model. Select the adapter there and send its model output into the sampler.
For GGUF, install ComfyUI-GGUF in the same environment. From the ComfyUI directory:
git clone https://github.com/city96/ComfyUI-GGUF custom_nodes/ComfyUI-GGUF
python -m pip install --upgrade gguf
Restart, put a compatible FLUX.1-dev .gguf in models/unet/, and replace Load Diffusion Model with Unet Loader (GGUF). Keep the text encoders and VAE required by the workflow.
The GGUF project calls LoRA loading experimental. Validate the adapter on a simple workflow before adding other custom nodes. For general workflow navigation, use the ComfyUI guide.
Settings that matter
These are documented examples or endpoint defaults, not a universal realism recipe. A setting belongs to its model and implementation; hosted controls do not necessarily map directly onto ComfyUI node labels.
| Model or endpoint | Guidance | Steps | Resolution |
|---|---|---|---|
| FLUX.1-dev, BFL card example | 3.5 | 50 | 1024 × 1024 |
| FLUX.1-schnell | 0.0 in Diffusers | 4; model supports 1–4 | 1024 × 1024 in the ComfyUI template |
| fal FLUX realism | 3.5 default | 28 default |
landscape_4_3 default; custom dimensions supported |
| Kontext dev, ComfyUI template | 2.5 | 20 | Input image through FluxKontextImageScale |
| FLUX.2-dev | 4 | 20 in ComfyUI; 50 in BFL's example | 1024 × 1024 in the ComfyUI template |
| FLUX.2 klein 4B, distilled card example | 1.0 | 4 | 1024 × 1024 |
| FLUX.2 pro/max API | Managed by endpoint | Managed by endpoint | BFL's generation example uses 1024 × 1024 |
The native examples are the schnell, Kontext, and FLUX.2 templates. Preserve their node settings when comparing models.
For the ComfyUI all-in-one FLUX dev FP8 example, set the sampler's CFG to 1.0, as its instructions require. Do not copy the card's guidance value into that CFG field.
Flux-Realism prompts
Build a scene from these seven ingredients, then remove anything that does not change the intended picture:
- Subject: a middle-aged reader with salt-and-pepper hair.
- Action: lifting a coffee cup while reading.
- Location: a café beside a street-facing window.
- Details: a creased shirt, worn table, and folded newspaper.
- Ambiance: a quiet morning with subdued colors.
- Purpose: a candid moment during a daily routine.
- Style: documentary or amateur photography.
This follows BFL's prompt-building guidance: establish the subject and action, then add relevant visual direction. Avoid padding a precise scene with unrelated quality adjectives.
Prompting for realism
BFL's photorealism guide recommends describing lens, framing, lighting, and physical texture. Ask for visible pores, fabric wear, or uneven surfaces where those details suit the scene.
Use camera language to specify an intended appearance. These are prompt cues, not a guarantee that the model will simulate an actual camera's optics.
| Intended appearance | Vocabulary to try |
|---|---|
| Environmental portrait | 35mm lens, eye-level framing, visible surroundings |
| Closer portrait | 85mm lens, f/2.8, softly blurred background |
| Broad scene | 24mm lens, deep depth of field |
| Gentle illumination | Diffused window light, soft shadows |
| Dramatic portrait | Rembrandt lighting, restrained background |
| Studio subject | Softbox illumination, controlled highlights |
These lens and lighting categories come from BFL's prompt reference. Choose a coherent combination: a portrait with a soft background asks for a different look from an evenly sharp interior.
For FLUX.2, use positive descriptions instead of relying on negative prompts. Its technical guide recommends describing what should appear: “an empty tabletop” makes the desired scene explicit.
A few prompts
Use these original prompt variations as starting points. Keep the subject fixed while testing a lighting or framing change, so you can judge which instruction improves your result.
Café portrait
A candid photograph of a middle-aged man with salt-and-pepper hair, a white shirt, and navy blazer, sipping coffee beside an open newspaper. A worn café table and hanging plants frame him.
Eye-level view, 35mm lens, diffused window light, visible shirt creases, natural skin texture, subdued morning colors. Quiet concentration rather than a posed smile.
Working chef
An editorial photograph of a female chef in her forties, curly hair tucked under a white hat, carefully placing a red pepper slice on a dish. Copper pans and steel counters surround her.
Close framing, soft side light, wisps of steam, textured jacket fabric, and restrained reflections. Keep her expression focused and the food's surface clearly visible.
Library documentary scene
A documentary photograph of an Asian university student in a grey hoodie, sitting cross-legged among open books with a laptop on his knees. Tall shelves and distant students establish the library setting.
Wide-angle framing, warm desk lamps, worn book covers, rumpled clothing, and a half-finished coffee. An absorbed study session with ordinary, imperfect surroundings.
FAQ
Do I need a realism LoRA for realistic FLUX photos?
No. BFL documents photorealistic prompting for FLUX.2 without an adapter. XLabs provides a specific FLUX.1-dev option; compare it against the base model using the same scene.
Does XLabs realism LoRA work with FLUX.2?
Its model card specifies FLUX.1-dev. Use that supported pairing; a shared FLUX name does not establish adapter compatibility.
Is fal's FLUX realism endpoint public?
Its page is marked Private. Check your account's access, use fal's general FLUX LoRA endpoint, or try the XLabs-hosted model on Replicate.
Can I use FLUX commercially?
Schnell and klein 4B carry Apache 2.0 licenses. Dev-family weights have their stated non-commercial terms, with separate provisions for outputs. Hosted use follows the provider's terms.
Sources
- XLabs realism LoRA card
- FLUX.1-dev card
- FLUX.1-schnell card
- Kontext dev card
- FLUX.2-dev card
- Klein 4B card
- FLUX.2 family overview
- Black Forest Labs
- BFL release notes
- FLUX.2 generation guide
- fal realism playground
- fal realism schema
- fal FLUX LoRA schema
- Replicate XLabs realism
- ComfyUI FLUX examples
- ComfyUI schnell template
- ComfyUI Kontext template
- ComfyUI FLUX.2 template
- XLabs ComfyUI extension
- XLabs node guide
- ComfyUI-GGUF
- BFL prompt structure
- BFL photorealism guidance
- BFL camera and lighting reference
- BFL technical prompting guidance
Last reviewed and updated: September 2026.










Top comments (2)
Prompt:
damnn bruv, looks sick