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

from ...core.pydantic_utilities import UniversalBaseModel
import typing
import pydantic
from .transcription_id import TranscriptionId
from .language import Language
from .letters_language import LettersLanguage


class TranscriptionRequestInfo(UniversalBaseModel):
    model: typing.Optional[str] = pydantic.Field(default=None)
    """
    Model to be used for the transcription. Default is "v1".
    - v1: Our latest and most accurate model, especially for audio with longer stretches of Hebrew.
    Priced at 1.20 USD per hour of audio transcribed.
    - v0: Not generally recommended. Cheaper, but less accurate.
    Priced at 1.00 USD per hour.
    """

    id: typing.Optional[TranscriptionId] = pydantic.Field(default=None)
    """
    ID of the transcription. If passed, it will be set as the ID. If not, a UUID will be generated.
    """

    title: typing.Optional[str] = pydantic.Field(default=None)
    """
    Title for the transcription, Default is "Untitled"
    """

    primary_language: typing.Optional[Language] = pydantic.Field(default=None)
    """
    Specifies the primary language spoken in the audio content. Default is English.
    - en: English
    - he: Hebrew
    - yi: Yiddish
    """

    hebrew_word_format: typing.Optional[typing.List[LettersLanguage]] = pydantic.Field(default=None)
    """
    Relevant only if the primary language is English. This setting determines how non-English word, are formatted in the transcription.
    - To include Hebrew words in their original Hebrew letters, specify "he".
    - To transliterate Hebrew words into English letters, specify "en".
    - If both "he" and "en" are specified, each Hebrew word will be provided in both formats, with the transliteration in <i> tags.
    - If the primary language is English, the default is to include both English transliteration and original Hebrew letters ("en" and "he").
    - If the primary language is not English, the default and only option is to include Hebrew words in their original Hebrew letters ("he").
    """

    num_speakers: typing.Optional[int] = pydantic.Field(default=None)
    """
    Expected number of speakers in the audio. Default is 1. If a number more than 1 is passed, it will be used for speaker labeling (a pro feature).
    """

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