A GenAI-powered system that generates cinematic Adobe Lightroom presets by analyzing image differences. Separates semantic intent (AI) from deterministic parameter generation to avoid hallucination.
- Image difference analysis
- AI-powered semantic style inference
- Deterministic Lightroom parameter generation
- Lightroom
.xmppreset export - FastAPI backend + Simple frontend
.
├── backend/
│ ├── api/
│ │ └── routes.py
│ ├── services/
│ │ ├── color_safety.py
│ │ ├── feature_diff.py
│ │ ├── image_analysis.py
│ │ ├── lab_color_transfer.py
│ │ ├── llm_service.py
│ │ └── preset_generator.py
│ ├── .env
│ ├── config.py
│ └── main.py
├── frontend/
│ ├── app.js
│ ├── index.html
│ └── style.css
├── README.md
└── requirements.txt
git clone https://github.com/yourusername/your-repo-name.git
cd your-repo-name
python -m venv venv
source venv/bin/activate # Linux/Mac or venv\Scripts\activate for Windows
pip install -r requirements.txtCreate .env file in the backend/ directory:
GEMINI_API_KEY=your_api_key_here
Create .gitignore:
.env
backend/.env
venv/
__pycache__/
*.pyc
*.xmp
cd backend
uvicorn main:app --reload- Backend API:
http://127.0.0.1:8000 - API Docs:
http://127.0.0.1:8000/docs
Open frontend/index.html in your browser or serve it with:
cd frontend
python -m http.server 8080Then visit http://localhost:8080
POST /generate-preset
- Upload reference and target images
- Returns
.xmppreset file
GET /download/{filename}
- Download generated preset