# VideoSeek-CLI Environment Variables # Copy this file to .env and fill in your values # OpenRouter API key for AI-powered video frame analysis # Required for real video analysis; omit to run in mock/demo mode # Get yours at: https://openrouter.ai OPENROUTER_API_KEY= # OpenRouter base URL (default is production) OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 # Model to use for vision-based frame analysis (OpenRouter model ID) # Default: google/gemini-2.5-flash (best balance of speed/quality) # # Premium models (highest accuracy): # x-ai/grok-4.20-multi-agent-beta ctx=2000k # x-ai/grok-4.20-beta ctx=2000k # openai/gpt-5.4-pro ctx=1050k # openai/gpt-5.4 ctx=1050k # google/gemini-3.1-pro-preview-customtools ctx=1048k # google/gemini-3.1-pro-preview ctx=1048k # # Budget models (fastest / most economical): # google/gemini-2.5-flash ctx=1048k ← default # google/gemini-2.5-flash-lite ctx=1048k # google/gemini-3-flash-preview ctx=1048k # google/gemini-3.1-flash-lite-preview ctx=1048k # x-ai/grok-4-fast ctx=2000k # x-ai/grok-4.1-fast ctx=2000k # xiaomi/mimo-v2-pro ctx=1048k VIDEOSEEK_MODEL=google/gemini-2.5-flash # Number of frames to sample per second of video (higher = more accurate, slower) # Default: 1 (one frame per second) VIDEOSEEK_FPS=1 # Maximum frames to analyze per query (cap to avoid excessive API costs) # Default: 300 VIDEOSEEK_MAX_FRAMES=300 # Similarity threshold for matching (0.0-1.0, lower = stricter) # Default: 0.35 VIDEOSEEK_SIMILARITY_THRESHOLD=0.35 # ChromaDB persistence directory (where frame embeddings are cached) # Default: .videoseek_db VIDEOSEEK_DB_PATH=.videoseek_db # FastAPI server host (for API mode) # Default: 0.0.0.0 VIDEOSEEK_HOST=0.0.0.0 # FastAPI server port (for API mode) # Default: 8000 VIDEOSEEK_PORT=8000 # Gradio web UI port # Default: 7860 VIDEOSEEK_GRADIO_PORT=7860 # Sentence-transformers model for local embeddings (used for ChromaDB indexing) # Default: all-MiniLM-L6-v2 VIDEOSEEK_EMBEDDING_MODEL=all-MiniLM-L6-v2 # Maximum tokens the vision model may generate per frame description # Higher = more detailed descriptions but more cost; Default: 120 VIDEOSEEK_MAX_TOKENS=120 # Vision API image detail level: low | high | auto # 'low' is sufficient for most searches and is 6x cheaper; Default: low VIDEOSEEK_VISION_DETAIL=low # Number of times to retry failed API calls before giving up # Default: 3 VIDEOSEEK_RETRY_ATTEMPTS=3 # Base delay in seconds between retries (doubles on each attempt — exponential backoff) # Default: 1.0 VIDEOSEEK_RETRY_DELAY=1.0 # Directory where exported frame images are saved (videoseek export-frames) # Default: videoseek_exports VIDEOSEEK_EXPORT_DIR=videoseek_exports # HTTP timeout in seconds for vision API calls # Default: 30 VIDEOSEEK_VISION_TIMEOUT=30 # Maximum width/height (pixels) for frame thumbnails sent to the vision API # Smaller = faster/cheaper; larger = more detail. Default: 512 VIDEOSEEK_FRAME_SIZE=512 # JPEG compression quality for frame thumbnails (1-95) # Lower = smaller payload but less detail. Default: 75 VIDEOSEEK_FRAME_QUALITY=75 # Enable verbose debug logging # Default: false VIDEOSEEK_DEBUG=false