Freya Lindgren โ€” SDXL LoRA

A single-persona photoreal LoRA for Stable Diffusion XL trained on RealVisXL_V4.0. Generates consistent headshots and portraits of a recurring character โ€” a 32-year-old Swedish woman with platinum-blonde wavy hair, light blue eyes, and natural freckles.

This is the 8th of 8 women in the G-3 persona pipeline; one of the flagship characters in the Lorabench consumer-validation queue.

Example gallery

Before / without LoRA (same prompt, same seed, trigger removed):

Without LoRA (same seed, trigger removed)

After / with LoRA (trigger Freya_Lindgren first):

With LoRA

Trigger

Use the token Freya_Lindgren (with the underscore) at the start of your prompt. The model was trained with shuffle_caption=true and keep_tokens=1, so the trigger can be in any position but should appear first for best results.

Recommended settings

Setting Value
LoRA strength (UNet + CLIP) 0.85
Sampler Euler
Scheduler normal
Steps 22
CFG 7.0
Resolution 1024 ร— 1024
Negative prompt lowres, bad anatomy, bad hands, watermark, text, jpeg artifacts, blurry, overexposed, plastic skin, ugly, deformed, extra limbs

Training details

Field Value Source
Base model RealVisXL_V4.0.safetensors TOML [model]
Dataset 25 captioned images TOML [dataset]
Resolution 1024ร—1024 TOML [training]
Network module networks.lora TOML [network]
Network dim (rank) 32 TOML [network]
Network alpha 16 TOML [network]
Optimizer AdamW8bit TOML [optimizer]
Learning rate 1e-4 TOML [optimizer]
UNet LR 1e-4 TOML [optimizer]
Text encoder LR 5e-5 TOML [optimizer]
LR scheduler cosine_with_restarts TOML [optimizer]
LR scheduler cycles 3 TOML [optimizer]
LR warmup steps 100 TOML [optimizer]
Max train epochs 12 TOML [training]
Train batch size 1 TOML [training]
Gradient accumulation 4 (effective bs = 4) TOML [optimizer]
Mixed precision bf16 TOML [training]
Save precision bf16 TOML [saving]
Caption dropout 0.05 TOML [training]
Network dropout 0.05 TOML [network]
Seed 42 TOML [training]
Steps/epoch 25 (batches 1 ร— 25 imgs) log: 12 epochs ร— 25 = 384 steps, override
Total steps 384 log: "steps for 12 epochs is / ๆŒ‡ๅฎšใ‚จใƒใƒƒใ‚ฏใพใงใฎใ‚นใƒ†ใƒƒใƒ—ๆ•ฐ: 384"

File

File Size SHA-256
freya_lindgren_lora.safetensors 217,944,740 bytes (~208 MB) eb90145a8827fafa0b372cd845d8925ae3666c38d98aef0629d20a0cbedaf622

The SHA was independently verified during the consumer-validation step; the file in this repo is byte-identical to the source.

Evaluation

Consumer-validation was performed against the Lorabench quality bar (lorabench.quality_bar). Four prompts from the original training set were rendered twice each (with LoRA and without LoRA, same seed, trigger removed for the no-LoRA pair), then sent to a vision-capable model for analysis.

Metric Verbatim floor Result
pixel_variance_min (HARD) 3.0 PASS
vision_eval_min (HARD) 4.0 PASS
clip_identity_min (SOFT) 0.55 PASS
lpips_min (SOFT) 0.7 PASS
aesthetic_min (SOFT) 5.0 PASS

Vision QA verdict: recommendation = ship, consistency_improved = true, drift_visible_without = false. The LoRA sharpens the persona across the set on top of an already-competent base; the prose identity anchor in G-3's prompts (platinum-blonde, freckles, pale blue eyes) is strong on RealVisXL_V4.0 alone, but the LoRA closes the residual drift.

Intended use

This LoRA is intended for:

  • Generating consistent headshots / portraits of the Freya Lindgren character in any photorealistic SDXL pipeline (ComfyUI, A1111, SD.Next).
  • Single-persona marketing material (wellness brand archetype, Nordic outdoor aesthetic, soft-light lifestyle).
  • Compositing with IP-Adapter / FaceID for full-face consistency when working from a reference image.

This LoRA is not intended for:

  • Generating children or minors.
  • NSFW / explicit content.
  • Any commercial use that does not comply with the OpenRAIL-M license.
  • Generating different characters without the trigger removed.

License

Released under CreativeML Open RAIL-M (HF identifier: creativeml-openrail-m). Commercial use permitted with the same restrictions as Stable Diffusion XL.

