# Copy to .env.local (never commit real secrets — .env* is gitignored). # --------------------------------------------------------------------------- # Persistence (Supabase) — see docs/DEPLOY.md. Without these the app runs on # browser-local storage only. Client-safe (anon key is gated by RLS). # --------------------------------------------------------------------------- # NEXT_PUBLIC_SUPABASE_URL=https://YOUR-PROJECT.supabase.co # NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-public-key # NEXT_PUBLIC_SUPABASE_BUCKET=media # --------------------------------------------------------------------------- # Generative image editing backend (Restore / Colorize / Replace-Sky / Prompt). # NOT required to run the app: object detection, faces, OCR, and Remove Background # all run FREE in-browser with no key. Full guide: docs/AI-SETUP.md # --------------------------------------------------------------------------- # AI_EDIT_PROVIDER=auto # auto | runpod | local | huggingface | gemini | none # # Option 0 — RunPod serverless GPU endpoints (one per model; key stays server-side). # `auto` picks this first when RUNPOD_API_KEY + an SD URL are set. Deploy endpoints so # their URLs end in /runsync. Full map (op → endpoint) in docs/AI-SETUP.md. # AI_EDIT_PROVIDER=runpod # RUNPOD_API_KEY=rpa_xxxxxxxx # RUNPOD_SD_IMG2IMG_URL=https://api.runpod.ai/v2//runsync # #10 prompt (img2img) # RUNPOD_SD_INPAINT_URL=https://api.runpod.ai/v2//runsync # #9 replace-sky / magic-eraser / generative-fill (masked) # RUNPOD_UPSCALE_URL=https://api.runpod.ai/v2//runsync # #7 restore / upscale (Real-ESRGAN) # RUNPOD_COLORIZE_URL=https://api.runpod.ai/v2//runsync # #8 colorize (DDColor) # RUNPOD_BG_REMOVE_URL=https://api.runpod.ai/v2//runsync # #6 (optional; default is in-browser @imgly) # RUNPOD_YOLO_URL=https://api.runpod.ai/v2//runsync # #1 detection (needs the flag below) # NEXT_PUBLIC_APG_RUNPOD_DETECT=false # true = use #1 YOLO server detection (else free in-browser COCO-SSD) # NEXT_PUBLIC_APG_RUNPOD_BG=false # true = use the #6 U²-Net endpoint for Remove Background # # (needs RUNPOD_BG_REMOVE_URL). Falls back to the free # # in-browser @imgly remover if the request fails. # NEXT_PUBLIC_APG_RUNPOD_TILT=false # true = show the editor's Auto-straighten button and call # # /api/ai/tilt (#2). Needs RUNPOD_TILT_URL deployed; # # leave false and the button stays hidden. # All three switches are NEXT_PUBLIC_ (inlined at BUILD time) and must be the literal # string "true" to enable — anything else is off, and a change needs a rebuild. # Optional SD tuning: RUNPOD_SD_STEPS RUNPOD_SD_STRENGTH RUNPOD_SD_GUIDANCE RUNPOD_SD_NEGATIVE_PROMPT # Scaffold-only (typed client, no route/UI yet): RUNPOD_TILT_URL (#2) RUNPOD_STT_URL (#3) # RUNPOD_AUDIO_DENOISE_URL (#12) RUNPOD_VIDEO_FPS_URL (#13) RUNPOD_VIDEO_UPSCALE_URL (#14) # # Option 1 — your own local Stable Diffusion (AUTOMATIC1111/Forge/SD.Next; free + private): # LOCAL_SD_URL=http://127.0.0.1:7860 # LOCAL_SD_DENOISE=0.55 # LOCAL_SD_STEPS=25 # LOCAL_SD_SAMPLER=Euler a # # Option 2 — free Hugging Face Inference API (free token, no GPU): # HF_API_TOKEN=hf_xxxxxxxx # HF_IMAGE_MODEL=timbrooks/instruct-pix2pix # # Option 3 — Google Gemini (image output needs a BILLED key; free tier is text-only): # GEMINI_API_KEY= # GEMINI_IMAGE_MODEL=gemini-2.5-flash-image # Optional: override the demo seed image source. # NEXT_PUBLIC_SEED_IMAGE_HOST=https://picsum.photos # --------------------------------------------------------------------------- # UI customization (all optional; unset = SDK defaults). Full guide: docs/ENV.md # --------------------------------------------------------------------------- # Feature flags (true/false) — hide any capability: # NEXT_PUBLIC_APG_EDITOR=true # NEXT_PUBLIC_APG_CAMERA=true # NEXT_PUBLIC_APG_AI=true # NEXT_PUBLIC_APG_MAP=true # NEXT_PUBLIC_APG_IMPORT=true # NEXT_PUBLIC_APG_EXPORT=true # NEXT_PUBLIC_APG_SHARING=true # # Theme & appearance: # NEXT_PUBLIC_APG_THEME=system # system | light | dark | semi-dark # NEXT_PUBLIC_APG_ACCENT=#0a84ff # NEXT_PUBLIC_APG_RADIUS=10 # base corner radius (px) # NEXT_PUBLIC_APG_SIDEBAR_RADIUS=14 # sidebar panel radius (px) # NEXT_PUBLIC_APG_BG_DARK=linear-gradient(165deg,#141018,#241426) # color OR gradient # NEXT_PUBLIC_APG_BG_LIGHT=#ffffff # NEXT_PUBLIC_APG_SIDEBAR_BG_DARK=rgba(20,20,22,0.6) # rgba() for opacity # NEXT_PUBLIC_APG_SIDEBAR_BG_LIGHT=rgba(246,246,248,0.72) # NEXT_PUBLIC_APG_ELEVATED_DARK=#2c2c2e # NEXT_PUBLIC_APG_ELEVATED_LIGHT=#f5f5f7 # NEXT_PUBLIC_APG_TEXT_DARK=#f5f5f7 # NEXT_PUBLIC_APG_TEXT_LIGHT=#1d1d1f