UsersInference Providers

Inference Providers

StudioBrain can route AI work to several different kinds of inference backends. The important distinction is not just which provider you pick, but what kind of provider it is because that changes setup, hardware, and troubleshooting.

This page is the user-facing reference for the inference provider taxonomy used by the gateway and setup UI.

The Six Categories

CategoryWhat it meansExamplesTypical setup
local_inprocessInference runs inside the gateway process itself. Nothing separate is launched.mistralrs, candle, llamacppEnable the feature in the build or use a build that already includes it
local_spawnedStudioBrain downloads and runs a local binary for you.llama-server, mistralrs-server, exllamav2, whisper-cpp-serverInstall the engine, then let the gateway supervise it
lan_endpointYou already run a compatible server on your machine or LAN. StudioBrain connects to it.Ollama, LM Studio, Jan, vLLM HTTP, generic OpenAI-compatible endpointsEnter the host/port or let StudioBrain probe the endpoint
distributedOne logical model is spread across multiple machines.llama.cpp RPC, distributed vLLMConfigure peers and cluster RPC before use
cloud_providerDirect hosted API from a model vendor.OpenAI, Anthropic, Google, xAI, DashScope, Z.AI, Mistral, Cohere, DeepSeek, Groq, Perplexity, TogetherAdd an API key and verify the provider
llm_routerA gateway in front of one or more providers.OpenRouter, LiteLLM Proxy, Azure OpenAI, Vertex AI, Bedrock, Portkey, Cloudflare AIAdd base URL + credentials, then verify

Capabilities

Each engine in the registry advertises capability tags that tell StudioBrain what kinds of workloads it can handle. The gateway uses these tags to route requests to the right backend automatically.

CapabilityWhat it meansSupported by
text-generationGenerates text responses (chat, completion)All LLM backends
embeddingProduces vector embeddings for search/RAGMost local + cloud LLMs
image_generationCreates images from promptsComfyUI, Stable Diffusion engines
visionAccepts images as input (multimodal)OpenAI, Anthropic, Gemini, select local models
speech_to_textTranscribes audio to textWhisper-based engines

Capability tags are visible in the Settings → Engines UI, where each engine shows what it can do. When you select a model by capability (e.g., “I need text generation”), StudioBrain picks the best available backend that advertises that tag.

Community Names

Engines in the registry also carry community names — alternative names you might know them by. This lets StudioBrain match engines by fuzzy search (e.g., searching “chatgpt” surfaces OpenAI-compatible backends, “llamacpp” surfaces llama-server).

Community names appear in the engine catalog search bar and in AI Workshop when selecting an inference engine by name.

Install Methods

StudioBrain dispatches the install flow differently depending on the engine’s category. Each engine descriptor specifies an install method that determines how StudioBrain sets it up:

Install MethodCategoryWhat StudioBrain does
downloadlocal_spawnedDownloads the engine binary, verifies checksums, configures launch template
api_keycloud_providerPrompts for API key, validates connectivity, stores encrypted
configurelan_endpointPrompts for host/port, probes the endpoint, verifies OpenAI compatibility
built_inlocal_inprocessAlready compiled into the gateway binary — no install needed
peer_setupdistributedConfigures cluster RPC, validates peer connectivity

How install works under the hood: When you click “Install” on an engine in Settings → Engines, StudioBrain reads the engine’s install.type field and dispatches to the appropriate handler. For download, it fetches the binary and sets up supervision. For api_key, it stores the key and tests connectivity. For configure, it probes the endpoint. No manual steps needed.

Engine Types & Hardware Variants

StudioBrain’s engine installer (accessed via Settings → AI Services → Engine Installer) supports multiple inference engine types beyond just LLMs. Each engine ships with platform-specific builds optimized for different GPU backends.

Supported Engine Categories

CategoryEnginesDescription
LLMllama-server, mistralrs-server, llamafileText generation and chat
STTwhisper-cpp-serverSpeech-to-text (transcription)
TTSpiper-tts, bark-ttsText-to-speech
Image Genstable-diffusion-cppImage generation from text prompts

