# ============================================================================= # OpenMAIC Environment Variables # Copy this file to .env.local and fill in the values you need. # All variables are optional — only configure the providers you want to use. # You can also use server-providers.yml for configuration (see docs). # ============================================================================= # --- LLM Providers ----------------------------------------------------------- # Format: {PROVIDER}_API_KEY, {PROVIDER}_BASE_URL (optional), {PROVIDER}_MODELS (optional, comma-separated) OPENAI_API_KEY= OPENAI_BASE_URL= OPENAI_MODELS= ANTHROPIC_API_KEY= ANTHROPIC_BASE_URL= ANTHROPIC_MODELS= GOOGLE_API_KEY= GOOGLE_BASE_URL= GOOGLE_MODELS= DEEPSEEK_API_KEY= DEEPSEEK_BASE_URL= # Example: deepseek-v4-pro,deepseek-v4-flash DEEPSEEK_MODELS= QWEN_API_KEY= QWEN_BASE_URL= QWEN_MODELS= KIMI_API_KEY= KIMI_BASE_URL= KIMI_MODELS= MINIMAX_API_KEY= # MiniMax Anthropic-compatible endpoint for the built-in Anthropic SDK integration MINIMAX_BASE_URL=https://api.minimaxi.com/anthropic/v1 # Example: MiniMax-M2.7-highspeed,MiniMax-M2.7,MiniMax-M2.5-highspeed,MiniMax-M2.5 MINIMAX_MODELS= GLM_API_KEY= GLM_BASE_URL= GLM_MODELS= SILICONFLOW_API_KEY= SILICONFLOW_BASE_URL= SILICONFLOW_MODELS= DOUBAO_API_KEY= DOUBAO_BASE_URL= DOUBAO_MODELS= OPENROUTER_API_KEY= OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 # Example: deepseek/deepseek-v4-pro,deepseek/deepseek-v4-flash OPENROUTER_MODELS= GROK_API_KEY= GROK_BASE_URL= GROK_MODELS= TENCENT_API_KEY= # Tencent TokenHub OpenAI-compatible endpoint. Hy3 is a model ID, not an env prefix. # TENCENT_HUNYUAN_* is also accepted as an alias. TENCENT_BASE_URL=https://tokenhub.tencentmaas.com/v1 # Example: hy3-preview,hunyuan-2.0-thinking-20251109,hunyuan-2.0-instruct-20251111 TENCENT_MODELS= XIAOMI_API_KEY= # MIMO_* is also accepted as an alias. XIAOMI_BASE_URL=https://api.xiaomimimo.com/v1 # Example: mimo-v2.5-pro,mimo-v2.5 XIAOMI_MODELS= # --- Ollama (Local Models) --------------------------------------------------- # No API key needed. Configure BASE_URL here (server-side) so it bypasses SSRF # protection automatically. Client-supplied localhost URLs are blocked in production. # OLLAMA_BASE_URL=http://localhost:11434/v1 # OLLAMA_MODELS=llama3.3,llama3.2,qwen2.5,mistral,gemma3 # --- TTS (Text-to-Speech) ---------------------------------------------------- TTS_OPENAI_API_KEY= TTS_OPENAI_BASE_URL= TTS_AZURE_API_KEY= TTS_AZURE_BASE_URL= TTS_GLM_API_KEY= TTS_GLM_BASE_URL= TTS_QWEN_API_KEY= TTS_QWEN_BASE_URL= TTS_MINIMAX_API_KEY= # MiniMax TTS endpoint (speech-2.8 / 2.6 / 02 / 01 series) TTS_MINIMAX_BASE_URL=https://api.minimaxi.com TTS_ELEVENLABS_API_KEY= TTS_ELEVENLABS_BASE_URL= # --- ASR (Automatic Speech Recognition) -------------------------------------- ASR_OPENAI_API_KEY= ASR_OPENAI_BASE_URL= ASR_QWEN_API_KEY= ASR_QWEN_BASE_URL= # --- PDF Processing ----------------------------------------------------------- PDF_UNPDF_API_KEY= PDF_UNPDF_BASE_URL= PDF_MINERU_API_KEY= PDF_MINERU_BASE_URL= # --- Image Generation --------------------------------------------------------- IMAGE_OPENAI_API_KEY= IMAGE_OPENAI_BASE_URL=https://api.openai.com/v1 IMAGE_SEEDREAM_API_KEY= IMAGE_SEEDREAM_BASE_URL= IMAGE_QWEN_IMAGE_API_KEY= IMAGE_QWEN_IMAGE_BASE_URL= IMAGE_NANO_BANANA_API_KEY= IMAGE_NANO_BANANA_BASE_URL= IMAGE_MINIMAX_API_KEY= # Example models: image-01, image-01-live IMAGE_MINIMAX_BASE_URL=https://api.minimaxi.com IMAGE_GROK_API_KEY= IMAGE_GROK_BASE_URL= # --- Video Generation --------------------------------------------------------- VIDEO_SEEDANCE_API_KEY= VIDEO_SEEDANCE_BASE_URL= VIDEO_KLING_API_KEY= VIDEO_KLING_BASE_URL= VIDEO_VEO_API_KEY= VIDEO_VEO_BASE_URL= VIDEO_SORA_API_KEY= VIDEO_SORA_BASE_URL= VIDEO_MINIMAX_API_KEY= # Example models: MiniMax-Hailuo-2.3, MiniMax-Hailuo-2.3-Fast, MiniMax-Hailuo-02 VIDEO_MINIMAX_BASE_URL=https://api.minimaxi.com VIDEO_GROK_API_KEY= VIDEO_GROK_BASE_URL= # --- Web Search --------------------------------------------------------------- # Note: Grok (xAI) web search is available via chat completions + search tools, # not as a standalone search API. Use Grok LLM provider with search_parameters # in chat requests. See: https://docs.x.ai/docs/guides/tools/search-tools TAVILY_API_KEY= # --- Proxy (optional) -------------------------------------------------------- # HTTP_PROXY= # HTTPS_PROXY= # --- Misc --------------------------------------------------------------------- # Optional server-side default model for API routes like /api/generate-classroom # Example: anthropic:claude-3-5-haiku-20241022 or google:gemini-3-flash-preview # OpenAI example: openai:gpt-5.5 # MiniMax example: minimax:MiniMax-M2.7-highspeed DEFAULT_MODEL= # LOG_LEVEL=info # LOG_FORMAT=pretty # LLM_THINKING_DISABLED=false # --- Local/Self-hosted Deployment --------------------------------------------- # Set to "true" to allow private/local network URLs (e.g. localhost, 192.168.x.x). # Required for self-hosted models like Ollama. Do NOT enable on public deployments. # ALLOW_LOCAL_NETWORKS=true # --- Access Control ----------------------------------------------------------- # Set a password to restrict site access. When set, users must enter this code # before using the app. Leave empty or remove to disable access control. # ACCESS_CODE=your-secret-code