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

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

export interface FallbackMinimaxVoice {
    /** This is the flag to toggle voice caching for the assistant. */
    cachingEnabled?: boolean | undefined;
    /** This is the voice provider that will be used. */
    provider: Vapi.FallbackMinimaxVoiceProvider;
    /** This is the provider-specific ID that will be used. Use a voice from MINIMAX_PREDEFINED_VOICES or a custom cloned voice ID. */
    voiceId: string;
    /**
     * This is the model that will be used. Options are 'speech-02-hd' and 'speech-02-turbo'.
     * speech-02-hd is optimized for high-fidelity applications like voiceovers and audiobooks.
     * speech-02-turbo is designed for real-time applications with low latency.
     *
     * @default "speech-02-turbo"
     */
    model?: Vapi.FallbackMinimaxVoiceModel | undefined;
    /**
     * The emotion to use for the voice. If not provided, will use auto-detect mode.
     * Options include: 'happy', 'sad', 'angry', 'fearful', 'surprised', 'disgusted', 'neutral'
     */
    emotion?: string | undefined;
    /**
     * Controls the granularity of subtitle/timing data returned by Minimax
     * during synthesis. Set to 'word' to receive per-word timestamps in
     * assistant.speechStarted events for karaoke-style caption rendering.
     *
     * @default "sentence"
     */
    subtitleType?: Vapi.FallbackMinimaxVoiceSubtitleType | undefined;
    /**
     * Voice pitch adjustment. Range from -12 to 12 semitones.
     * @default 0
     */
    pitch?: number | undefined;
    /**
     * Voice speed adjustment. Range from 0.5 to 2.0.
     * @default 1.0
     */
    speed?: number | undefined;
    /**
     * Voice volume adjustment. Range from 0.5 to 2.0.
     * @default 1.0
     */
    volume?: number | undefined;
    /** The region for Minimax API. Defaults to "worldwide". */
    region?: Vapi.FallbackMinimaxVoiceRegion | undefined;
    /** Language hint for MiniMax T2A. Example: yue (Cantonese), zh (Chinese), en (English). */
    languageBoost?: Vapi.FallbackMinimaxVoiceLanguageBoost | undefined;
    /** Enable MiniMax text normalization to improve number reading and formatting. */
    textNormalizationEnabled?: boolean | undefined;
    /** This is the plan for chunking the model output before it is sent to the voice provider. */
    chunkPlan?: Vapi.ChunkPlan | undefined;
}
