MediaRouter / app /models /requests.py
basyx's picture
Upload 142 files
fba6023 verified
Raw
History Blame Contribute Delete
989 Bytes
from __future__ import annotations
from typing import Any, Literal
from pydantic import BaseModel, ConfigDict, Field
class URLInput(BaseModel):
model_config = ConfigDict(extra="allow")
url: str
filename: str | None = None
class Base64Input(BaseModel):
model_config = ConfigDict(extra="allow")
base64: str
filename: str | None = None
mime_type: str | None = None
class WhisperOptions(BaseModel):
model: Literal["tiny", "base", "small", "medium", "large-v3"] | None = None
task: Literal["transcribe", "translate"] = "transcribe"
language: str | None = None
output_format: Literal["txt", "srt", "vtt", "json", "tsv"] = "json"
beam_size: int = Field(default=5, ge=1, le=20)
vad_filter: bool = True
class YTDLPOptions(BaseModel):
mode: Literal["video", "audio", "thumbnail", "metadata"] = "video"
format: str | None = None
audio_format: Literal["mp3", "m4a", "wav", "opus", "flac"] = "mp3"
JsonDict = dict[str, Any]