voice-router-dev 0.7.4 → 0.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,114 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.7.6] - 2026-01-25
9
+
10
+ ### Added
11
+
12
+ #### Auto-Generated Model Constants
13
+
14
+ Replaced hardcoded model lists with auto-generated constants from provider APIs/specs:
15
+
16
+ ```typescript
17
+ import {
18
+ DeepgramModel, // 48 models from Deepgram API
19
+ OpenAIModel, // 5 transcription models from OpenAI spec
20
+ OpenAIRealtimeModel // 14 realtime models from OpenAI spec
21
+ } from 'voice-router-dev/constants'
22
+
23
+ // All models now auto-sync when specs update
24
+ { model: DeepgramModel["nova-3"] }
25
+ { model: OpenAIModel["gpt-4o-transcribe"] }
26
+ { model: OpenAIRealtimeModel["gpt-4o-realtime-preview"] }
27
+ ```
28
+
29
+ **New generation scripts:**
30
+ - `generate-deepgram-models.js` - Fetches from `https://api.deepgram.com/v1/models`
31
+ - `generate-openai-models.js` - Extracts from orval-generated TypeScript types
32
+
33
+ **New exports:**
34
+ - `DeepgramModel`, `DeepgramModelCodes`, `DeepgramModelLabels`, `DeepgramModelCode`
35
+ - `OpenAIModelCodes`, `OpenAIModelLabels`, `OpenAIModelCode`
36
+ - `OpenAITranscriptionModel`, `OpenAITranscriptionModelCode`
37
+ - `OpenAIRealtimeModel`, `OpenAIRealtimeModelCode`
38
+
39
+ ### Changed
40
+
41
+ - Models are now automatically synced during `prebuild` and `openapi:generate`
42
+ - Pipeline diagram updated to show MODEL EXTRACTION section
43
+
44
+ ---
45
+
46
+ ## [0.7.5] - 2026-01-25
47
+
48
+ ### Added
49
+
50
+ #### Soniox Model Type Safety
51
+
52
+ Added type-safe `SonioxModel` constants with full autocomplete support. Model selection is now a dropdown in UI field configs.
53
+
54
+ ```typescript
55
+ import { SonioxModel, SonioxRealtimeModel, SonioxLanguage } from 'voice-router-dev/constants'
56
+
57
+ // Real-time streaming models with autocomplete
58
+ await adapter.transcribeStream({
59
+ model: SonioxModel.stt_rt_v3, // ✅ Type-safe, autocomplete
60
+ sonioxStreaming: {
61
+ model: SonioxRealtimeModel.stt_rt_v3, // ✅ Strictly real-time models only
62
+ languageHints: [SonioxLanguage.en, SonioxLanguage.es] // ✅ Strict language codes
63
+ }
64
+ })
65
+ ```
66
+
67
+ **Available models:**
68
+ - Real-time: `stt-rt-v3`, `stt-rt-preview`, `stt-rt-v3-preview`, `stt-rt-preview-v2`
69
+ - Async: `stt-async-v3`, `stt-async-preview`, `stt-async-preview-v1`
70
+
71
+ **Exports:**
72
+ - `SonioxModel`, `SonioxRealtimeModel`, `SonioxAsyncModel` - const objects for autocomplete
73
+ - `SonioxModelCode`, `SonioxRealtimeModelCode`, `SonioxAsyncModelCode` - type unions
74
+ - `SonioxModelLabels` - display names for UI
75
+
76
+ #### Speechmatics Operating Point Export
77
+
78
+ Added `SpeechmaticsOperatingPoint` constant for type-safe model quality tier selection:
79
+
80
+ ```typescript
81
+ import { SpeechmaticsOperatingPoint } from 'voice-router-dev/constants'
82
+
83
+ await router.transcribe('speechmatics', audioUrl, {
84
+ model: SpeechmaticsOperatingPoint.enhanced // ✅ Type-safe
85
+ })
86
+ ```
87
+
88
+ **Values:** `standard` (faster), `enhanced` (higher accuracy)
89
+
90
+ ### Changed
91
+
92
+ #### Strict Typing for SonioxConfig
93
+
94
+ `SonioxConfig.model` now uses `SonioxModelCode` instead of loose `string`:
95
+
96
+ ```typescript
97
+ // Before (0.7.4)
98
+ const adapter = createSonioxAdapter({
99
+ apiKey: '...',
100
+ model: 'any-string' // ❌ No validation
101
+ })
102
+
103
+ // After (0.7.5)
104
+ import { SonioxModel } from 'voice-router-dev/constants'
105
+
106
+ const adapter = createSonioxAdapter({
107
+ apiKey: '...',
108
+ model: SonioxModel.stt_async_v3 // ✅ Type-safe with autocomplete
109
+ })
110
+ ```
111
+
112
+ Also improved `getLanguagesForModel()` parameter from `string` to `SonioxModelCode`.
113
+
114
+ ---
115
+
8
116
  ## [0.7.4] - 2026-01-23
9
117
 
10
118
  ### Added
