vapi-client 0.4.2

Unofficial crate for Vapi - Voice AI for developers.
Documentation
/*
 * Vapi API
 *
 * Voice AI for developers.
 *
 * The version of the OpenAPI document: 1.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FallbackGoogleTranscriber {
    /// This is the transcription provider that will be used.
    #[serde(rename = "provider")]
    pub provider: ProviderTrue,
    /// This is the model that will be used for the transcription.
    #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
    pub model: Option<ModelTrue>,
    /// This is the language that will be set for the transcription.
    #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
    pub language: Option<LanguageTrue>,
}

impl FallbackGoogleTranscriber {
    pub fn new(provider: ProviderTrue) -> FallbackGoogleTranscriber {
        FallbackGoogleTranscriber {
            provider,
            model: None,
            language: None,
        }
    }
}
/// This is the transcription provider that will be used.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ProviderTrue {
    #[serde(rename = "google")]
    Google,
}

impl Default for ProviderTrue {
    fn default() -> ProviderTrue {
        Self::Google
    }
}
/// This is the model that will be used for the transcription.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ModelTrue {
    #[serde(rename = "gemini-2.5-pro-preview-05-06")]
    Gemini2Period5ProPreview0506,
    #[serde(rename = "gemini-2.5-flash-preview-05-20")]
    Gemini2Period5FlashPreview0520,
    #[serde(rename = "gemini-2.5-flash-preview-04-17")]
    Gemini2Period5FlashPreview0417,
    #[serde(rename = "gemini-2.0-flash-thinking-exp")]
    Gemini2Period0FlashThinkingExp,
    #[serde(rename = "gemini-2.0-pro-exp-02-05")]
    Gemini2Period0ProExp0205,
    #[serde(rename = "gemini-2.0-flash")]
    Gemini2Period0Flash,
    #[serde(rename = "gemini-2.0-flash-lite")]
    Gemini2Period0FlashLite,
    #[serde(rename = "gemini-2.0-flash-lite-preview-02-05")]
    Gemini2Period0FlashLitePreview0205,
    #[serde(rename = "gemini-2.0-flash-exp")]
    Gemini2Period0FlashExp,
    #[serde(rename = "gemini-2.0-flash-realtime-exp")]
    Gemini2Period0FlashRealtimeExp,
    #[serde(rename = "gemini-1.5-flash")]
    Gemini1Period5Flash,
    #[serde(rename = "gemini-1.5-flash-002")]
    Gemini1Period5Flash002,
    #[serde(rename = "gemini-1.5-pro")]
    Gemini1Period5Pro,
    #[serde(rename = "gemini-1.5-pro-002")]
    Gemini1Period5Pro002,
    #[serde(rename = "gemini-1.0-pro")]
    Gemini1Period0Pro,
}

impl Default for ModelTrue {
    fn default() -> ModelTrue {
        Self::Gemini2Period5ProPreview0506
    }
}
/// This is the language that will be set for the transcription.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum LanguageTrue {
    #[serde(rename = "Multilingual")]
    Multilingual,
    #[serde(rename = "Arabic")]
    Arabic,
    #[serde(rename = "Bengali")]
    Bengali,
    #[serde(rename = "Bulgarian")]
    Bulgarian,
    #[serde(rename = "Chinese")]
    Chinese,
    #[serde(rename = "Croatian")]
    Croatian,
    #[serde(rename = "Czech")]
    Czech,
    #[serde(rename = "Danish")]
    Danish,
    #[serde(rename = "Dutch")]
    Dutch,
    #[serde(rename = "English")]
    English,
    #[serde(rename = "Estonian")]
    Estonian,
    #[serde(rename = "Finnish")]
    Finnish,
    #[serde(rename = "French")]
    French,
    #[serde(rename = "German")]
    German,
    #[serde(rename = "Greek")]
    Greek,
    #[serde(rename = "Hebrew")]
    Hebrew,
    #[serde(rename = "Hindi")]
    Hindi,
    #[serde(rename = "Hungarian")]
    Hungarian,
    #[serde(rename = "Indonesian")]
    Indonesian,
    #[serde(rename = "Italian")]
    Italian,
    #[serde(rename = "Japanese")]
    Japanese,
    #[serde(rename = "Korean")]
    Korean,
    #[serde(rename = "Latvian")]
    Latvian,
    #[serde(rename = "Lithuanian")]
    Lithuanian,
    #[serde(rename = "Norwegian")]
    Norwegian,
    #[serde(rename = "Polish")]
    Polish,
    #[serde(rename = "Portuguese")]
    Portuguese,
    #[serde(rename = "Romanian")]
    Romanian,
    #[serde(rename = "Russian")]
    Russian,
    #[serde(rename = "Serbian")]
    Serbian,
    #[serde(rename = "Slovak")]
    Slovak,
    #[serde(rename = "Slovenian")]
    Slovenian,
    #[serde(rename = "Spanish")]
    Spanish,
    #[serde(rename = "Swahili")]
    Swahili,
    #[serde(rename = "Swedish")]
    Swedish,
    #[serde(rename = "Thai")]
    Thai,
    #[serde(rename = "Turkish")]
    Turkish,
    #[serde(rename = "Ukrainian")]
    Ukrainian,
    #[serde(rename = "Vietnamese")]
    Vietnamese,
}

impl Default for LanguageTrue {
    fn default() -> LanguageTrue {
        Self::Multilingual
    }
}