# ============================================================================= # AI Photo Edit - Environment Configuration # ============================================================================= # # SETUP INSTRUCTIONS: # 1. Copy this file to .env: cp .env.example .env # 2. Get API key from Replicate (see below) # 3. Paste your key in the REPLICATE_API_KEY line # 4. Rebuild: docker-compose up -d --build # # ============================================================================= # ============================================================================= # STEP 1: Choose AI Provider # ============================================================================= # Options: mock, openai, stability, replicate # # mock = Free, but returns original image unchanged (for testing UI) # openai = DALL-E 2 inpainting (~$0.02/image) - lower quality # stability = Stability AI SDXL (~$0.01/image) - good quality # replicate = Multiple models (~$0.002-0.03/image) - RECOMMENDED # # RECOMMENDED: Use "replicate" for best quality and model variety # ============================================================================= AI_PROVIDER=replicate # ============================================================================= # STEP 2: Get Your API Key # ============================================================================= # # ╔═══════════════════════════════════════════════════════════════════════════╗ # ║ REPLICATE (RECOMMENDED) ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ ║ # ║ 1. Go to: https://replicate.com ║ # ║ 2. Click "Sign in" (use GitHub, Google, or email) ║ # ║ 3. Go to: https://replicate.com/account/api-tokens ║ # ║ 4. Click "Create token" ║ # ║ 5. Copy the token (starts with "r8_") ║ # ║ 6. Paste it below after REPLICATE_API_KEY= ║ # ║ ║ # ║ FREE TIER: New accounts get some free credits to try models! ║ # ║ PRICING: ~$0.002-0.03 per image depending on model ║ # ║ ║ # ╚═══════════════════════════════════════════════════════════════════════════╝ REPLICATE_API_KEY=r8_PASTE_YOUR_KEY_HERE # ─────────────────────────────────────────────────────────────────────────── # OPENAI (Alternative - not recommended, lower quality) # Get key at: https://platform.openai.com/api-keys # ─────────────────────────────────────────────────────────────────────────── #OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # ─────────────────────────────────────────────────────────────────────────── # STABILITY AI (Alternative) # Get key at: https://platform.stability.ai/account/keys # ─────────────────────────────────────────────────────────────────────────── #STABILITY_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # ============================================================================= # STEP 3: Model Selection (OPTIONAL - for advanced users) # ============================================================================= # # By default, the system AUTO-SELECTS the best model based on your prompt: # - Prompt contains "remove/erase/delete" → Uses LaMa (fast removal) # - Prompt contains "face/hands/person" → Uses Realistic Vision # - Everything else → Uses SDXL Inpaint # # To FORCE a specific model, uncomment ONE line below: # ─────────────────────────────────────────────────────────────────────────── # REPLICATE_MODEL=sdxl-inpaint # General purpose, good quality (~$0.01) # REPLICATE_MODEL=lama # Object removal ONLY (~$0.002, fastest) # REPLICATE_MODEL=realistic-vision # Faces, hands, skin (~$0.02) # ─────────────────────────────────────────────────────────────────────────── # IMPORTANT: About Flux and other text-to-image models # ─────────────────────────────────────────────────────────────────────────── # # Models like "black-forest-labs/flux-kontext-pro" are TEXT-TO-IMAGE models. # They generate NEW images from text, they DON'T edit existing images. # # For EDITING (inpainting), you need models that accept: # - An existing image # - A mask showing what to change # - A prompt describing the change # # WORKS for editing: DOESN'T work for editing: # ✓ sdxl-inpaint ✗ flux-kontext-pro (text-to-image) # ✓ lama ✗ flux-dev (text-to-image) # ✓ realistic-vision ✗ ideogram (text-to-image) # # ─────────────────────────────────────────────────────────────────────────── # Stability AI model selection (if using AI_PROVIDER=stability) #STABILITY_MODEL=sdxl # Options: sdxl, sd15, sd21 # ============================================================================= # SECURITY (Change this in production!) # ============================================================================= SECRET_KEY=change-this-to-a-long-random-string-in-production # ============================================================================= # ADVANCED SETTINGS (Usually don't need to change) # ============================================================================= # CORS origins (comma-separated) CORS_ORIGINS=http://localhost:5173,http://localhost:3000,http://localhost:3080,http://localhost # Database path DATABASE_URL=sqlite:///./data/photoedit.db # Allow users to select model per-edit ALLOW_MODEL_OVERRIDE=true # ============================================================================= # TROUBLESHOOTING # ============================================================================= # # PROBLEM: "405 Method Not Allowed" errors # FIX: Rebuild container: docker-compose build --no-cache && docker-compose up -d # # PROBLEM: "REPLICATE_API_KEY not configured" # FIX: 1. Make sure .env file exists (not just .env.example) # 2. Make sure REPLICATE_API_KEY has your actual key # 3. Restart: docker-compose down && docker-compose up -d # # PROBLEM: Edits don't change the image # FIX: Check AI_PROVIDER isn't set to "mock" # # PROBLEM: "rembg not installed" # FIX: Rebuild: docker-compose build --no-cache backend # # PROBLEM: Smart Select uses flood-fill instead of AI # FIX: Smart Select needs REPLICATE_API_KEY for SAM model # # CHECK LOGS: docker-compose logs -f backend # # =============================================================================