@@ -1,3 +1,88 @@
1
+ /**
2
+ * Generated from Deepgram API - DO NOT EDIT MANUALLY
3
+ *
4
+ * This file is auto-generated by scripts/generate-deepgram-models.js
5
+ * Run 'pnpm openapi:sync-deepgram-models' to regenerate.
6
+ *
7
+ * @see https://api.deepgram.com/v1/models
8
+ * @see https://developers.deepgram.com/docs/models-languages-overview
9
+ *
10
+ * @generated
11
+ */
12
+ /**
13
+ * All Deepgram STT model codes
14
+ */
15
+ declare const DeepgramModelCodes: readonly ["base", "conversationalai", "enhanced-automotive", "enhanced-drivethru", "enhanced-finance", "enhanced-general", "enhanced-meeting", "enhanced-phonecall", "finance", "general", "general-dQw4w9WgXcQ", "general-polaris", "meeting", "nova", "nova-2", "nova-2-atc", "nova-2-automotive", "nova-2-conversationalai", "nova-2-drivethru", "nova-2-ea", "nova-2-finance", "nova-2-general", "nova-2-medical", "nova-2-meeting", "nova-2-phonecall", "nova-2-video", "nova-2-voicemail", "nova-3", "nova-3-general", "nova-3-medical", "nova-drivethru", "nova-general", "nova-medical", "nova-phonecall", "nova-voicemail", "phonecall", "phonecall-dQw4w9WgXcQ", "phoneme", "polaris", "unknown", "video", "voicemail", "whisper", "whisper-base", "whisper-large", "whisper-medium", "whisper-small", "whisper-tiny"];
16
+ /**
17
+ * Type for Deepgram model codes
18
+ */
19
+ type DeepgramModelCode = (typeof DeepgramModelCodes)[number];
20
+ /**
21
+ * Deepgram model constant object for autocomplete
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * import { DeepgramModel } from 'voice-router-dev/constants'
26
+ *
27
+ * { model: DeepgramModel["nova-3"] }
28
+ * { model: DeepgramModel["nova-2-medical"] }
29
+ * ```
30
+ */
31
+ declare const DeepgramModel: {
32
+ readonly base: "base";
33
+ readonly conversationalai: "conversationalai";
34
+ readonly "enhanced-automotive": "enhanced-automotive";
35
+ readonly "enhanced-drivethru": "enhanced-drivethru";
36
+ readonly "enhanced-finance": "enhanced-finance";
37
+ readonly "enhanced-general": "enhanced-general";
38
+ readonly "enhanced-meeting": "enhanced-meeting";
39
+ readonly "enhanced-phonecall": "enhanced-phonecall";
40
+ readonly finance: "finance";
41
+ readonly general: "general";
42
+ readonly "general-dQw4w9WgXcQ": "general-dQw4w9WgXcQ";
43
+ readonly "general-polaris": "general-polaris";
44
+ readonly meeting: "meeting";
45
+ readonly nova: "nova";
46
+ readonly "nova-2": "nova-2";
47
+ readonly "nova-2-atc": "nova-2-atc";
48
+ readonly "nova-2-automotive": "nova-2-automotive";
49
+ readonly "nova-2-conversationalai": "nova-2-conversationalai";
50
+ readonly "nova-2-drivethru": "nova-2-drivethru";
51
+ readonly "nova-2-ea": "nova-2-ea";
52
+ readonly "nova-2-finance": "nova-2-finance";
53
+ readonly "nova-2-general": "nova-2-general";
54
+ readonly "nova-2-medical": "nova-2-medical";
55
+ readonly "nova-2-meeting": "nova-2-meeting";
56
+ readonly "nova-2-phonecall": "nova-2-phonecall";
57
+ readonly "nova-2-video": "nova-2-video";
58
+ readonly "nova-2-voicemail": "nova-2-voicemail";
59
+ readonly "nova-3": "nova-3";
60
+ readonly "nova-3-general": "nova-3-general";
61
+ readonly "nova-3-medical": "nova-3-medical";
62
+ readonly "nova-drivethru": "nova-drivethru";
63
+ readonly "nova-general": "nova-general";
64
+ readonly "nova-medical": "nova-medical";
65
+ readonly "nova-phonecall": "nova-phonecall";
66
+ readonly "nova-voicemail": "nova-voicemail";
67
+ readonly phonecall: "phonecall";
68
+ readonly "phonecall-dQw4w9WgXcQ": "phonecall-dQw4w9WgXcQ";
69
+ readonly phoneme: "phoneme";
70
+ readonly polaris: "polaris";
71
+ readonly unknown: "unknown";
72
+ readonly video: "video";
73
+ readonly voicemail: "voicemail";
74
+ readonly whisper: "whisper";
75
+ readonly "whisper-base": "whisper-base";
76
+ readonly "whisper-large": "whisper-large";
77
+ readonly "whisper-medium": "whisper-medium";
78
+ readonly "whisper-small": "whisper-small";
79
+ readonly "whisper-tiny": "whisper-tiny";
80
+ };
81
+ /**
82
+ * Model name to display label mapping
83
+ */
84
+ declare const DeepgramModelLabels: Record<DeepgramModelCode, string>;
85
+
1
86
  /**
2
87
  * Generated from Deepgram API - DO NOT EDIT MANUALLY
3
88
  *
@@ -17,7 +102,7 @@
17
102
  * Includes both primary codes (e.g., 'en', 'es') and regional variants (e.g., 'en-US', 'pt-BR')
18
103
  * Also includes "multi" for multilingual codeswitching (Nova-2/Nova-3 only)
19
104
  */
20
- declare const DeepgramLanguageCodes: readonly ["af", "am", "ar", "as", "az", "ba", "be", "be-BY", "bg", "bn", "bn-IN", "bo", "br", "bs", "bs-BA", "ca", "cs", "cy", "da", "da-DK", "de", "de-AT", "de-CH", "de-DE", "el", "en", "en-AU", "en-CA", "en-GB", "en-IE", "en-IN", "en-MY", "en-NZ", "en-PH", "en-US", "en-ZA", "es", "es-419", "es-AR", "es-ES", "es-LATAM", "es-MX", "es-US", "et", "eu", "fa", "fi", "fil", "fo", "fr", "fr-BE", "fr-ca", "fr-CA", "fr-CH", "fr-FR", "gl", "gu", "ha", "haw", "he", "hi", "hi-Latn", "hr", "hr-HR", "ht", "hu", "hy", "id", "id-ID", "is", "it", "it-IT", "ja", "ja-JP", "jw", "ka", "kk", "km", "kn", "kn-IN", "ko", "ko-KR", "la", "lb", "ln", "lo", "lt", "lv", "mg", "mi", "mk", "mk-MK", "ml", "mn", "mr", "mr-IN", "ms", "ms-MY", "ms-SG", "mt", "multi", "my", "ne", "nl", "nl-BE", "nl-NL", "nn", "no", "no-NO", "oc", "pa", "pl", "pl-PL", "ps", "pt", "pt-BR", "pt-PT", "ro", "ro-MD", "ru", "ru-Latn", "ru-RU", "sa", "sd", "si", "sk", "sl", "sl-SL", "sn", "so", "sq", "sr", "sr-RS", "su", "sv", "sv-SE", "sw", "ta", "ta-IN", "taq", "te", "te-IN", "tg", "th", "th-TH", "tk", "tl", "tr", "tr-TR", "tt", "uk", "ur", "uz", "vi", "yi", "yo", "zh", "zh-CN", "zh-Hans", "zh-Hant", "zh-HK", "zh-TW"];
105
+ declare const DeepgramLanguageCodes: readonly ["af", "am", "ar", "as", "az", "ba", "be", "be-BY", "bg", "bn", "bn-IN", "bo", "br", "bs", "bs-BA", "ca", "cs", "cy", "da", "da-DK", "de", "de-AT", "de-CH", "de-DE", "el", "en", "en-AU", "en-CA", "en-GB", "en-IE", "en-IN", "en-MY", "en-NZ", "en-PH", "en-US", "en-ZA", "es", "es-419", "es-AR", "es-ES", "es-LATAM", "es-MX", "es-US", "et", "eu", "fa", "fi", "fo", "fr", "fr-BE", "fr-ca", "fr-CA", "fr-CH", "fr-FR", "gl", "gu", "ha", "haw", "he", "hi", "hi-Latn", "hr", "hr-HR", "ht", "hu", "hy", "id", "id-ID", "is", "it", "it-IT", "ja", "ja-JP", "jw", "ka", "kk", "km", "kn", "kn-IN", "ko", "ko-KR", "la", "lb", "ln", "lo", "lt", "lv", "mg", "mi", "mk", "mk-MK", "ml", "mn", "mr", "mr-IN", "ms", "ms-MY", "ms-SG", "mt", "multi", "my", "ne", "nl", "nl-BE", "nl-NL", "nn", "no", "no-NO", "oc", "pa", "pl", "pl-PL", "ps", "pt", "pt-BR", "pt-PT", "ro", "ro-MD", "ru", "ru-Latn", "ru-RU", "sa", "sd", "si", "sk", "sl", "sl-SL", "sn", "so", "sq", "sr", "sr-RS", "su", "sv", "sv-SE", "sw", "ta", "ta-IN", "taq", "te", "te-IN", "tg", "th", "th-TH", "tk", "tl", "tr", "tr-TR", "tt", "uk", "ur", "uz", "vi", "yi", "yo", "zh", "zh-CN", "zh-Hans", "zh-Hant", "zh-HK", "zh-TW"];
21
106
  /**
22
107
  * Type for Deepgram language codes
23
108
  */
@@ -60,7 +145,6 @@ declare const DeepgramLanguage: {
60
145
  readonly eu: "eu";
61
146
  readonly fa: "fa";
62
147
  readonly fi: "fi";
63
- readonly fil: "fil";
64
148
  readonly fo: "fo";
65
149
  readonly fr: "fr";
66
150
  readonly gl: "gl";
@@ -231,7 +315,7 @@ declare const DeepgramArchitectureLanguages: {
231
315
  readonly base: readonly ["bg", "ca", "cs", "da", "de", "de-AT", "de-CH", "de-DE", "el", "en", "en-AU", "en-GB", "en-IN", "en-NZ", "en-US", "es", "es-419", "es-AR", "es-ES", "es-LATAM", "es-MX", "es-US", "et", "fi", "fr", "fr-BE", "fr-ca", "fr-CA", "fr-CH", "fr-FR", "hi", "hi-Latn", "hu", "id", "id-ID", "it", "ja", "ko", "lt", "lv", "ms", "ms-MY", "ms-SG", "nl", "no", "pl", "pt", "pt-BR", "pt-PT", "ro", "ro-MD", "ru", "sk", "sv", "ta", "taq", "th", "th-TH", "tr", "uk", "vi", "zh", "zh-CN", "zh-Hans", "zh-Hant", "zh-HK", "zh-TW"];
232
316
  readonly nova: readonly ["en", "en-AU", "en-GB", "en-IN", "en-NZ", "en-US", "es", "es-419", "es-LATAM", "hi-Latn"];
233
317
  readonly "nova-2": readonly ["bg", "ca", "cs", "da", "da-DK", "de", "de-AT", "de-CH", "de-DE", "el", "en", "en-AU", "en-CA", "en-GB", "en-IE", "en-IN", "en-MY", "en-NZ", "en-PH", "en-US", "en-ZA", "es", "es-419", "es-AR", "es-ES", "es-MX", "es-US", "et", "fi", "fr", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "hi", "hi-Latn", "hu", "id", "it", "it-IT", "ja", "ja-JP", "ko", "ko-KR", "lt", "lv", "ms", "ms-MY", "multi", "nl", "nl-BE", "nl-NL", "no", "no-NO", "pl", "pl-PL", "pt", "pt-BR", "pt-PT", "ro", "ru", "ru-RU", "sk", "sv", "sv-SE", "th", "th-TH", "tr", "tr-TR", "uk", "vi", "zh", "zh-CN", "zh-Hans", "zh-Hant", "zh-HK", "zh-TW"];
234
- readonly "nova-3": readonly ["be", "be-BY", "bg", "bn", "bn-IN", "bs", "bs-BA", "ca", "cs", "da", "da-DK", "de", "de-AT", "de-CH", "de-DE", "el", "en", "en-AU", "en-CA", "en-GB", "en-IE", "en-IN", "en-NZ", "en-US", "es", "es-419", "es-AR", "es-ES", "es-MX", "es-US", "et", "fi", "fil", "fr", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "hi", "hr", "hr-HR", "hu", "id", "id-ID", "it", "it-IT", "ja", "ja-JP", "kn", "kn-IN", "ko", "ko-KR", "lt", "lv", "mk", "mk-MK", "mr", "mr-IN", "ms", "multi", "nl", "nl-BE", "nl-NL", "no", "no-NO", "pl", "pl-PL", "pt", "pt-BR", "pt-PT", "ro", "ru", "ru-Latn", "ru-RU", "sk", "sl", "sl-SL", "sr", "sr-RS", "sv", "sv-SE", "ta", "ta-IN", "te", "te-IN", "tl", "tr", "tr-TR", "uk", "vi"];
318
+ readonly "nova-3": readonly ["be", "be-BY", "bg", "bn", "bn-IN", "bs", "bs-BA", "ca", "cs", "da", "da-DK", "de", "de-AT", "de-CH", "de-DE", "el", "en", "en-AU", "en-CA", "en-GB", "en-IE", "en-IN", "en-NZ", "en-US", "es", "es-419", "es-AR", "es-ES", "es-MX", "es-US", "et", "fi", "fr", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "hi", "hr", "hr-HR", "hu", "id", "id-ID", "it", "it-IT", "ja", "ja-JP", "kn", "kn-IN", "ko", "ko-KR", "lt", "lv", "mk", "mk-MK", "mr", "mr-IN", "ms", "multi", "nl", "nl-BE", "nl-NL", "no", "no-NO", "pl", "pl-PL", "pt", "pt-BR", "pt-PT", "ro", "ru", "ru-Latn", "ru-RU", "sk", "sl", "sl-SL", "sr", "sr-RS", "sv", "sv-SE", "ta", "ta-IN", "te", "te-IN", "tl", "tr", "tr-TR", "uk", "vi"];
235
319
  readonly polaris: readonly ["da", "de", "en", "en-IN", "en-US", "es", "es-419", "es-LATAM", "fr", "hi", "it", "ja", "ko", "nl", "no", "pl", "pt", "pt-BR", "pt-PT", "sv", "ta", "taq"];
236
320
  readonly unknown: readonly ["da", "da-DK", "sv", "sv-SE"];
237
321
  readonly whisper: readonly ["af", "am", "ar", "as", "az", "ba", "be", "bg", "bn", "bo", "br", "bs", "ca", "cs", "cy", "da", "de", "el", "en", "en-AU", "en-GB", "en-IN", "en-NZ", "en-US", "es", "es-419", "es-LATAM", "et", "eu", "fa", "fi", "fo", "fr", "fr-CA", "gl", "gu", "ha", "haw", "he", "hi", "hi-Latn", "hr", "ht", "hu", "hy", "id", "id-ID", "is", "it", "ja", "jw", "ka", "kk", "km", "kn", "ko", "la", "lb", "ln", "lo", "lt", "lv", "mg", "mi", "mk", "ml", "mn", "mr", "ms", "mt", "my", "ne", "nl", "nn", "no", "oc", "pa", "pl", "ps", "pt", "pt-BR", "pt-PT", "ro", "ru", "sa", "sd", "si", "sk", "sl", "sn", "so", "sq", "sr", "su", "sv", "sw", "ta", "te", "tg", "th", "tk", "tl", "tr", "tt", "uk", "ur", "uz", "vi", "yi", "yo", "zh", "zh-CN", "zh-TW"];
@@ -527,6 +611,121 @@ declare const SonioxLanguage: {
527
611
  readonly cy: "cy";
528
612
  };
529
613
 
614
+ /**
615
+ * Generated from Soniox OpenAPI spec - DO NOT EDIT MANUALLY
616
+ *
617
+ * This file is auto-generated by scripts/generate-soniox-models.js
618
+ * Run 'pnpm openapi:sync-soniox-models' to regenerate.
619
+ *
620
+ * @generated
621
+ */
622
+ /**
623
+ * Soniox model metadata
624
+ * Derived from GetModelsResponse in OpenAPI spec
625
+ */
626
+ declare const SonioxModels: readonly [{
627
+ readonly id: "stt-rt-v3";
628
+ readonly name: "Speech-to-Text Real-time v3";
629
+ readonly mode: "real_time";
630
+ }, {
631
+ readonly id: "stt-async-v3";
632
+ readonly name: "Speech-to-Text Async v3";
633
+ readonly mode: "async";
634
+ }, {
635
+ readonly id: "stt-rt-preview";
636
+ readonly name: "Speech-to-Text Real-time Preview";
637
+ readonly mode: "real_time";
638
+ readonly aliasOf: "stt-rt-v3";
639
+ }, {
640
+ readonly id: "stt-async-preview";
641
+ readonly name: "Speech-to-Text Async Preview";
642
+ readonly mode: "async";
643
+ readonly aliasOf: "stt-async-v3";
644
+ }, {
645
+ readonly id: "stt-rt-v3-preview";
646
+ readonly name: "Speech-to-Text Real-time v3 Preview";
647
+ readonly mode: "real_time";
648
+ readonly aliasOf: "stt-rt-v3";
649
+ }, {
650
+ readonly id: "stt-rt-preview-v2";
651
+ readonly name: "Speech-to-Text Real-time Preview v2";
652
+ readonly mode: "real_time";
653
+ readonly aliasOf: "stt-rt-v3";
654
+ }, {
655
+ readonly id: "stt-async-preview-v1";
656
+ readonly name: "Speech-to-Text Async Preview v1";
657
+ readonly mode: "async";
658
+ readonly aliasOf: "stt-async-v3";
659
+ }];
660
+ /**
661
+ * Soniox model IDs
662
+ */
663
+ declare const SonioxModelCodes: readonly ["stt-rt-v3", "stt-async-v3", "stt-rt-preview", "stt-async-preview", "stt-rt-v3-preview", "stt-rt-preview-v2", "stt-async-preview-v1"];
664
+ /**
665
+ * Type for Soniox model codes
666
+ */
667
+ type SonioxModelCode = (typeof SonioxModelCodes)[number];
668
+ /**
669
+ * Real-time streaming model IDs
670
+ */
671
+ declare const SonioxRealtimeModelCodes: readonly ["stt-rt-v3", "stt-rt-preview", "stt-rt-v3-preview", "stt-rt-preview-v2"];
672
+ /**
673
+ * Type for Soniox real-time model codes
674
+ */
675
+ type SonioxRealtimeModelCode = (typeof SonioxRealtimeModelCodes)[number];
676
+ /**
677
+ * Async/batch model IDs
678
+ */
679
+ declare const SonioxAsyncModelCodes: readonly ["stt-async-v3", "stt-async-preview", "stt-async-preview-v1"];
680
+ /**
681
+ * Type for Soniox async model codes
682
+ */
683
+ type SonioxAsyncModelCode = (typeof SonioxAsyncModelCodes)[number];
684
+ /**
685
+ * Model ID to display name mapping
686
+ */
687
+ declare const SonioxModelLabels: Record<SonioxModelCode, string>;
688
+ /**
689
+ * Soniox model constant object for autocomplete
690
+ *
691
+ * @example
692
+ * ```typescript
693
+ * import { SonioxModel } from 'voice-router-dev/constants'
694
+ *
695
+ * // Real-time streaming
696
+ * { model: SonioxModel.stt_rt_v3 }
697
+ *
698
+ * // Async/batch transcription
699
+ * { model: SonioxModel.stt_async_v3 }
700
+ * ```
701
+ */
702
+ declare const SonioxModel: {
703
+ readonly stt_rt_v3: "stt-rt-v3";
704
+ readonly stt_async_v3: "stt-async-v3";
705
+ readonly stt_rt_preview: "stt-rt-preview";
706
+ readonly stt_async_preview: "stt-async-preview";
707
+ readonly stt_rt_v3_preview: "stt-rt-v3-preview";
708
+ readonly stt_rt_preview_v2: "stt-rt-preview-v2";
709
+ readonly stt_async_preview_v1: "stt-async-preview-v1";
710
+ };
711
+ /**
712
+ * Real-time models only (for streaming)
713
+ */
714
+ declare const SonioxRealtimeModel: {
715
+ readonly stt_rt_v3: "stt-rt-v3";
716
+ readonly stt_rt_preview: "stt-rt-preview";
717
+ readonly stt_rt_v3_preview: "stt-rt-v3-preview";
718
+ readonly stt_rt_preview_v2: "stt-rt-preview-v2";
719
+ };
720
+ /**
721
+ * Async models only (for batch transcription)
722
+ */
723
+ declare const SonioxAsyncModel: {
724
+ readonly stt_async_v3: "stt-async-v3";
725
+ readonly stt_async_preview: "stt-async-preview";
726
+ readonly stt_async_preview_v1: "stt-async-preview-v1";
727
+ };
728
+
530
729
  /**
531
730
  * Generated from Speechmatics Feature Discovery API - DO NOT EDIT MANUALLY
532
731
  *
@@ -1480,6 +1679,44 @@ declare const AzureLocale: {
1480
1679
  readonly "zu-ZA": "zu-ZA";
1481
1680
  };
1482
1681
 
1682
+ /**
1683
+ * Generated from OpenAI TypeScript types - DO NOT EDIT MANUALLY
1684
+ *
1685
+ * This file is auto-generated by scripts/generate-openai-models.js
1686
+ * Run 'pnpm openapi:sync-openai-models' to regenerate.
1687
+ *
1688
+ * Source files:
1689
+ * - src/generated/openai/schema/createTranscriptionRequestModel.ts
1690
+ * - src/generated/openai/schema/realtimeSessionCreateRequestGAModel.ts
1691
+ * - src/generated/openai/schema/audioTranscriptionModel.ts
1692
+ *
1693
+ * @generated
1694
+ */
1695
+ /**
1696
+ * All OpenAI audio model codes (transcription + realtime)
1697
+ */
1698
+ declare const OpenAIModelCodes$1: readonly ["gpt-4o-mini-realtime-preview", "gpt-4o-mini-realtime-preview-2024-12-17", "gpt-4o-mini-transcribe", "gpt-4o-mini-transcribe-2025-12-15", "gpt-4o-realtime-preview", "gpt-4o-realtime-preview-2024-10-01", "gpt-4o-realtime-preview-2024-12-17", "gpt-4o-realtime-preview-2025-06-03", "gpt-4o-transcribe", "gpt-4o-transcribe-diarize", "gpt-audio-mini", "gpt-audio-mini-2025-10-06", "gpt-audio-mini-2025-12-15", "gpt-realtime", "gpt-realtime-2025-08-28", "gpt-realtime-mini", "gpt-realtime-mini-2025-10-06", "gpt-realtime-mini-2025-12-15", "whisper-1"];
1699
+ /**
1700
+ * Type for all OpenAI model codes
1701
+ */
1702
+ type OpenAIModelCode = (typeof OpenAIModelCodes$1)[number];
1703
+ /**
1704
+ * OpenAI transcription model codes (for batch transcription)
1705
+ */
1706
+ declare const OpenAITranscriptionModelCodes: readonly ["gpt-4o-mini-transcribe", "gpt-4o-mini-transcribe-2025-12-15", "gpt-4o-transcribe", "gpt-4o-transcribe-diarize", "whisper-1"];
1707
+ /**
1708
+ * Type for OpenAI transcription model codes
1709
+ */
1710
+ type OpenAITranscriptionModelCode = (typeof OpenAITranscriptionModelCodes)[number];
1711
+ /**
1712
+ * OpenAI realtime model codes (for streaming)
1713
+ */
1714
+ declare const OpenAIRealtimeModelCodes$1: readonly ["gpt-4o-mini-realtime-preview", "gpt-4o-mini-realtime-preview-2024-12-17", "gpt-4o-realtime-preview", "gpt-4o-realtime-preview-2024-10-01", "gpt-4o-realtime-preview-2024-12-17", "gpt-4o-realtime-preview-2025-06-03", "gpt-audio-mini", "gpt-audio-mini-2025-10-06", "gpt-audio-mini-2025-12-15", "gpt-realtime", "gpt-realtime-2025-08-28", "gpt-realtime-mini", "gpt-realtime-mini-2025-10-06", "gpt-realtime-mini-2025-12-15"];
1715
+ /**
1716
+ * Type for OpenAI realtime model codes
1717
+ */
1718
+ type OpenAIRealtimeModelCode = (typeof OpenAIRealtimeModelCodes$1)[number];
1719
+
1483
1720
  /**
1484
1721
  * Browser-safe constants for speech-to-text providers
1485
1722
  *
@@ -1606,48 +1843,29 @@ declare const DeepgramSampleRate: {
1606
1843
  readonly NUMBER_44100: 44100;
1607
1844
  readonly NUMBER_48000: 48000;
1608
1845
  };
1846
+
1609
1847
  /**
1610
- * Deepgram transcription models
1848
+ * Speechmatics operating point (model quality tier)
1849
+ *
1850
+ * Values: `standard`, `enhanced`
1851
+ *
1852
+ * - `standard`: Faster processing, good accuracy
1853
+ * - `enhanced`: Higher accuracy, slightly slower
1611
1854
  *
1612
1855
  * @example
1613
1856
  * ```typescript
1614
- * import { DeepgramModel } from 'voice-router-dev/constants'
1857
+ * import { SpeechmaticsOperatingPoint } from 'voice-router-dev/constants'
1615
1858
  *
1616
- * { model: DeepgramModel["nova-3"] }
1617
- * { model: DeepgramModel["nova-2-medical"] }
1859
+ * await router.transcribe('speechmatics', audioUrl, {
1860
+ * model: SpeechmaticsOperatingPoint.enhanced
1861
+ * })
1618
1862
  * ```
1619
1863
  */
1620
- declare const DeepgramModel: {
1621
- readonly "nova-3": "nova-3";
1622
- readonly "nova-3-general": "nova-3-general";
1623
- readonly "nova-3-medical": "nova-3-medical";
1624
- readonly "nova-2": "nova-2";
1625
- readonly "nova-2-general": "nova-2-general";
1626
- readonly "nova-2-meeting": "nova-2-meeting";
1627
- readonly "nova-2-finance": "nova-2-finance";
1628
- readonly "nova-2-conversationalai": "nova-2-conversationalai";
1629
- readonly "nova-2-voicemail": "nova-2-voicemail";
1630
- readonly "nova-2-video": "nova-2-video";
1631
- readonly "nova-2-medical": "nova-2-medical";
1632
- readonly "nova-2-drivethru": "nova-2-drivethru";
1633
- readonly "nova-2-automotive": "nova-2-automotive";
1634
- readonly nova: "nova";
1635
- readonly "nova-general": "nova-general";
1636
- readonly "nova-phonecall": "nova-phonecall";
1637
- readonly "nova-medical": "nova-medical";
1864
+ declare const SpeechmaticsOperatingPoint: {
1865
+ readonly standard: "standard";
1638
1866
  readonly enhanced: "enhanced";
1639
- readonly "enhanced-general": "enhanced-general";
1640
- readonly "enhanced-meeting": "enhanced-meeting";
1641
- readonly "enhanced-phonecall": "enhanced-phonecall";
1642
- readonly "enhanced-finance": "enhanced-finance";
1643
- readonly base: "base";
1644
- readonly meeting: "meeting";
1645
- readonly phonecall: "phonecall";
1646
- readonly finance: "finance";
1647
- readonly conversationalai: "conversationalai";
1648
- readonly voicemail: "voicemail";
1649
- readonly video: "video";
1650
1867
  };
1868
+ type SpeechmaticsOperatingPointType = (typeof SpeechmaticsOperatingPoint)[keyof typeof SpeechmaticsOperatingPoint];
1651
1869
 
1652
1870
  /**
1653
1871
  * Gladia audio encoding formats for streaming
@@ -2265,8 +2483,6 @@ type DeepgramIntentModeType = (typeof DeepgramIntentMode)[keyof typeof DeepgramI
2265
2483
  type DeepgramCallbackMethodType = (typeof DeepgramCallbackMethod)[keyof typeof DeepgramCallbackMethod];
2266
2484
  /** Deepgram sample rate type derived from const object */
2267
2485
  type DeepgramSampleRateType = (typeof DeepgramSampleRate)[keyof typeof DeepgramSampleRate];
2268
- /** Deepgram model type derived from const object */
2269
- type DeepgramModelType = (typeof DeepgramModel)[keyof typeof DeepgramModel];
2270
2486
 
2271
2487
  /** Gladia encoding type derived from const object */
2272
2488
  type GladiaEncodingType = (typeof GladiaEncoding)[keyof typeof GladiaEncoding];
@@ -2566,31 +2782,40 @@ type DeepgramTTSContainerType = (typeof DeepgramTTSContainer)[keyof typeof Deepg
2566
2782
  /** Deepgram TTS sample rate type derived from const object */
2567
2783
  type DeepgramTTSSampleRateType = (typeof DeepgramTTSSampleRate)[keyof typeof DeepgramTTSSampleRate];
2568
2784
  /**
2569
- * OpenAI Whisper transcription models
2570
- *
2571
- * Values from official spec (auto-synced from Stainless):
2572
- * - `whisper-1`: Open source Whisper V2 model
2573
- * - `gpt-4o-transcribe`: GPT-4o based transcription (more accurate)
2574
- * - `gpt-4o-mini-transcribe`: Faster, cost-effective GPT-4o mini
2575
- * - `gpt-4o-mini-transcribe-2025-12-15`: Dated version of GPT-4o mini
2576
- * - `gpt-4o-transcribe-diarize`: GPT-4o with speaker diarization
2577
- *
2578
- * @example
2579
- * ```typescript
2580
- * import { OpenAIModel } from 'voice-router-dev/constants'
2581
- *
2582
- * { model: OpenAIModel["whisper-1"] }
2583
- * { model: OpenAIModel["gpt-4o-transcribe"] }
2584
- * { model: OpenAIModel["gpt-4o-transcribe-diarize"] }
2585
- * ```
2785
+ * OpenAI transcription models (batch)
2786
+ * @see scripts/generate-openai-models.js
2586
2787
  */
2587
2788
  declare const OpenAIModel: {
2588
- readonly "whisper-1": "whisper-1";
2589
- readonly "gpt-4o-transcribe": "gpt-4o-transcribe";
2590
2789
  readonly "gpt-4o-mini-transcribe": "gpt-4o-mini-transcribe";
2591
2790
  readonly "gpt-4o-mini-transcribe-2025-12-15": "gpt-4o-mini-transcribe-2025-12-15";
2791
+ readonly "gpt-4o-transcribe": "gpt-4o-transcribe";
2592
2792
  readonly "gpt-4o-transcribe-diarize": "gpt-4o-transcribe-diarize";
2793
+ readonly "whisper-1": "whisper-1";
2794
+ };
2795
+ declare const OpenAIModelCodes: readonly ["gpt-4o-mini-realtime-preview", "gpt-4o-mini-realtime-preview-2024-12-17", "gpt-4o-mini-transcribe", "gpt-4o-mini-transcribe-2025-12-15", "gpt-4o-realtime-preview", "gpt-4o-realtime-preview-2024-10-01", "gpt-4o-realtime-preview-2024-12-17", "gpt-4o-realtime-preview-2025-06-03", "gpt-4o-transcribe", "gpt-4o-transcribe-diarize", "gpt-audio-mini", "gpt-audio-mini-2025-10-06", "gpt-audio-mini-2025-12-15", "gpt-realtime", "gpt-realtime-2025-08-28", "gpt-realtime-mini", "gpt-realtime-mini-2025-10-06", "gpt-realtime-mini-2025-12-15", "whisper-1"];
2796
+ declare const OpenAIModelLabels: Record<"whisper-1" | "gpt-4o-transcribe" | "gpt-4o-mini-transcribe" | "gpt-4o-mini-transcribe-2025-12-15" | "gpt-4o-transcribe-diarize" | "gpt-4o-mini-realtime-preview" | "gpt-4o-mini-realtime-preview-2024-12-17" | "gpt-4o-realtime-preview" | "gpt-4o-realtime-preview-2024-10-01" | "gpt-4o-realtime-preview-2024-12-17" | "gpt-4o-realtime-preview-2025-06-03" | "gpt-audio-mini" | "gpt-audio-mini-2025-10-06" | "gpt-audio-mini-2025-12-15" | "gpt-realtime" | "gpt-realtime-2025-08-28" | "gpt-realtime-mini" | "gpt-realtime-mini-2025-10-06" | "gpt-realtime-mini-2025-12-15", string>;
2797
+ /**
2798
+ * OpenAI Realtime API models (streaming)
2799
+ * @see scripts/generate-openai-models.js
2800
+ */
2801
+ declare const OpenAIRealtimeModel: {
2802
+ readonly "gpt-4o-mini-realtime-preview": "gpt-4o-mini-realtime-preview";
2803
+ readonly "gpt-4o-mini-realtime-preview-2024-12-17": "gpt-4o-mini-realtime-preview-2024-12-17";
2804
+ readonly "gpt-4o-realtime-preview": "gpt-4o-realtime-preview";
2805
+ readonly "gpt-4o-realtime-preview-2024-10-01": "gpt-4o-realtime-preview-2024-10-01";
2806
+ readonly "gpt-4o-realtime-preview-2024-12-17": "gpt-4o-realtime-preview-2024-12-17";
2807
+ readonly "gpt-4o-realtime-preview-2025-06-03": "gpt-4o-realtime-preview-2025-06-03";
2808
+ readonly "gpt-audio-mini": "gpt-audio-mini";
2809
+ readonly "gpt-audio-mini-2025-10-06": "gpt-audio-mini-2025-10-06";
2810
+ readonly "gpt-audio-mini-2025-12-15": "gpt-audio-mini-2025-12-15";
2811
+ readonly "gpt-realtime": "gpt-realtime";
2812
+ readonly "gpt-realtime-2025-08-28": "gpt-realtime-2025-08-28";
2813
+ readonly "gpt-realtime-mini": "gpt-realtime-mini";
2814
+ readonly "gpt-realtime-mini-2025-10-06": "gpt-realtime-mini-2025-10-06";
2815
+ readonly "gpt-realtime-mini-2025-12-15": "gpt-realtime-mini-2025-12-15";
2593
2816
  };
2817
+ declare const OpenAIRealtimeModelCodes: readonly ["gpt-4o-mini-realtime-preview", "gpt-4o-mini-realtime-preview-2024-12-17", "gpt-4o-realtime-preview", "gpt-4o-realtime-preview-2024-10-01", "gpt-4o-realtime-preview-2024-12-17", "gpt-4o-realtime-preview-2025-06-03", "gpt-audio-mini", "gpt-audio-mini-2025-10-06", "gpt-audio-mini-2025-12-15", "gpt-realtime", "gpt-realtime-2025-08-28", "gpt-realtime-mini", "gpt-realtime-mini-2025-10-06", "gpt-realtime-mini-2025-12-15"];
2818
+
2594
2819
  /**
2595
2820
  * OpenAI transcription response formats
2596
2821
  *
@@ -2602,9 +2827,6 @@ declare const OpenAIModel: {
2602
2827
  * - `vtt`: VTT subtitle format
2603
2828
  * - `diarized_json`: JSON with speaker annotations (gpt-4o-transcribe-diarize only)
2604
2829
  *
2605
- * Note: GPT-4o transcribe models only support `json` format.
2606
- * For diarization, use `diarized_json` with `gpt-4o-transcribe-diarize` model.
2607
- *
2608
2830
  * @example
2609
2831
  * ```typescript
2610
2832
  * import { OpenAIResponseFormat } from 'voice-router-dev/constants'
@@ -2625,36 +2847,8 @@ declare const OpenAIResponseFormat: {
2625
2847
  type OpenAIModelType = (typeof OpenAIModel)[keyof typeof OpenAIModel];
2626
2848
  /** OpenAI response format type derived from const object */
2627
2849
  type OpenAIResponseFormatType = (typeof OpenAIResponseFormat)[keyof typeof OpenAIResponseFormat];
2628
- /**
2629
- * OpenAI Realtime API models for streaming transcription
2630
- *
2631
- * Values from official spec (auto-synced from Stainless):
2632
- * - `gpt-4o-realtime-preview`: Latest GPT-4o realtime preview
2633
- * - `gpt-4o-realtime-preview-2024-10-01`: October 2024 version
2634
- * - `gpt-4o-realtime-preview-2024-12-17`: December 2024 version
2635
- * - `gpt-4o-realtime-preview-2025-06-03`: June 2025 version
2636
- * - `gpt-4o-mini-realtime-preview`: GPT-4o mini realtime
2637
- * - `gpt-4o-mini-realtime-preview-2024-12-17`: December 2024 mini version
2638
- *
2639
- * @example
2640
- * ```typescript
2641
- * import { OpenAIRealtimeModel } from 'voice-router-dev/constants'
2642
- *
2643
- * await adapter.transcribeStream({
2644
- * openaiStreaming: {
2645
- * model: OpenAIRealtimeModel["gpt-4o-realtime-preview"]
2646
- * }
2647
- * })
2648
- * ```
2649
- */
2650
- declare const OpenAIRealtimeModel: {
2651
- readonly "gpt-4o-realtime-preview": "gpt-4o-realtime-preview";
2652
- readonly "gpt-4o-realtime-preview-2024-10-01": "gpt-4o-realtime-preview-2024-10-01";
2653
- readonly "gpt-4o-realtime-preview-2024-12-17": "gpt-4o-realtime-preview-2024-12-17";
2654
- readonly "gpt-4o-realtime-preview-2025-06-03": "gpt-4o-realtime-preview-2025-06-03";
2655
- readonly "gpt-4o-mini-realtime-preview": "gpt-4o-mini-realtime-preview";
2656
- readonly "gpt-4o-mini-realtime-preview-2024-12-17": "gpt-4o-mini-realtime-preview-2024-12-17";
2657
- };
2850
+ /** OpenAI Realtime model type derived from const object */
2851
+ type OpenAIRealtimeModelType = (typeof OpenAIRealtimeModel)[keyof typeof OpenAIRealtimeModel];
2658
2852
  /**
2659
2853
  * OpenAI Realtime audio input formats
2660
2854
  *
@@ -2702,25 +2896,16 @@ declare const OpenAIRealtimeTurnDetection: {
2702
2896
  };
2703
2897
  /**
2704
2898
  * OpenAI Realtime input transcription models
2705
- *
2706
- * Models available for input audio transcription in Realtime sessions.
2707
- *
2708
- * @example
2709
- * ```typescript
2710
- * import { OpenAIRealtimeTranscriptionModel } from 'voice-router-dev/constants'
2711
- *
2712
- * // whisper-1 is the standard transcription model
2713
- * ```
2899
+ * (Alias for OpenAITranscriptionModel - same models work for realtime input transcription)
2900
+ * @see scripts/generate-openai-models.js
2714
2901
  */
2715
2902
  declare const OpenAIRealtimeTranscriptionModel: {
2716
- readonly "whisper-1": "whisper-1";
2717
- readonly "gpt-4o-transcribe": "gpt-4o-transcribe";
2718
2903
  readonly "gpt-4o-mini-transcribe": "gpt-4o-mini-transcribe";
2719
2904
  readonly "gpt-4o-mini-transcribe-2025-12-15": "gpt-4o-mini-transcribe-2025-12-15";
2905
+ readonly "gpt-4o-transcribe": "gpt-4o-transcribe";
2720
2906
  readonly "gpt-4o-transcribe-diarize": "gpt-4o-transcribe-diarize";
2907
+ readonly "whisper-1": "whisper-1";
2721
2908
  };
2722
- /** OpenAI Realtime model type */
2723
- type OpenAIRealtimeModelType = (typeof OpenAIRealtimeModel)[keyof typeof OpenAIRealtimeModel];
2724
2909
  /** OpenAI Realtime audio format type */
2725
2910
  type OpenAIRealtimeAudioFormatType = (typeof OpenAIRealtimeAudioFormat)[keyof typeof OpenAIRealtimeAudioFormat];
2726
2911
  /** OpenAI Realtime turn detection type */
@@ -2788,4 +2973,4 @@ declare const OpenAILanguage: {
2788
2973
  /** OpenAI language type */
2789
2974
  type OpenAILanguageType = (typeof OpenAILanguageCodes)[number];
2790
2975
 
2791
- export { AssemblyAIEncoding, type AssemblyAIEncodingType, AssemblyAILanguage, type AssemblyAILanguageType, AssemblyAISampleRate, type AssemblyAISampleRateType, AssemblyAISpeechModel, type AssemblyAISpeechModelType, AssemblyAIStatus, type AssemblyAIStatusType, AssemblyAITranscriptionModel, type AssemblyAITranscriptionModelType, AzureLocale, type AzureLocaleCode, AzureLocaleCodes, AzureLocaleLabels, type AzureLocaleType, AzureLocales, AzureStatus, type AzureStatusType, type DeepgramArchitecture, DeepgramArchitectureLanguages, DeepgramArchitectures, DeepgramCallbackMethod, type DeepgramCallbackMethodType, DeepgramEncoding, type DeepgramEncodingType, DeepgramIntentMode, type DeepgramIntentModeType, DeepgramLanguage, type DeepgramLanguageCode, DeepgramLanguageCodes, type DeepgramLanguageCode as DeepgramLanguageType, DeepgramModel, type DeepgramModelType, type DeepgramMultilingualArchitecture, DeepgramMultilingualArchitectures, DeepgramRedact, type DeepgramRedactType, DeepgramRegion, type DeepgramRegionType, DeepgramSampleRate, type DeepgramSampleRateType, DeepgramStatus, type DeepgramStatusType, DeepgramTTSContainer, type DeepgramTTSContainerType, DeepgramTTSEncoding, type DeepgramTTSEncodingType, DeepgramTTSModel, type DeepgramTTSModelType, DeepgramTTSSampleRate, type DeepgramTTSSampleRateType, DeepgramTopicMode, type DeepgramTopicModeType, GladiaBitDepth, type GladiaBitDepthType, GladiaEncoding, type GladiaEncodingType, GladiaLanguage, type GladiaLanguageType, GladiaModel, type GladiaModelType, GladiaRegion, type GladiaRegionType, GladiaSampleRate, type GladiaSampleRateType, GladiaStatus, type GladiaStatusType, GladiaTranslationLanguage, type GladiaTranslationLanguageType, OpenAILanguage, OpenAILanguageCodes, type OpenAILanguageType, OpenAIModel, type OpenAIModelType, OpenAIRealtimeAudioFormat, type OpenAIRealtimeAudioFormatType, OpenAIRealtimeModel, type OpenAIRealtimeModelType, OpenAIRealtimeTranscriptionModel, type OpenAIRealtimeTranscriptionModelType, OpenAIRealtimeTurnDetection, type OpenAIRealtimeTurnDetectionType, OpenAIResponseFormat, type OpenAIResponseFormatType, SonioxLanguage, type SonioxLanguageCode, SonioxLanguageCodes, SonioxLanguageLabels, type SonioxLanguageType, SonioxLanguages, SonioxRegion, type SonioxRegionType, SpeechmaticsLanguage, type SpeechmaticsLanguageCode, SpeechmaticsLanguageCodes, SpeechmaticsLanguageLabels, type SpeechmaticsLanguageType, SpeechmaticsLanguages, SpeechmaticsRegion, type SpeechmaticsRegionType };
2976
+ export { AssemblyAIEncoding, type AssemblyAIEncodingType, AssemblyAILanguage, type AssemblyAILanguageType, AssemblyAISampleRate, type AssemblyAISampleRateType, AssemblyAISpeechModel, type AssemblyAISpeechModelType, AssemblyAIStatus, type AssemblyAIStatusType, AssemblyAITranscriptionModel, type AssemblyAITranscriptionModelType, AzureLocale, type AzureLocaleCode, AzureLocaleCodes, AzureLocaleLabels, type AzureLocaleType, AzureLocales, AzureStatus, type AzureStatusType, type DeepgramArchitecture, DeepgramArchitectureLanguages, DeepgramArchitectures, DeepgramCallbackMethod, type DeepgramCallbackMethodType, DeepgramEncoding, type DeepgramEncodingType, DeepgramIntentMode, type DeepgramIntentModeType, DeepgramLanguage, type DeepgramLanguageCode, DeepgramLanguageCodes, type DeepgramLanguageCode as DeepgramLanguageType, DeepgramModel, type DeepgramModelCode, DeepgramModelCodes, DeepgramModelLabels, type DeepgramModelCode as DeepgramModelType, type DeepgramMultilingualArchitecture, DeepgramMultilingualArchitectures, DeepgramRedact, type DeepgramRedactType, DeepgramRegion, type DeepgramRegionType, DeepgramSampleRate, type DeepgramSampleRateType, DeepgramStatus, type DeepgramStatusType, DeepgramTTSContainer, type DeepgramTTSContainerType, DeepgramTTSEncoding, type DeepgramTTSEncodingType, DeepgramTTSModel, type DeepgramTTSModelType, DeepgramTTSSampleRate, type DeepgramTTSSampleRateType, DeepgramTopicMode, type DeepgramTopicModeType, GladiaBitDepth, type GladiaBitDepthType, GladiaEncoding, type GladiaEncodingType, GladiaLanguage, type GladiaLanguageType, GladiaModel, type GladiaModelType, GladiaRegion, type GladiaRegionType, GladiaSampleRate, type GladiaSampleRateType, GladiaStatus, type GladiaStatusType, GladiaTranslationLanguage, type GladiaTranslationLanguageType, OpenAILanguage, OpenAILanguageCodes, type OpenAILanguageType, OpenAIModel, type OpenAIModelCode, OpenAIModelCodes, OpenAIModelLabels, type OpenAIModelType, OpenAIRealtimeAudioFormat, type OpenAIRealtimeAudioFormatType, OpenAIRealtimeModel, type OpenAIRealtimeModelCode, OpenAIRealtimeModelCodes, type OpenAIRealtimeModelType, OpenAIRealtimeTranscriptionModel, type OpenAIRealtimeTranscriptionModelType, OpenAIRealtimeTurnDetection, type OpenAIRealtimeTurnDetectionType, OpenAIResponseFormat, type OpenAIResponseFormatType, type OpenAITranscriptionModelCode, SonioxAsyncModel, type SonioxAsyncModelCode, SonioxAsyncModelCodes, SonioxLanguage, type SonioxLanguageCode, SonioxLanguageCodes, SonioxLanguageLabels, type SonioxLanguageType, SonioxLanguages, SonioxModel, type SonioxModelCode, SonioxModelCodes, SonioxModelLabels, SonioxModels, SonioxRealtimeModel, type SonioxRealtimeModelCode, SonioxRealtimeModelCodes, SonioxRegion, type SonioxRegionType, SpeechmaticsLanguage, type SpeechmaticsLanguageCode, SpeechmaticsLanguageCodes, SpeechmaticsLanguageLabels, type SpeechmaticsLanguageType, SpeechmaticsLanguages, SpeechmaticsOperatingPoint, type SpeechmaticsOperatingPointType, SpeechmaticsRegion, type SpeechmaticsRegionType };