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: Provider,
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<Model>,
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<Language>,
25}
26
27impl FallbackGoogleTranscriber {
28    pub fn new(provider: Provider) -> 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 Provider {
39    #[serde(rename = "google")]
40    Google,
41}
42
43impl Default for Provider {
44    fn default() -> Provider {
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 Model {
51    #[serde(rename = "gemini-2.0-flash-thinking-exp")]
52    Gemini2Period0FlashThinkingExp,
53    #[serde(rename = "gemini-2.0-pro-exp-02-05")]
54    Gemini2Period0ProExp0205,
55    #[serde(rename = "gemini-2.0-flash")]
56    Gemini2Period0Flash,
57    #[serde(rename = "gemini-2.0-flash-lite")]
58    Gemini2Period0FlashLite,
59    #[serde(rename = "gemini-2.0-flash-lite-preview-02-05")]
60    Gemini2Period0FlashLitePreview0205,
61    #[serde(rename = "gemini-2.0-flash-exp")]
62    Gemini2Period0FlashExp,
63    #[serde(rename = "gemini-2.0-flash-realtime-exp")]
64    Gemini2Period0FlashRealtimeExp,
65    #[serde(rename = "gemini-1.5-flash")]
66    Gemini1Period5Flash,
67    #[serde(rename = "gemini-1.5-flash-002")]
68    Gemini1Period5Flash002,
69    #[serde(rename = "gemini-1.5-pro")]
70    Gemini1Period5Pro,
71    #[serde(rename = "gemini-1.5-pro-002")]
72    Gemini1Period5Pro002,
73    #[serde(rename = "gemini-1.0-pro")]
74    Gemini1Period0Pro,
75}
76
77impl Default for Model {
78    fn default() -> Model {
79        Self::Gemini2Period0FlashThinkingExp
80    }
81}
82/// This is the language that will be set for the transcription.
83#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
84pub enum Language {
85    #[serde(rename = "Multilingual")]
86    Multilingual,
87    #[serde(rename = "Arabic")]
88    Arabic,
89    #[serde(rename = "Bengali")]
90    Bengali,
91    #[serde(rename = "Bulgarian")]
92    Bulgarian,
93    #[serde(rename = "Chinese")]
94    Chinese,
95    #[serde(rename = "Croatian")]
96    Croatian,
97    #[serde(rename = "Czech")]
98    Czech,
99    #[serde(rename = "Danish")]
100    Danish,
101    #[serde(rename = "Dutch")]
102    Dutch,
103    #[serde(rename = "English")]
104    English,
105    #[serde(rename = "Estonian")]
106    Estonian,
107    #[serde(rename = "Finnish")]
108    Finnish,
109    #[serde(rename = "French")]
110    French,
111    #[serde(rename = "German")]
112    German,
113    #[serde(rename = "Greek")]
114    Greek,
115    #[serde(rename = "Hebrew")]
116    Hebrew,
117    #[serde(rename = "Hindi")]
118    Hindi,
119    #[serde(rename = "Hungarian")]
120    Hungarian,
121    #[serde(rename = "Indonesian")]
122    Indonesian,
123    #[serde(rename = "Italian")]
124    Italian,
125    #[serde(rename = "Japanese")]
126    Japanese,
127    #[serde(rename = "Korean")]
128    Korean,
129    #[serde(rename = "Latvian")]
130    Latvian,
131    #[serde(rename = "Lithuanian")]
132    Lithuanian,
133    #[serde(rename = "Norwegian")]
134    Norwegian,
135    #[serde(rename = "Polish")]
136    Polish,
137    #[serde(rename = "Portuguese")]
138    Portuguese,
139    #[serde(rename = "Romanian")]
140    Romanian,
141    #[serde(rename = "Russian")]
142    Russian,
143    #[serde(rename = "Serbian")]
144    Serbian,
145    #[serde(rename = "Slovak")]
146    Slovak,
147    #[serde(rename = "Slovenian")]
148    Slovenian,
149    #[serde(rename = "Spanish")]
150    Spanish,
151    #[serde(rename = "Swahili")]
152    Swahili,
153    #[serde(rename = "Swedish")]
154    Swedish,
155    #[serde(rename = "Thai")]
156    Thai,
157    #[serde(rename = "Turkish")]
158    Turkish,
159    #[serde(rename = "Ukrainian")]
160    Ukrainian,
161    #[serde(rename = "Vietnamese")]
162    Vietnamese,
163}
164
165impl Default for Language {
166    fn default() -> Language {
167        Self::Multilingual
168    }
169}
170