"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
import pydantic
from r9s.types import BaseModel
from typing import Literal, Optional
from typing_extensions import Annotated, NotRequired, TypedDict


Voice = Literal[
    "alloy",
    "echo",
    "fable",
    "onyx",
    "nova",
    "shimmer",
]
r"""Voice type for audio output"""


Format = Literal[
    "mp3",
    "opus",
    "aac",
    "flac",
    "wav",
    "pcm",
]
r"""Audio output format"""


class AudioTypedDict(TypedDict):
    voice: NotRequired[Voice]
    r"""Voice type for audio output"""
    format_: NotRequired[Format]
    r"""Audio output format"""


class Audio(BaseModel):
    voice: Optional[Voice] = None
    r"""Voice type for audio output"""

    format_: Annotated[Optional[Format], pydantic.Field(alias="format")] = None
    r"""Audio output format"""
