// This file was auto-generated by Fern from our API Definition.

import type * as Vapi from "../index.js";

export interface FallbackDeepgramTranscriber {
    /** This is the Deepgram model that will be used. A list of models can be found here: https://developers.deepgram.com/docs/models-languages-overview */
    model?: Vapi.DeepgramTranscriberModel | undefined;
    /** This is the language that will be set for the transcription. The list of languages Deepgram supports can be found here: https://developers.deepgram.com/docs/models-languages-overview */
    language?: Vapi.DeepgramTranscriberLanguage | undefined;
    /** This will be use smart format option provided by Deepgram. It's default disabled because it can sometimes format numbers as times but it's getting better. */
    smartFormat?: boolean | undefined;
    /**
     * If set to true, this will add mip_opt_out=true as a query parameter of all API requests. See https://developers.deepgram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out
     *
     * This will only be used if you are using your own Deepgram API key.
     *
     * @default false
     */
    mipOptOut?: boolean | undefined;
    /**
     * If set to true, this will cause deepgram to convert spoken numbers to literal numerals. For example, "my phone number is nine-seven-two..." would become "my phone number is 972..."
     *
     * @default false
     */
    numerals?: boolean | undefined;
    /**
     * If set to true, Deepgram will replace profanity in transcripts with surrounding asterisks, e.g. "f***".
     *
     * @default false
     */
    profanityFilter?: boolean | undefined;
    /**
     * Transcripts below this confidence threshold will be discarded.
     *
     * @default 0.4
     */
    confidenceThreshold?: number | undefined;
    /** Eager end-of-turn confidence required to fire a eager end-of-turn event. Setting a value here will enable EagerEndOfTurn and SpeechResumed events. It is disabled by default. Only used with Flux models. */
    eagerEotThreshold?: number | undefined;
    /**
     * End-of-turn confidence required to finish a turn. Only used with Flux models.
     *
     * @default 0.7
     */
    eotThreshold?: number | undefined;
    /**
     * A turn will be finished when this much time has passed after speech, regardless of EOT confidence. Only used with Flux models.
     *
     * @default 5000
     */
    eotTimeoutMs?: number | undefined;
    /** These keywords are passed to the transcription model to help it pick up use-case specific words. Anything that may not be a common word, like your company name, should be added here. */
    keywords?: string[] | undefined;
    /** Keyterm Prompting allows you improve Keyword Recall Rate (KRR) for important keyterms or phrases up to 90%. */
    keyterm?: string[] | undefined;
    /**
     * This is the timeout after which Deepgram will send transcription on user silence. You can read in-depth documentation here: https://developers.deepgram.com/docs/endpointing.
     *
     * Here are the most important bits:
     * - Defaults to 10. This is recommended for most use cases to optimize for latency.
     * - 10 can cause some missing transcriptions since because of the shorter context. This mostly happens for one-word utterances. For those uses cases, it's recommended to try 300. It will add a bit of latency but the quality and reliability of the experience will be better.
     * - If neither 10 nor 300 work, contact support@vapi.ai and we'll find another solution.
     *
     * @default 10
     */
    endpointing?: number | undefined;
}
