Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arcadia Style — Indie Game LoRA for SDXL 📷

A custom LoRA (Low-Rank Adaptation) trained on Stable Diffusion XL to generate images in the cinematic, painterly art style of a beloved teenage time-travel adventure game.

Transform your photos into melancholic, Pacific Northwest-style artwork, or generate entirely new scenes with the distinctive painterly aesthetic of Arcadia Bay.

Examples


arcadiastyle-06.safetensors · strength=0.45 · lora_scale=0.9 · steps=75


arcadiastyle-06.safetensors · strength=0.45 · lora_scale=0.9 · steps=75

LoRA Weights

All trained LoRA weights are hosted on HuggingFace:

ebzrdrmz44/arcadiastyle

File Type Size
arcadiastyle-02/04/06/08/10.safetensors LoCon LoRA ~98.7 MB each
lifestyle-02/03/04/05/06/07.safetensors LoCon LoRA ~115 MB each

Recommended: arcadiastyle-06.safetensors or lifestyle-04.safetensors


Requirements

Component Minimum Recommended
GPU 8 GB VRAM (NVIDIA) 12+ GB VRAM
RAM 16 GB 32 GB
Disk ~10 GB free 15+ GB (for model cache)
Python 3.10+ 3.10 / 3.11
CUDA 11.8+ 12.x

SDXL Base 1.0 is ~6.9 GB. It downloads automatically on first run and is cached in ~/.cache/huggingface/. If you don't have a GPU, the scripts will fall back to CPU but generation will be very slow (30+ min per image).


Quick Start

1. Install dependencies

pip install -r requirements.txt

2. Image-to-Image (transform your photo)

# Interactive - will ask for prompt
python scripts/img2img.py --image your_photo.jpg

# With all options
python scripts/img2img.py \
  --image your_photo.jpg \
  --prompt "1girl, blonde hair, indoor, soft lighting" \
  --lora arcadiastyle-06.safetensors \
  --strength 0.4 \
  --scale 0.88 \
  --steps 75 \
  --output result.png
Argument Default Description
--image required Input image path
--prompt interactive Scene description (arcadiastyle prefix added automatically)
--lora arcadiastyle-06.safetensors LoRA checkpoint file
--strength 0.40 Transformation strength (0.35-0.45 keeps faces, 0.5+ more stylized)
--scale 0.88 LoRA influence scale
--steps 75 Inference steps
--output auto-generated Output file path

3. Text-to-Image (generate from prompt)

# Interactive
python scripts/txt2img_test.py

# With options
python scripts/txt2img_test.py \
  --prompt "two girls sitting on bench, golden hour, autumn park" \
  --lora arcadiastyle-06.safetensors \
  --width 1024 --height 768 \
  --output scene.png
Argument Default Description
--prompt interactive Scene description (arcadiastyle prefix added automatically)
--lora arcadiastyle-06.safetensors LoRA checkpoint file
--scale 0.85 LoRA influence scale
--steps 40 Inference steps
--width 768 Output width
--height 768 Output height
--output output.png Output file path

Trigger Word

The scripts automatically prepend arcadiastyle to your prompt. You only need to describe the scene:

1girl, long blonde hair, golden hour, autumn park, soft lighting

Recommended Settings

Parameter Img2Img Txt2Img
LoRA Scale 0.85-0.90 0.80-0.85
Strength 0.35-0.45 —
Guidance Scale 7.5-9.0 7.5
Steps 50-75 40-50
Resolution 1024px max side 768-1024

Strength guide (img2img):

Value Effect
0.30-0.40 Close to original photo, light style transfer — best for portraits
0.40-0.55 Balanced — recognizable but clearly stylized
0.55-0.70 Heavy stylization — original mostly lost

Training Your Own Dataset

If you want to train your own LoRA with a different style or more images, this repo includes a Tag Editor — a local web app for managing image-tag pairs.

Dataset Structure

LoRA training requires image + caption pairs. Each image needs a .txt file with the same name:

dataset/
├── 001.png
├── 001.txt    → "arcadiastyle, 1girl, blonde hair, indoor, warm lighting"
├── 002.png
├── 002.txt    → "arcadiastyle, 2boys, outdoor, autumn, bench, golden hour"
├── 003.jpg
├── 003.txt    → "arcadiastyle, landscape, sunset, arcadia bay, painterly"
└── ...

Tag Editor

The tag editor lets you visually manage your dataset through a web UI.

python scripts/tag_editor.py
# Opens at http://localhost:5000

By default it looks for a dataset/ folder next to the script. Put your images there, or change DATASET_DIR in the script.

Features:

  • Grid view of all images with their tags side by side
  • Inline tag editing with save (click or Ctrl+S)
  • Auto-creates .txt files for new images with the trigger word prefix
  • Upload new images directly from the browser
  • Delete images + tags with one click (auto-renumbers remaining files)
  • Filter by tagged / untagged to track progress
  • Click any image to view full size
  • Background watcher that picks up new images added to the folder

Tagging tips:

  • Always start tags with your trigger word (e.g. arcadiastyle)
  • Describe only the content — people, pose, setting, lighting, mood
  • Don't add style tags (the LoRA learns the style from the images themselves)
  • Be consistent with tag vocabulary across images
  • Example: arcadiastyle, 1girl, brown hair, sitting, classroom, soft lighting, warm colors

Training

Once your dataset is tagged, you can train using kohya-colab (free on Google Colab) or any kohya_ss setup.

Training config used for this LoRA:

Parameter Value
Base Model Stable Diffusion XL Base 1.0
LoRA Type LoCon
Network Dim / Alpha 16 / 8
Conv Dim / Alpha 16 / 8
Optimizer AdamW8bit
UNet LR 3e-4
Text Encoder LR 0 (frozen)
LR Scheduler cosine_with_restarts (3 cycles)
Batch Size 2
Num Repeats 5
Epochs 10 (saved every 2)
Total Steps ~1200
Dataset 49 tagged images

Tips:

  • Save checkpoints every 2 epochs and test each one — mid-epochs (04-06) often work best
  • Upload your .safetensors files to HuggingFace for easy access
  • Test with both txt2img and img2img to find the sweet spot for LoRA scale

Project Structure

.
├── scripts/
│   ├── img2img.py          # Image-to-image inference (photo -> LiS style)
│   ├── txt2img_test.py     # Text-to-image inference
│   └── tag_editor.py       # Flask web app for dataset tag management
├── examples/               # Example outputs
├── requirements.txt
└── README.md

License

LoRA weights are released under CreativeML OpenRAIL-M.

Disclaimer

This is an unofficial, non-commercial, fan-made project created for educational and research purposes. It is not affiliated with, endorsed by, or connected to Square Enix, Dontnod Entertainment, Deck Nine, or any associated parties. The 'Arcadia Style' name is used purely as a thematic reference. Please use this model responsibly and in accordance with the CreativeML OpenRAIL-M license.

About

Arcadia Style - img2img LoRA for SDXL

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages