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 TalkscriberTranscriber {
    /// 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. The list of languages Whisper supports can be found here: https://github.com/openai/whisper/blob/main/whisper/tokenizer.py
    #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
    pub language: Option<LanguageTrue>,
    /// This is the plan for voice provider fallbacks in the event that the primary voice provider fails.
    #[serde(rename = "fallbackPlan", skip_serializing_if = "Option::is_none")]
    pub fallback_plan: Option<models::FallbackTranscriberPlan>,
}

impl TalkscriberTranscriber {
    pub fn new(provider: ProviderTrue) -> TalkscriberTranscriber {
        TalkscriberTranscriber {
            provider,
            model: None,
            language: None,
            fallback_plan: 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 = "talkscriber")]
    Talkscriber,
}

impl Default for ProviderTrue {
    fn default() -> ProviderTrue {
        Self::Talkscriber
    }
}
/// 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 = "whisper")]
    Whisper,
}

impl Default for ModelTrue {
    fn default() -> ModelTrue {
        Self::Whisper
    }
}
/// This is the language that will be set for the transcription. The list of languages Whisper supports can be found here: https://github.com/openai/whisper/blob/main/whisper/tokenizer.py
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum LanguageTrue {
    #[serde(rename = "en")]
    En,
    #[serde(rename = "zh")]
    Zh,
    #[serde(rename = "de")]
    De,
    #[serde(rename = "es")]
    Es,
    #[serde(rename = "ru")]
    Ru,
    #[serde(rename = "ko")]
    Ko,
    #[serde(rename = "fr")]
    Fr,
    #[serde(rename = "ja")]
    Ja,
    #[serde(rename = "pt")]
    Pt,
    #[serde(rename = "tr")]
    Tr,
    #[serde(rename = "pl")]
    Pl,
    #[serde(rename = "ca")]
    Ca,
    #[serde(rename = "nl")]
    Nl,
    #[serde(rename = "ar")]
    Ar,
    #[serde(rename = "sv")]
    Sv,
    #[serde(rename = "it")]
    It,
    #[serde(rename = "id")]
    Id,
    #[serde(rename = "hi")]
    Hi,
    #[serde(rename = "fi")]
    Fi,
    #[serde(rename = "vi")]
    Vi,
    #[serde(rename = "he")]
    He,
    #[serde(rename = "uk")]
    Uk,
    #[serde(rename = "el")]
    El,
    #[serde(rename = "ms")]
    Ms,
    #[serde(rename = "cs")]
    Cs,
    #[serde(rename = "ro")]
    Ro,
    #[serde(rename = "da")]
    Da,
    #[serde(rename = "hu")]
    Hu,
    #[serde(rename = "ta")]
    Ta,
    #[serde(rename = "no")]
    No,
    #[serde(rename = "th")]
    Th,
    #[serde(rename = "ur")]
    Ur,
    #[serde(rename = "hr")]
    Hr,
    #[serde(rename = "bg")]
    Bg,
    #[serde(rename = "lt")]
    Lt,
    #[serde(rename = "la")]
    La,
    #[serde(rename = "mi")]
    Mi,
    #[serde(rename = "ml")]
    Ml,
    #[serde(rename = "cy")]
    Cy,
    #[serde(rename = "sk")]
    Sk,
    #[serde(rename = "te")]
    Te,
    #[serde(rename = "fa")]
    Fa,
    #[serde(rename = "lv")]
    Lv,
    #[serde(rename = "bn")]
    Bn,
    #[serde(rename = "sr")]
    Sr,
    #[serde(rename = "az")]
    Az,
    #[serde(rename = "sl")]
    Sl,
    #[serde(rename = "kn")]
    Kn,
    #[serde(rename = "et")]
    Et,
    #[serde(rename = "mk")]
    Mk,
    #[serde(rename = "br")]
    Br,
    #[serde(rename = "eu")]
    Eu,
    #[serde(rename = "is")]
    Is,
    #[serde(rename = "hy")]
    Hy,
    #[serde(rename = "ne")]
    Ne,
    #[serde(rename = "mn")]
    Mn,
    #[serde(rename = "bs")]
    Bs,
    #[serde(rename = "kk")]
    Kk,
    #[serde(rename = "sq")]
    Sq,
    #[serde(rename = "sw")]
    Sw,
    #[serde(rename = "gl")]
    Gl,
    #[serde(rename = "mr")]
    Mr,
    #[serde(rename = "pa")]
    Pa,
    #[serde(rename = "si")]
    Si,
    #[serde(rename = "km")]
    Km,
    #[serde(rename = "sn")]
    Sn,
    #[serde(rename = "yo")]
    Yo,
    #[serde(rename = "so")]
    So,
    #[serde(rename = "af")]
    Af,
    #[serde(rename = "oc")]
    Oc,
    #[serde(rename = "ka")]
    Ka,
    #[serde(rename = "be")]
    Be,
    #[serde(rename = "tg")]
    Tg,
    #[serde(rename = "sd")]
    Sd,
    #[serde(rename = "gu")]
    Gu,
    #[serde(rename = "am")]
    Am,
    #[serde(rename = "yi")]
    Yi,
    #[serde(rename = "lo")]
    Lo,
    #[serde(rename = "uz")]
    Uz,
    #[serde(rename = "fo")]
    Fo,
    #[serde(rename = "ht")]
    Ht,
    #[serde(rename = "ps")]
    Ps,
    #[serde(rename = "tk")]
    Tk,
    #[serde(rename = "nn")]
    Nn,
    #[serde(rename = "mt")]
    Mt,
    #[serde(rename = "sa")]
    Sa,
    #[serde(rename = "lb")]
    Lb,
    #[serde(rename = "my")]
    My,
    #[serde(rename = "bo")]
    Bo,
    #[serde(rename = "tl")]
    Tl,
    #[serde(rename = "mg")]
    Mg,
    #[serde(rename = "as")]
    As,
    #[serde(rename = "tt")]
    Tt,
    #[serde(rename = "haw")]
    Haw,
    #[serde(rename = "ln")]
    Ln,
    #[serde(rename = "ha")]
    Ha,
    #[serde(rename = "ba")]
    Ba,
    #[serde(rename = "jw")]
    Jw,
    #[serde(rename = "su")]
    Su,
    #[serde(rename = "yue")]
    Yue,
}

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