# Agent LLMs via Vercel AI SDK. Configure any number of providers independently. # LLM_PROVIDER only controls the initially selected provider in AI Chat. LLM_PROVIDER=anthropic LLM_ANTHROPIC_BASE_URL=https://api.anthropic.com/v1 LLM_ANTHROPIC_API_KEY= LLM_ANTHROPIC_MODEL=claude-fable-5 LLM_OPENAI_BASE_URL=https://api.openai.com/v1 LLM_OPENAI_API_KEY= LLM_OPENAI_MODEL=gpt-5 # responses (default) or chat LLM_OPENAI_API_MODE=responses LLM_GEMINI_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai LLM_GEMINI_API_KEY= LLM_GEMINI_MODEL=gemini-3.5-flash LLM_KIMI_BASE_URL=https://api.moonshot.ai/v1 LLM_KIMI_API_KEY= LLM_KIMI_MODEL=kimi-k3 LLM_QWEN_BASE_URL=https://dashscope-us.aliyuncs.com/compatible-mode/v1 LLM_QWEN_API_KEY= LLM_QWEN_MODEL=qwen-plus LLM_GLM_BASE_URL=https://open.bigmodel.cn/api/paas/v4 LLM_GLM_API_KEY= LLM_GLM_MODEL=glm-5.2 LLM_DEEPSEEK_BASE_URL=https://api.deepseek.com LLM_DEEPSEEK_API_KEY= LLM_DEEPSEEK_MODEL=deepseek-v4-pro LLM_STEPFUN_BASE_URL=https://api.stepfun.com/v1 LLM_STEPFUN_API_KEY= LLM_STEPFUN_MODEL=step-3.7-flash # BytePlus ModelArk: one endpoint fronting many hosted models. Swap the model id # to any model activated in the BytePlus console (DeepSeek, GLM, Doubao-Seed, ...). LLM_BYTEPLUS_BASE_URL=https://ark.ap-southeast.bytepluses.com/api/v3 LLM_BYTEPLUS_API_KEY= LLM_BYTEPLUS_MODEL=deepseek-v4-pro LLM_MINIMAX_BASE_URL=https://api.minimaxi.com/v1 LLM_MINIMAX_API_KEY= LLM_MINIMAX_MODEL=MiniMax-M3 LLM_MISTRAL_BASE_URL=https://api.mistral.ai/v1 LLM_MISTRAL_API_KEY= LLM_MISTRAL_MODEL=mistral-large-latest # Server-only image generation credentials. Never use a VITE_ prefix. IMAGE_BASE_URL=https://api.openai.com IMAGE_API_KEY= GEMINI_BASE_URL=https://generativelanguage.googleapis.com GEMINI_API_KEY= GEMINI_IMAGE_MODEL=gemini-3.1-flash-image WAVESPEED_BASE_URL=https://api.wavespeed.ai WAVESPEED_API_KEY= WAVESPEED_IMAGE_MODEL=wavespeed-ai/flux-dev ELEVENLABS_BASE_URL=https://api.elevenlabs.io ELEVENLABS_API_KEY= ELEVENLABS_TTS_MODEL=eleven_multilingual_v2 ELEVENLABS_SOUND_MODEL=eleven_text_to_sound_v2 DOUBAO_TTS_BASE_URL=https://openspeech.bytedance.com DOUBAO_TTS_APP_ID= DOUBAO_TTS_ACCESS_KEY= DOUBAO_TTS_RESOURCE_ID=seed-tts-2.0 INWORLD_TTS_BASE_URL=https://api.inworld.ai INWORLD_TTS_API_KEY= INWORLD_TTS_MODEL=inworld-tts-2 FISHAUDIO_TTS_BASE_URL=https://api.fish.audio FISHAUDIO_TTS_API_KEY= FISHAUDIO_TTS_MODEL=s2.1-pro SPEECHIFY_TTS_BASE_URL=https://api.sws.speechify.com SPEECHIFY_TTS_API_KEY= SPEECHIFY_TTS_MODEL=simba-multilingual MUREKA_BASE_URL=https://api.mureka.ai MUREKA_API_KEY= MUREKA_MUSIC_MODEL=auto # Optional Atlas Cloud music provider (single async POST, then prediction polling) ATLASCLOUD_API_BASE=https://api.atlascloud.ai/api/v1 ATLASCLOUD_API_KEY= ATLASCLOUD_MUSIC_MODEL=minimax/music-2.6 SEEDANCE_BASE_URL=https://ark.cn-beijing.volces.com/api/v3 SEEDANCE_API_KEY= SEEDANCE_VIDEO_MODEL=doubao-seedance-2-0-260128 KLING_BASE_URL=https://api-singapore.klingai.com KLING_API_KEY= KLING_VIDEO_MODEL=kling-v3-omni # BytePlus ModelArk: one Key/Base URL pair covers both image (Seedream) and video (Seedance) # generation, same convention as MiniMax above. Separate from LLM_BYTEPLUS_* (Agent chat). BYTEPLUS_BASE_URL=https://ark.ap-southeast.bytepluses.com/api/v3 BYTEPLUS_API_KEY= BYTEPLUS_IMAGE_MODEL=seedream-4-5-251128 BYTEPLUS_VIDEO_MODEL=seedance-1-5-pro-251215 # Firecrawl web-browser integration — server-only; never VITE_ # Can also come from shell export (e.g. ~/.claude/secrets/search-apis.env) FIRECRAWL_API_KEY= # Stock media (search_stock_media) — any one enables stock capability PEXELS_API_KEY= PIXABAY_API_KEY= UNSPLASH_ACCESS_KEY= FREESOUND_API_KEY= # Optional Cloudflare R2 storage. When all four values are set, uploads write through to R2 and local disk acts as a cache. # Create a bucket and an Object Read & Write API token in R2. The bucket may remain private; reads use the local service. R2_ACCOUNT_ID= R2_ACCESS_KEY_ID= R2_SECRET_ACCESS_KEY= R2_BUCKET= # Optional asset directory. Use an absolute path or ~/ prefix; leave blank for public/media/uploads/. # Existing assets are copied to a new directory automatically while original files and project paths remain unchanged. MEDIA_DIR= # Optional restriction for Agent local media browsing/import. Empty allows all local paths. # Use comma-separated absolute paths to restrict access to specific roots. AGENT_IMPORT_ROOTS= # Optional per-file upload limit in bytes. Unset or invalid values use the finite 20 GiB # editor-safe default. Lower this for constrained disks or deployment request limits. # UPLOAD_MAX_BYTES=10737418240 # Optional export tuning. Each export uses up to about 80% CPU by default and is memory-capped at 24 workers. # macOS uses VideoToolbox. Windows uses NVENC for primary rendering when available and otherwise falls back to CPU. # Set Remotion concurrency per export as an integer or percentage, such as 6 or 75%. # OPENCHATCUT_RENDER_CONCURRENCY=80% # Concurrent heavy exports default to 1 and are capped at 4; other jobs remain queued to avoid resource contention. # OPENCHATCUT_MAX_ACTIVE_EXPORTS=1 # Disable hardware encoding for troubleshooting or consistent software-encoding output. # OPENCHATCUT_DISABLE_HARDWARE_ENCODING=0 # Advanced override for FFmpeg asset normalization and frame-rate conversion only; it does not control primary Remotion rendering: # h264_videotoolbox / h264_nvenc / h264_qsv / h264_amf / libx264 # OPENCHATCUT_H264_ENCODER= # Authentication for the community resource preview renderer; use the same value for the website RESOURCE_PREVIEW_TOKEN. RESOURCE_PREVIEW_TOKEN=