vapi_client/models/
fallback_google_transcriber.rs

1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct FallbackGoogleTranscriber {
16    /// This is the transcription provider that will be used.
17    #[serde(rename = "provider")]
18    pub provider: ProviderTrue,
19    /// This is the model that will be used for the transcription.
20    #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
21    pub model: Option<ModelTrue>,
22    /// This is the language that will be set for the transcription.
23    #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
24    pub language: Option<LanguageTrue>,
25}
26
27impl FallbackGoogleTranscriber {
28    pub fn new(provider: ProviderTrue) -> FallbackGoogleTranscriber {
29        FallbackGoogleTranscriber {
30            provider,
31            model: None,
32            language: None,
33        }
34    }
35}
36/// This is the transcription provider that will be used.
37#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
38pub enum ProviderTrue {
39    #[serde(rename = "google")]
40    Google,
41}
42
43impl Default for ProviderTrue {
44    fn default() -> ProviderTrue {
45        Self::Google
46    }
47}
48/// This is the model that will be used for the transcription.
49#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
50pub enum ModelTrue {
51    #[serde(rename = "gemini-2.5-pro-preview-05-06")]
52    Gemini2Period5ProPreview0506,
53    #[serde(rename = "gemini-2.5-flash-preview-05-20")]
54    Gemini2Period5FlashPreview0520,
55    #[serde(rename = "gemini-2.5-flash-preview-04-17")]
56    Gemini2Period5FlashPreview0417,
57    #[serde(rename = "gemini-2.0-flash-thinking-exp")]
58    Gemini2Period0FlashThinkingExp,
59    #[serde(rename = "gemini-2.0-pro-exp-02-05")]
60    Gemini2Period0ProExp0205,
61    #[serde(rename = "gemini-2.0-flash")]
62    Gemini2Period0Flash,
63    #[serde(rename = "gemini-2.0-flash-lite")]
64    Gemini2Period0FlashLite,
65    #[serde(rename = "gemini-2.0-flash-lite-preview-02-05")]
66    Gemini2Period0FlashLitePreview0205,
67    #[serde(rename = "gemini-2.0-flash-exp")]
68    Gemini2Period0FlashExp,
69    #[serde(rename = "gemini-2.0-flash-realtime-exp")]
70    Gemini2Period0FlashRealtimeExp,
71    #[serde(rename = "gemini-1.5-flash")]
72    Gemini1Period5Flash,
73    #[serde(rename = "gemini-1.5-flash-002")]
74    Gemini1Period5Flash002,
75    #[serde(rename = "gemini-1.5-pro")]
76    Gemini1Period5Pro,
77    #[serde(rename = "gemini-1.5-pro-002")]
78    Gemini1Period5Pro002,
79    #[serde(rename = "gemini-1.0-pro")]
80    Gemini1Period0Pro,
81}
82
83impl Default for ModelTrue {
84    fn default() -> ModelTrue {
85        Self::Gemini2Period5ProPreview0506
86    }
87}
88/// This is the language that will be set for the transcription.
89#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
90pub enum LanguageTrue {
91    #[serde(rename = "Multilingual")]
92    Multilingual,
93    #[serde(rename = "Arabic")]
94    Arabic,
95    #[serde(rename = "Bengali")]
96    Bengali,
97    #[serde(rename = "Bulgarian")]
98    Bulgarian,
99    #[serde(rename = "Chinese")]
100    Chinese,
101    #[serde(rename = "Croatian")]
102    Croatian,
103    #[serde(rename = "Czech")]
104    Czech,
105    #[serde(rename = "Danish")]
106    Danish,
107    #[serde(rename = "Dutch")]
108    Dutch,
109    #[serde(rename = "English")]
110    English,
111    #[serde(rename = "Estonian")]
112    Estonian,
113    #[serde(rename = "Finnish")]
114    Finnish,
115    #[serde(rename = "French")]
116    French,
117    #[serde(rename = "German")]
118    German,
119    #[serde(rename = "Greek")]
120    Greek,
121    #[serde(rename = "Hebrew")]
122    Hebrew,
123    #[serde(rename = "Hindi")]
124    Hindi,
125    #[serde(rename = "Hungarian")]
126    Hungarian,
127    #[serde(rename = "Indonesian")]
128    Indonesian,
129    #[serde(rename = "Italian")]
130    Italian,
131    #[serde(rename = "Japanese")]
132    Japanese,
133    #[serde(rename = "Korean")]
134    Korean,
135    #[serde(rename = "Latvian")]
136    Latvian,
137    #[serde(rename = "Lithuanian")]
138    Lithuanian,
139    #[serde(rename = "Norwegian")]
140    Norwegian,
141    #[serde(rename = "Polish")]
142    Polish,
143    #[serde(rename = "Portuguese")]
144    Portuguese,
145    #[serde(rename = "Romanian")]
146    Romanian,
147    #[serde(rename = "Russian")]
148    Russian,
149    #[serde(rename = "Serbian")]
150    Serbian,
151    #[serde(rename = "Slovak")]
152    Slovak,
153    #[serde(rename = "Slovenian")]
154    Slovenian,
155    #[serde(rename = "Spanish")]
156    Spanish,
157    #[serde(rename = "Swahili")]
158    Swahili,
159    #[serde(rename = "Swedish")]
160    Swedish,
161    #[serde(rename = "Thai")]
162    Thai,
163    #[serde(rename = "Turkish")]
164    Turkish,
165    #[serde(rename = "Ukrainian")]
166    Ukrainian,
167    #[serde(rename = "Vietnamese")]
168    Vietnamese,
169}
170
171impl Default for LanguageTrue {
172    fn default() -> LanguageTrue {
173        Self::Multilingual
174    }
175}