Create a .env.local file in the root directory with the following variables:
# Google Gemini API Key
# Get yours at: https://aistudio.google.com/app/apikey
GEMINI_API_KEY=your_gemini_api_key_here
# Optional: Override Gemini model (default: gemini-2.5-flash-image-preview)
# NOTE: The default model may require billing enabled. Free tier has quota restrictions.
# GEMINI_MODEL=gemini-2.5-flash-image-preview
# Supabase Configuration
# Get these from your Supabase project settings
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_DEFAULT_KEY=your_supabase_publishable_key_here
# App URL (for OG images and sharing)
# Use your production URL when deployed
NEXT_PUBLIC_URL=http://localhost:3000
# Brand/Event Name (optional - used in prompts and UI)
NEXT_PUBLIC_BRAND_NAME=Your Event Name-
Install dependencies:
npm install
-
Set up Supabase:
- Go to supabase.com and create a project
- In the SQL Editor, run the SQL from
supabase/schema.sql - Copy your project URL and publishable/default key to
.env.local
-
Get Gemini API Key:
- Go to Google AI Studio
- Create a new API key
- Add it to
.env.local - Important: The
gemini-2.5-flash-image-previewmodel may require billing enabled in Google Cloud Console. Free tier has limited quota (often 0 requests). If you encounter quota errors:- Enable billing in Google Cloud Console
- Or wait for quota to reset (check rate limit message for retry time)
- Or try a different model by setting
GEMINI_MODELin.env.local
-
Run the app:
npm run dev
- Update outfit styles in
lib/gemini-api.ts - Update brand colors in
tailwind.config.ts - Update brand colors in
lib/gemini-api.ts(BRAND_COLORS) - Set
NEXT_PUBLIC_BRAND_NAMEin.env.local - Update UI text in
app/page.tsxand components - Update metadata in
app/layout.tsx