
What it does
Users upload photo collections and search them by face, generate images, train their own LoRA from a few photos, and try garments on people. Each of those is heavy GPU work, so the app never runs it inside a web request.
How it is built
- A React front end and a Django API and admin.
- Celery workers queue and track the GPU jobs.
- FastAPI engines for image generation, LoRA training (a wrapper around kohya_ss) and virtual try-on.
- Postgres, Redis and Nginx, all in Docker, with a GPU profile for real workloads.
The LoRA pipeline
Upload a dataset, queue the job, train, and the model is stored as a .safetensors file and marked ready. The run in the poster trained on Realistic Vision 5.1 for 150 steps at 512 pixels, network dim 16, in 126 seconds, and produced the four samples shown. Training ran end to end on Kaggle GPUs.
Virtual try-on and licences
Try-on goes through a provider router: two hosted APIs, a synthetic FLUX.2 klein 4B path (Apache-2.0), and a self-hosted model. The self-hosted one depends on a human parser under a non-commercial licence, so it is used for testing only and paying traffic is routed to a hosted provider. If a provider fails, the router falls back and marks the job.
Try-on demos
Screen recordings of Outfit Studio running on my machine: pick a garment photo and a person photo, choose the target group and garment type, and the job goes through the queue to the try-on engine. The finished image appears in the job list and opens full size. Recordings are sped up 2x; the waiting time is real GPU inference.
Message me on the platform where you found this and I will answer there.