BaseProviderConfig
Base configuration shared by all provider types.
Defined in: src/core/types/providers.ts:59
Base configuration shared by all provider types.
Remarks
Provides common configuration fields that apply to any provider regardless of its category (STT, LLM, TTS) or communication type (REST, WebSocket). Specific provider configurations extend this interface with additional fields.
Example
const config: BaseProviderConfig = {
apiKey: 'your-api-key',
endpoint: 'https://api.example.com/v1',
debug: false,
timeout: 30000,
};
See
- STTProviderConfig for STT-specific configuration
- LLMProviderConfig for LLM-specific configuration
- TTSProviderConfig for TTS-specific configuration
Extended by
Properties
| Property | Type | Default value | Description | Defined in |
|---|---|---|---|---|
apiKey? | string | undefined | API key or authentication token for the provider. Remarks For client-side usage, consider using a proxy server to keep API keys secure. The SDK provides Express, Next.js, and Node adapters for this purpose. | src/core/types/providers.ts:67 |
authType? | "token" | "bearer" | Provider-specific (typically 'token' for Deepgram, ignored for REST providers) | Authentication type for providers that support multiple auth mechanisms. Remarks Controls how the apiKey is sent to the provider: - 'token' — WebSocket subprotocol ['token', apiKey] or header Authorization: Token <key>. This is the default for Deepgram providers. - 'bearer' — WebSocket subprotocol ['bearer', token] or header Authorization: Bearer <token>. Use this for OAuth tokens or providers that expect Bearer auth. REST/SDK providers (Anthropic, OpenAI) handle auth through their SDK constructors and ignore this field. | src/core/types/providers.ts:111 |
debug? | boolean | false | Whether to enable debug logging for this provider. Remarks When true, the provider emits detailed internal logs. This is separate from the SDK-level LoggingConfig. | src/core/types/providers.ts:122 |
endpoint? | string | undefined | Custom endpoint URL to override the provider’s default API endpoint. Remarks Useful for self-hosted instances, proxy servers, or development environments. | src/core/types/providers.ts:75 |
proxyUrl? | string | undefined | URL of a CompositeVoice proxy server endpoint for this provider. Remarks When set, requests are routed through the proxy which injects the real API key server-side. This keeps API keys out of the browser. For WebSocket providers the HTTP URL is automatically converted to ws(s)://. At least one of apiKey or proxyUrl must be set for providers that require authentication (all except NativeSTT, NativeTTS, and WebLLM). Example proxyUrl: 'http://localhost:3000/api/proxy/deepgram' | src/core/types/providers.ts:93 |
timeout? | number | undefined | Request timeout in milliseconds. Remarks Applies to HTTP requests (REST providers) and connection establishment (WebSocket providers). Set to 0 for no timeout. | src/core/types/providers.ts:131 |