vapi_client/models/
open_ai_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 OpenAiTranscriber {
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")]
21    pub model: 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    /// This is the plan for voice provider fallbacks in the event that the primary voice provider fails.
26    #[serde(rename = "fallbackPlan", skip_serializing_if = "Option::is_none")]
27    pub fallback_plan: Option<models::FallbackTranscriberPlan>,
28}
29
30impl OpenAiTranscriber {
31    pub fn new(provider: ProviderTrue, model: ModelTrue) -> OpenAiTranscriber {
32        OpenAiTranscriber {
33            provider,
34            model,
35            language: None,
36            fallback_plan: None,
37        }
38    }
39}
40/// This is the transcription provider that will be used.
41#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
42pub enum ProviderTrue {
43    #[serde(rename = "openai")]
44    Openai,
45}
46
47impl Default for ProviderTrue {
48    fn default() -> ProviderTrue {
49        Self::Openai
50    }
51}
52/// This is the model that will be used for the transcription.
53#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
54pub enum ModelTrue {
55    #[serde(rename = "gpt-4o-transcribe")]
56    Gpt4oTranscribe,
57    #[serde(rename = "gpt-4o-mini-transcribe")]
58    Gpt4oMiniTranscribe,
59}
60
61impl Default for ModelTrue {
62    fn default() -> ModelTrue {
63        Self::Gpt4oTranscribe
64    }
65}
66/// This is the language that will be set for the transcription.
67#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
68pub enum LanguageTrue {
69    #[serde(rename = "af")]
70    Af,
71    #[serde(rename = "ar")]
72    Ar,
73    #[serde(rename = "hy")]
74    Hy,
75    #[serde(rename = "az")]
76    Az,
77    #[serde(rename = "be")]
78    Be,
79    #[serde(rename = "bs")]
80    Bs,
81    #[serde(rename = "bg")]
82    Bg,
83    #[serde(rename = "ca")]
84    Ca,
85    #[serde(rename = "zh")]
86    Zh,
87    #[serde(rename = "hr")]
88    Hr,
89    #[serde(rename = "cs")]
90    Cs,
91    #[serde(rename = "da")]
92    Da,
93    #[serde(rename = "nl")]
94    Nl,
95    #[serde(rename = "en")]
96    En,
97    #[serde(rename = "et")]
98    Et,
99    #[serde(rename = "fi")]
100    Fi,
101    #[serde(rename = "fr")]
102    Fr,
103    #[serde(rename = "gl")]
104    Gl,
105    #[serde(rename = "de")]
106    De,
107    #[serde(rename = "el")]
108    El,
109    #[serde(rename = "he")]
110    He,
111    #[serde(rename = "hi")]
112    Hi,
113    #[serde(rename = "hu")]
114    Hu,
115    #[serde(rename = "is")]
116    Is,
117    #[serde(rename = "id")]
118    Id,
119    #[serde(rename = "it")]
120    It,
121    #[serde(rename = "ja")]
122    Ja,
123    #[serde(rename = "kn")]
124    Kn,
125    #[serde(rename = "kk")]
126    Kk,
127    #[serde(rename = "ko")]
128    Ko,
129    #[serde(rename = "lv")]
130    Lv,
131    #[serde(rename = "lt")]
132    Lt,
133    #[serde(rename = "mk")]
134    Mk,
135    #[serde(rename = "ms")]
136    Ms,
137    #[serde(rename = "mr")]
138    Mr,
139    #[serde(rename = "mi")]
140    Mi,
141    #[serde(rename = "ne")]
142    Ne,
143    #[serde(rename = "no")]
144    No,
145    #[serde(rename = "fa")]
146    Fa,
147    #[serde(rename = "pl")]
148    Pl,
149    #[serde(rename = "pt")]
150    Pt,
151    #[serde(rename = "ro")]
152    Ro,
153    #[serde(rename = "ru")]
154    Ru,
155    #[serde(rename = "sr")]
156    Sr,
157    #[serde(rename = "sk")]
158    Sk,
159    #[serde(rename = "sl")]
160    Sl,
161    #[serde(rename = "es")]
162    Es,
163    #[serde(rename = "sw")]
164    Sw,
165    #[serde(rename = "sv")]
166    Sv,
167    #[serde(rename = "tl")]
168    Tl,
169    #[serde(rename = "ta")]
170    Ta,
171    #[serde(rename = "th")]
172    Th,
173    #[serde(rename = "tr")]
174    Tr,
175    #[serde(rename = "uk")]
176    Uk,
177    #[serde(rename = "ur")]
178    Ur,
179    #[serde(rename = "vi")]
180    Vi,
181    #[serde(rename = "cy")]
182    Cy,
183}
184
185impl Default for LanguageTrue {
186    fn default() -> LanguageTrue {
187        Self::Af
188    }
189}