Skip to content

Providers

Providers abstract external AI services used throughout the system. They are shared entities (not project-scoped) and can be referenced by multiple projects, stages, classifiers, transformers, and tools.

Structure

FieldDescription
idUnique identifier
nameDisplay name
descriptionOptional description
providerTypeService type: llm, tts, asr, embeddings, or storage
apiTypeImplementation identifier (e.g., openai, azure, anthropic)
configProvider-specific connection configuration
createdByOperator who created the provider
tagsSearchable labels for organization
versionOptimistic locking version

Provider Types

LLM Providers

Used for: response generation (stages), classification (classifiers), data extraction (transformers), tool execution (tools).

API TypeDescription
openaiOpenAI Responses API (GPT-5, GPT-4o, o-series)
openai-legacyOpenAI Chat Completions API (legacy)
anthropicAnthropic API (Claude models)
geminiGoogle Gemini API (also supports Vertex AI endpoints)
groqGroq Cloud (fast inference, Llama / Mixtral models)
mistralMistral AI API
deepseekDeepSeek API
openrouterOpenRouter (unified gateway to many providers)
together-aiTogether AI
fireworks-aiFireworks AI
perplexityPerplexity AI
cohereCohere API
xaixAI (Grok models)

Configuration example (OpenAI):

json
{
  "apiKey": "sk-...",
  "organizationId": "org-...",
  "baseUrl": "https://api.openai.com/v1"
}

LLM Settings (per-reference, not in the provider config):

Each entity referencing an LLM provider can customize settings. Available fields depend on the provider's API type — see the Swagger UI for the full per-provider schema (e.g., OpenAILlmSettings, AnthropicLlmSettings). Common fields:

json
{
  "model": "gpt-4o",
  "defaultMaxTokens": 2048,
  "defaultTemperature": 0.7,
  "defaultTopP": 1.0
}

To discover which models are available for a configured provider, use GET /api/providers/:id/models.

TTS Providers

Used for: voice synthesis in agents.

API TypeDescription
elevenlabsElevenLabs text-to-speech
openaiOpenAI TTS
azureAzure Cognitive Services Speech
deepgramDeepgram Aura TTS
cartesiaCartesia Sonic TTS

See Agents for TTS settings configuration per voice.

ASR Providers

Used for: speech-to-text transcription at the project level.

API TypeDescription
azureAzure Speech Services
elevenlabsElevenLabs speech recognition
deepgramDeepgram Nova ASR
assemblyaiAssemblyAI Universal Streaming
speechmaticsSpeechmatics real-time speech-to-text

Configured in the project's asrConfig.

Storage Providers

Used for: persisting conversation artifacts (audio recordings, transcripts).

API TypeDescription
s3Amazon S3 or S3-compatible storage
azure-blobAzure Blob Storage
gcsGoogle Cloud Storage
localLocal filesystem storage

Configured in the project's storageConfig.

Provider Catalog

The system includes a built-in Provider Catalog that lists all available provider types, their API types, and configuration schemas. Access it via:

GET /api/provider-catalog

This is useful for building operator UIs that dynamically render provider configuration forms.

Where Providers Are Referenced

EntityProvider Types Used
ProjectASR (speech-to-text), Storage (artifacts)
AgentTTS (voice synthesis)
StageLLM (response generation)
ClassifierLLM (intent classification)
Context TransformerLLM (variable population)
ToolLLM (tool execution)

Provider Inheritance

If a stage, classifier, transformer, or tool does not specify its own llmProviderId, the system may fall back to project-level defaults. However, it's recommended to explicitly set providers for clarity and predictability.

Security

Provider configurations contain sensitive data (API keys, connection strings). Only operators with provider:read or provider:write permissions can view or modify providers. The config is stored securely and not exposed in API responses beyond what's necessary.

Released under the Apache-2.0 License.