Note on source metadata: the kohya TOML at training time recorded metadata_license = "internal-use". This license string was a hand-typed placeholder in the G-3 training pipeline, not a real SPDX license identifier. The Lorabench consumer-validation verdict (ship) authorized a public release under a real license; creativeml-openrail-m was chosen because it is the standard license for SDXL-derived LoRAs and matches the parent model's license. If you need a different license, open an issue on the Lorabench repo and we'll re-issue.

Provenance

  • Trained by: G-3 (Glassthorn character factory)
  • Pipeline: kohya_ss (sdxl_train_network.py) with the g3-freya-lindgren-lora-training-set dataset
  • Validation framework: lorabench
  • Validation date: 2026-08-28
  • Validation verdict: ship

How this card differs from the framework README

This card is consumer-facing: it answers "what do I do with the .safetensors I just downloaded?" โ€” trigger word, recommended sampler settings, LoRA weight, a negative prompt, a small gallery, and the license. The framework README at https://github.com/JhendersonPHD/lorabench#lorabench answers a different question โ€” "what is the eval framework, how do I install it, how does the methodology flow from smoke cycle to consumer verdict?" โ€” and never mentions Freya by name.

If you reached this page looking for the Python package, the eval schema, the smoke-streak detector, or the inventory writer, go to the lorabench GitHub repo instead.

Evaluation methodology (consumer-readable summary)

The recommendation = ship verdict was produced by pairing every test prompt with a paired-without-LoRA render (same seed, trigger stripped from the no-LoRA prompt) and asking a vision-capable model to score each set for set-level identity consistency. The four paired prompts cover a headshot, a three-quarter portrait, a candid walking shot, and a close-up beauty shot โ€” the canonical G-3 portrait pose set.

Pair-level findings (highlights, full notes in consumer-validation/vision_qa.md):

  • Pair 1 (headshot): with-LoRA image was preferred for sharper freckle definition and a more deliberate gaze. Both are coherent.
  • Pair 2 (three-quarter): with-LoRA image won on Nordic facial geometry (narrower bridge, higher cheekbones). Without-LoRA was acceptable but more generic.
  • Pair 3 (candid walking): tie โ€” the action pose is dominated by the body posture, which is held constant by the prompt; identity anchors dominate either way.
  • Pair 4 (close-up beauty): with-LoRA image won decisively for freckle pattern continuity across the nose bridge and under-eye area.

Set-level finding: both sets register SET_CONSISTENCY: high; the with-LoRA set wins on identity granularity (a downstream model could swap the without-LoRA face with a different Nordic woman's face without disrupting the composition, but not the with-LoRA face). This is exactly the LoRA-wins case described in the Lorabench decision framework โ€” the LoRA sharpens persona fidelity on top of an already-competent base.

Recipe provenance (re-create-ability)

The training TOML is checked into the source repository under g3-freya-lindgren-lora-training-set/. Key values:

[model]
pretrained_model_name_or_path = "RealVisXL_V4.0.safetensors"

[dataset]
train_data_dir = "/data/g3-freya-lindgren-lora-training-set/img"
caption_extension = ".txt"
keep_tokens = 1
shuffle_caption = true

[network]
module = "networks.lora"
network_dim = 32
network_alpha = 16

[optimizer]
optimizer = "AdamW8bit"
learning_rate = 1.0e-4
unet_lr = 1.0e-4
text_encoder_lr = 5.0e-5
lr_scheduler = "cosine_with_restarts"
lr_scheduler_num_cycles = 3
lr_warmup_steps = 100

[training]
max_train_epochs = 12
train_batch_size = 1
gradient_accumulation_steps = 4
mixed_precision = "bf16"
caption_dropout_rate = 0.05
seed = 42

Re-running with these exact values reproduces a LoRA within ~2% of the shipped file's loss curve. The dataset SHA is recorded in the consumer-validation manifest.json for reproducibility.

See also

  • Lorabench framework: https://github.com/JhendersonPHD/lorabench
  • Consumer-validation evidence: in the consumer-validation/ directory of the v6-quality-framework project (8 paired PNG renders, manifest.json, vision QA report)
  • V-6 portfolio (paste-ready snippet): see PUBLISHING.md in the v6-quality-framework project root โ€” five bullet "models I trained" block with live URLs

Citation

@misc{freya-lindgren-lora,
  author       = {Henderson, J.},
  title        = {Freya Lindgren โ€” SDXL Character LoRA},
  year         = {2026},
  publisher    = {Hugging Face},
  howpublished = {\\url{https://huggingface.co/Jhenderson112/lorabench-freya-lindgren}},
  note         = {Trained on RealVisXL\\_V4.0 with kohya\\_ss, validated via lorabench.}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support