| # ============================================================================= | |
| # 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 | |