Structural settings (provider names, model ids, bucket names) are stored in the committed workspace config; API keys and credentials go into the encrypted secrets store, protected by
STUDIOGRAPH_MASTER_KEY — see Configuration. Every key field has a Test connection button that verifies the credential against the real service.
AI Provider
The language model that powers the agent. Choose a provider — Anthropic, OpenAI, Google, xAI, Groq, or OpenRouter — pick a model, and paste your own API key.- The model field is a combobox: focusing it suggests curated models for the selected provider, and typing accepts any model id — useful for OpenRouter’s long tail or a just-released model that isn’t curated yet.
- API keys are stored per provider. Switching from Anthropic to OpenAI and back keeps both keys intact — you don’t re-enter a key when you switch back.
- You can also set the provider at deploy time (first-boot prompt, Docker env vars, or
studiograph deploy railway --provider … --model … --api-key …) and change it here later.
Image generation
Lets the agent generate images. Image generation runs through OpenRouter, independent of the chat provider above — so you can chat on Anthropic and generate images with a Google or OpenAI image model through one OpenRouter key.- OpenRouter API key — if your AI Provider is already OpenRouter, it’s the same key (entering it in either place keeps both in sync).
- Model — defaults to
google/gemini-2.5-flash-image(Nano Banana). Curated alternatives are GPT-5 Image (openai/gpt-5-image) and FLUX.2 Pro (black-forest-labs/flux.2-pro), and you can type any OpenRouter image model id. Leave it blank to use the default.
Web Search
Off by default. Choose a search provider to let the agent search the web during chats:- Model native — searches run through your AI provider’s own built-in web search, using the API key you already set. No separate search account: your model provider bills the searches (roughly 1–1.5¢ each). Supported when the AI provider is Anthropic, OpenAI, Google, xAI, or OpenRouter. If your provider doesn’t offer native search (for example Groq), searches fall back to a standalone key below if one is set — otherwise web search stays off.
- Brave or Tavily — paste the service’s API key.
- Google — paste an API key and a Programmable Search Engine ID (the
cxparameter). - None — turns web search off.
Semantic Search
Optional. Paste a Voyage AI key and search understands meaning, not only keywords — every entry is embedded as it’s indexed, and queries match by similarity as well as text. Without a key, search still works fine on keyword matching alone. Adding or removing the key requires no other changes; new content is embedded as it’s indexed.Asset Storage
Where uploaded files (images, video, audio, fonts, PDFs) live. Entries themselves are text in the workspace’s git repository — this panel only concerns uploads.- Local (default) — files are stored in
.studiograph/assets/on the server’s disk. Zero configuration. - Cloudflare R2 — files are stored in an R2 bucket and served via signed URLs. Enter the account ID, bucket name, public URL, and credentials. Once R2 is active, a Sync action moves any files still sitting on local disk into the bucket, so storage stays in one place.
Everything else
Two settings panels outside Providers complete the picture:- Settings → Agents — each member’s personal thinking level for the agent, the workspace’s MCP endpoint URL, and personal access tokens for connecting Claude Code, Codex, and other AI tools.
- Settings → External connectors — outside MCP servers the agent can call (calendars, trackers, CRMs). See Connectors.