During first-run setup, StudioBrain recommends engines based on your hardware:

  • LLM engines: Always recommended; the specific variant depends on your GPU (CUDA > ROCm > Metal > Vulkan > CPU)
  • STT (whisper-cpp-server): Always recommended — runs on any hardware
  • TTS (piper-tts): Always recommended — lightweight, CPU-friendly
  • TTS GPU (bark-tts): Only recommended when a discrete GPU is present
  • Image Gen (stable-diffusion-cpp): Recommended when a discrete GPU or Metal is available

GPU Backend Variants

Each local_spawned engine may offer multiple builds for the same OS/arch, distinguished by GPU backend:

GPU BackendWhen to Use
cudaNVIDIA GPU — best performance
rocmAMD GPU on Linux
metalmacOS (Apple Silicon or Intel)
vulkanAMD/Intel GPUs on Linux or Windows (cross-vendor fallback)
anyUniversal binary (e.g. llamafile)
cpuNo GPU available — works everywhere

StudioBrain auto-detects the best variant during install. You can also manually pick a variant from the hardware dropdown in the Engine Installer UI.

Hardware detection runs at install time. The gateway checks for nvidia-smi, /opt/rocm, macOS Metal availability, and Vulkan support to pick the right binary. You can override the auto-detection by selecting a specific variant in the UI.

Install Matrix

CategoryManaged by StudioBrainNeeds local GPUNeeds networkNeeds API keyCan be shared across LAN/cluster
local_inprocessYesUsuallyNoNoNo
local_spawnedYesUsuallyOnly for downloadsNoSingle host only
lan_endpointNoDepends on the external serverYesUsually noYes
distributedPartlyYesYesNoYes
cloud_providerNo local runtime to installNoYesYesNot a LAN service
llm_routerNo local runtime to installNoYesUsually yesNot a LAN service

How To Think About Setup

Built-in local inference

Use local_inprocess when you want the fewest moving parts on a single machine and your StudioBrain build already includes the runtime you need.

  • Best for: offline-first local work
  • Tradeoff: tied to the features compiled into your gateway build
  • Default models: On first launch, a small model (qwen2.5-0.5b, ~400 MB) is automatically downloaded and loaded via the mistralrs engine. Each model in the autoconfig profiles is tagged with a specific backend (mistralrs or llamacpp) so the gateway routes to the correct engine without manual config.

Downloaded local engines

Use local_spawned when you want StudioBrain to manage a standalone engine binary for you.

  • Best for: local GPU workflows where you want managed install/update/supervision
  • Tradeoff: extra binary downloads and host-specific compatibility

Existing local or LAN servers

Use lan_endpoint when you already have another inference server running and just want StudioBrain to consume it.

  • Best for: Ollama, LM Studio, Jan, or a custom OpenAI-compatible server you already trust
  • Tradeoff: StudioBrain does not own that process lifecycle

Distributed inference

Use distributed only when you intentionally want multi-host inference.

  • Best for: splitting large models across multiple machines
  • Tradeoff: more operational complexity than single-node inference

Direct cloud APIs

Use cloud_provider for vendor-native APIs.

  • Best for: frontier closed-source models and BYOK setups
  • Tradeoff: internet dependency and provider billing

Router-style gateways

Use llm_router when you want a single endpoint that can fan out to multiple vendors or routing policies.

  • Best for: teams standardizing on one API surface
  • Tradeoff: adds another control plane between StudioBrain and the model vendor

Provider Examples By Category

CategoryCommon choices
local_inprocessmistralrs, candle, llamacpp
local_spawnedllama-server, mistralrs-server, exllamav2
lan_endpointOllama, LM Studio, Jan, text-generation-webui
distributedllama.cpp RPC, distributed vLLM
cloud_providerOpenAI, Anthropic, Google, DashScope, Z.AI
llm_routerOpenRouter, LiteLLM Proxy, Azure OpenAI, Bedrock

Which One Should I Choose?

GoalBest fit
Run fully offline on one machinelocal_inprocess or local_spawned
Reuse an inference server you already runlan_endpoint
Split a large model across hostsdistributed
Use vendor APIs directlycloud_provider
Standardize multiple vendors behind one endpointllm_router