OpenMAIC generation does not automatically reuse the OpenClaw agent's current model or API key.
OpenMAIC server APIs resolve their own model and provider keys from OpenMAIC server-side config.
This skill does not rely on runtime overrides for model, provider, API key, base URL, or provider type.
If the user wants to change any of those, they must edit OpenMAIC server-side config files.
.env.local or server-providers.yml themselves..env.local (recommended for most users)server-providers.ymlRecommended when the user wants the smallest amount of configuration.
Set:
ANTHROPIC_API_KEY=sk-ant-...
Why:
gpt-4o-mini if DEFAULT_MODEL is unset.DEFAULT_MODEL explicitly.Recommended when the user is willing to set one extra variable.
Set:
GOOGLE_API_KEY=...
DEFAULT_MODEL=google:gemini-3-flash-preview
Why:
google: prefix is important. Without a provider prefix, model parsing defaults to OpenAI.Use when the user already has OpenAI or another supported provider configured and wants to stick with it.
Examples:
OPENAI_API_KEY=sk-...
DEFAULT_MODEL=openai:gpt-4o-mini
DEEPSEEK_API_KEY=...
DEFAULT_MODEL=deepseek:deepseek-chat
When recommending or showing DEFAULT_MODEL, always include the provider prefix:
google:gemini-3-flash-previewanthropic:claude-3-5-haiku-20241022openai:gpt-4o-minideepseek:deepseek-chatDo not recommend bare model IDs such as gemini-3-flash-preview by themselves, because OpenMAIC will otherwise parse them as OpenAI models.
Do not work around a wrong DEFAULT_MODEL by changing request parameters. The user should fix the server-side config instead.
For first setup, prefer .env.local:
cp .env.example .env.local
Then fill the chosen keys.
Alternative: server-providers.yml
providers:
anthropic:
apiKey: sk-ant-...
google:
apiKey: ...
openai:
apiKey: sk-...
If using a non-default provider for classroom generation, also set the model selection explicitly:
DEFAULT_MODEL=google:gemini-3-flash-preview
Preferred:
.env.local first. Please edit that file locally and tell me when you're done."DEFAULT_MODEL=google:gemini-3-flash-preview. Which path do you want?"Avoid as the first move:
These features require additional provider keys beyond the core LLM provider. Ask the user if they want to enable any of these after the core LLM key is configured.
| Feature | Env Variable(s) | Description |
|---|---|---|
| Web Search | TAVILY_API_KEY |
Enriches outlines with real-time web research |
| Image Generation | IMAGE_SEEDREAM_API_KEY, IMAGE_QWEN_IMAGE_API_KEY, IMAGE_NANO_BANANA_API_KEY |
Generates images for slides (any one suffices) |
| Video Generation | VIDEO_SEEDANCE_API_KEY, VIDEO_KLING_API_KEY, VIDEO_VEO_API_KEY, VIDEO_SORA_API_KEY |
Generates short videos (any one suffices) |
| TTS | TTS_OPENAI_API_KEY, TTS_AZURE_API_KEY, TTS_GLM_API_KEY, TTS_QWEN_API_KEY |
Text-to-speech narration (any one suffices) |
These are all optional. The classroom generation works without them — they only unlock richer content.
Alternatively, configure via server-providers.yml:
web-search:
tavily:
apiKey: tvly-...
image:
seedream:
apiKey: ...
video:
seedance:
apiKey: ...
tts:
openai-tts:
apiKey: sk-...