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

from __future__ import annotations
from openrouter.types import BaseModel
import pydantic
from typing import Literal
from typing_extensions import Annotated, TypedDict


ChatMessageContentItemAudioType = Literal["input_audio",]


class ChatMessageContentItemAudioInputAudioTypedDict(TypedDict):
    data: str
    r"""Base64 encoded audio data"""
    format_: str
    r"""Audio format (e.g., wav, mp3, flac, m4a, ogg, aiff, aac, pcm16, pcm24). Supported formats vary by provider."""


class ChatMessageContentItemAudioInputAudio(BaseModel):
    data: str
    r"""Base64 encoded audio data"""

    format_: Annotated[str, pydantic.Field(alias="format")]
    r"""Audio format (e.g., wav, mp3, flac, m4a, ogg, aiff, aac, pcm16, pcm24). Supported formats vary by provider."""


class ChatMessageContentItemAudioTypedDict(TypedDict):
    r"""Audio input content part. Supported audio formats vary by provider."""

    type: ChatMessageContentItemAudioType
    input_audio: ChatMessageContentItemAudioInputAudioTypedDict


class ChatMessageContentItemAudio(BaseModel):
    r"""Audio input content part. Supported audio formats vary by provider."""

    type: ChatMessageContentItemAudioType

    input_audio: ChatMessageContentItemAudioInputAudio
