@vowel.to/client / index / VowelVoiceConfig
Interface: VowelVoiceConfig
Defined in: lib/vowel/types/types.ts:484
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
token? | string | Ephemeral token for direct connections (bypasses token endpoint) | lib/vowel/types/types.ts:486 |
provider? | "gemini" | "openai" | "grok" | "vowel-core" | "vowel-prime" | Provider to use ("gemini" | "openai" |
model? | string | Model to use (e.g., "gemini-live-2.5-flash-preview" or "gemini-2.0-flash-live-001" for Gemini, "gpt-realtime" or "gpt-4o-realtime-preview" for OpenAI) | lib/vowel/types/types.ts:490 |
voice? | string | Voice name (e.g., "Puck", "Charon", "Kore", "Fenrir", "Aoede" for Gemini; "alloy", "echo", "fable", "onyx", "nova", "shimmer" for OpenAI) | lib/vowel/types/types.ts:492 |
language? | string | Language code (e.g., "en-US") | lib/vowel/types/types.ts:494 |
audioConfig? | { input?: { sampleRate?: number; channels?: number; encoding?: string; mimeType?: string; }; output?: { sampleRate?: number; channels?: number; encoding?: string; mimeType?: string; }; } | Provider audio configuration. Use this to override provider defaults for microphone input and speaker output. | lib/vowel/types/types.ts:499 |
audioConfig.input? | { sampleRate?: number; channels?: number; encoding?: string; mimeType?: string; } | - | lib/vowel/types/types.ts:500 |
audioConfig.input.sampleRate? | number | - | lib/vowel/types/types.ts:501 |
audioConfig.input.channels? | number | - | lib/vowel/types/types.ts:502 |
audioConfig.input.encoding? | string | - | lib/vowel/types/types.ts:503 |
audioConfig.input.mimeType? | string | - | lib/vowel/types/types.ts:504 |
audioConfig.output? | { sampleRate?: number; channels?: number; encoding?: string; mimeType?: string; } | - | lib/vowel/types/types.ts:506 |
audioConfig.output.sampleRate? | number | - | lib/vowel/types/types.ts:507 |
audioConfig.output.channels? | number | - | lib/vowel/types/types.ts:508 |
audioConfig.output.encoding? | string | - | lib/vowel/types/types.ts:509 |
audioConfig.output.mimeType? | string | - | lib/vowel/types/types.ts:510 |
speakingRate? | number | Speaking rate for TTS (1.0 = normal, 1.2 = 20% faster, 0.8 = 20% slower, default: 1.2) - for vowel-core/vowel-prime providers only | lib/vowel/types/types.ts:514 |
vadType? | VADType | VAD type - "simple" uses energy-based detection (fast), "silero" uses ML model (accurate), "none" disables client-side VAD Default undefined (deprecated - use turnDetection.mode instead, which defaults to 'client_vad') Deprecated Use turnDetection instead. The default is now 'client_vad' mode with 'silero-vad' adapter. | lib/vowel/types/types.ts:520 |
useServerVad? | boolean | Use server-side VAD events for UI updates (default: false) - when true, uses server VAD events instead of client-side VAD for speaking state | lib/vowel/types/types.ts:522 |
turnDetection? | TurnDetectionConfig | Turn detection configuration Controls how speech is detected and when responses are triggered | lib/vowel/types/types.ts:527 |
toolRetry? | ToolRetryConfig | Tool retry and step limiting configuration | lib/vowel/types/types.ts:529 |
vowelPrimeConfig? | VowelPrimeConfig | Vowel websocket-provider-specific configuration (used by "vowel-core" and "vowel-prime") | lib/vowel/types/types.ts:531 |
llmProvider? | "groq" | "openrouter" | LLM provider for vowel websocket providers (e.g., "groq", "openrouter") - determines which LLM backend to use | lib/vowel/types/types.ts:533 |
openrouterOptions? | { provider?: string; siteUrl?: string; appName?: string; } | OpenRouter-specific options (only used when llmProvider is "openrouter") | lib/vowel/types/types.ts:535 |
openrouterOptions.provider? | string | OpenRouter provider selection (e.g., "anthropic", "openai", "google") | lib/vowel/types/types.ts:537 |
openrouterOptions.siteUrl? | string | Site URL for OpenRouter analytics | lib/vowel/types/types.ts:539 |
openrouterOptions.appName? | string | App name for OpenRouter analytics | lib/vowel/types/types.ts:541 |
initialGreetingPrompt? | string | Initial greeting prompt When provided, the AI will generate an initial response based on this prompt Example: "Introduce yourself as a helpful shopping assistant" | lib/vowel/types/types.ts:548 |
clientIdleHibernateTimeoutMs? | number | Force a client-side hibernation after this many milliseconds of inactivity. When the timer elapses, the client disconnects the realtime socket to avoid keeping a billable hosted session open while idle. Example: 10000 disconnects after 10 seconds of idle time. | lib/vowel/types/types.ts:555 |
turnDetectionPreset? | "aggressive" | "balanced" | "conservative" | Speech turn detection sensitivity preset Controls how quickly the AI responds after you stop speaking - "aggressive": Responds very quickly (best for short, rapid exchanges) - "balanced": Natural middle ground (good for most conversations) - "conservative": Waits longer before responding (best for complex speech, phone numbers, addresses) Default "balanced" | lib/vowel/types/types.ts:564 |