Verzeta

Providers

Verzeta Studio supports eight LLM providers across three categories. Configure as many as you need, and switch between them per conversation or per team member.

The three categories

Category Providers What they are
Cloud Providers OpenAI, Anthropic, Gemini, OpenRouter, DeepSeek Hosted APIs. Paste an API key and you are ready.
Remote Servers Ollama, llama.cpp (Remote HTTP) Servers you run yourself, on this machine or another on your network.
Local Models llama.cpp (built-in engine) GGUF models run by an engine that ships with the Local AI edition. No server to install.

Where to configure: Settings → Text Providers.

Note: API keys and base URLs are stored only on this computer. They are sent to no one except the provider they belong to. See Storage details.

Cloud providers

OpenAI

Anthropic

Google Gemini

OpenRouter

DeepSeek

Pro-tip: OpenRouter and DeepSeek have an optional Base URL field. Leave it blank to use the official endpoint. Set it only if you need a proxy or a region-specific endpoint. OpenAI, Anthropic and Gemini always use their official endpoints.

Remote servers

Ollama

Pro-tip: Use the Test Connection button in the Ollama setup sheet. It pings <base-url>/api/tags. A green check means the URL is reachable and Ollama is responding.

llama.cpp (Remote)

Note: Unlike Ollama, llama.cpp does not expose a model-list endpoint we test against. Verify your server is reachable manually with curl http://localhost:8080/v1/models before relying on it.

Local models

llama.cpp (built-in engine)

Note: Because the model runs in its own process, a crash in the model does not close Verzeta Studio. Verzeta starts the engine again on the next request, and stops trying after three failed starts in a row until you restart the app.

Custom OpenAI-compatible servers

In addition to the eight providers above, Verzeta also supports any server that speaks the OpenAI /v1/chat/completions plus /v1/models contract: vLLM, LM Studio, Jan, Llamafile, TabbyAPI, KoboldCpp, LocalAI, SGLang, text-generation-webui, or your own. Configure as many as you want; each one becomes a first-class provider that any agent can route through.

See Self-hosted OpenAI-compatible servers for the full per-stack setup guide.

How configured providers are available

A configured provider is available everywhere a provider is selectable:

Note: The built-in llama.cpp engine is the only provider without a background slot, so heartbeat runs cannot use it.

Switching providers

Where How
For the whole app Settings → Defaults → Default Text Provider, then pick a model in a chat's model selector
For one conversation open the conversation, Chat Settings → Model
For one team member Chat Settings → Group Members → configure button on the member (or Folder Settings → Team Members for a project)

The change applies to the next message you send.

Image generation

Some agents can create images with the generate_image tool, and every chat has a Generate Image button. Both are enabled only once you configure an image provider in Settings → Providers → Image Generation and set it active. If no provider is active, the button is hidden.

Add one or more of:

Provider What you need
OpenRouter An OpenRouter API key and a model name. Any OpenRouter image model works, for example black-forest-labs/flux.2-pro, bytedance-seed/seedream-5-0-lite or google/gemini-2.5-flash-image.
OpenAI Images (DALL-E, gpt-image) Your OpenAI API key.
OpenAI-compatible chat with image output An API key, the service's base URL and a chat model that returns images.
Automatic1111 / SD WebUI The base URL of your self-hosted Stable Diffusion server.
Local CLI A local Stable Diffusion command-line tool on your machine.

For OpenRouter and OpenAI Images, leave Base URL empty: the app uses the official endpoint. Enter one only for a proxy. If you paste a full endpoint URL instead of the base, the app corrects it.

Set one provider active to use it. For chat models with image output, most return an image only and a few also return a text caption; if generation fails with an output-type error, pick the matching Output mode in the provider's setup sheet. While an image is being made, the status bar under the message box shows Generating image (with a percentage when the provider reports progress). A finished image appears in the chat and is also saved into your project's files under images/.

For image errors (a wrong base URL, a rejected key, or an image-only model asked for text), see Troubleshooting.

Agents that have the search_web tool look things up on the live web. You choose which search backend that tool uses in Settings → Providers → Web Search. Only one backend is active at a time, and the tool falls back to DuckDuckGo whenever the active one is unavailable or not yet configured.

Backend What you need
DuckDuckGo Nothing. Works out of the box with no key or URL, and is the default. Best-effort, so it may be rate-limited under heavy use.
Tavily, Exa, LangSearch An API key from that service. Paste the key, then set the backend active.
SearXNG (self-hosted) The base URL of your own SearXNG instance. An API key is optional.
Custom endpoint (advanced) The URL of a JSON search API you run, plus its HTTP method and auth header.

A backend cannot be set active until its requirements are met (an API key for Tavily, Exa, or LangSearch; a base URL for SearXNG), and the page states inline what is still missing. Keys and URLs are stored locally, the same as other provider credentials.

Note: Web search reaches the public internet by design. For a fully offline setup, remove search_web from an agent's tool whitelist (see Multi-agent teams).

Storage details

Troubleshooting providers

If a provider is not working, see Troubleshooting for the most common issues:

Verzeta Studio guides