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

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel


class VideoQualityConfig(UniversalBaseModel):
    """
    Video quality configuration for a session.
    """

    preset: typing.Optional[str] = pydantic.Field(default=None)
    """
    Quality preset: standard, high, or ultra
    """

    fps: typing.Optional[int] = pydantic.Field(default=None)
    """
    Custom frames per second (15-60)
    """

    resolution: typing.Optional[str] = pydantic.Field(default=None)
    """
    Video resolution: 720p or 1080p
    """

    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
