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

from ...core.pydantic_utilities import UniversalBaseModel
import typing
from .voice_name_enum import VoiceNameEnum
import typing_extensions
from ...core.serialization import FieldMetadata
from ...core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic


class VoiceArgs(UniversalBaseModel):
    voice: typing.Optional[VoiceNameEnum] = None
    speech_rate_multiplier: typing.Optional[float] = None
    baseline: typing.Optional[bool] = None
    reconstruct: typing.Optional[bool] = None
    additive: typing.Optional[bool] = None
    drift: typing.Optional[bool] = None
    use_v_2: typing_extensions.Annotated[typing.Optional[bool], FieldMetadata(alias="use_v2")] = None

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
