from dataclasses import dataclass from enum import Enum from fastapi import Form ''' vext: Video Extension (mp4 > mov > webm > flv > other). If --prefer-free-formats is used, webm is preferred. aext: Audio Extension (m4a > aac > mp3 > ogg > opus > webm > other). If --prefer-free-formats is used, the order changes to ogg > opus > webm > mp3 > m4a > aac ''' class VideoFormatEnum(Enum): format_3gp = "3gp" format_flv = "flv" format_mp4 = "mp4" format_mov = "mov" format_webm = "webm" class AudioFormatEnum(Enum): format_aac = "aac" format_m4a = "m4a" format_mp3 = "mp3" format_ogg = "ogg" format_opus = "opus" format_webm = "webm" format_wav = "wav" class MergeOutputFormatEnum(Enum): format_avi = "avi" format_flv = "flv" format_mkv = "mkv" format_mov = "mov" format_mp4 = "mp4" format_webm = "webm" @dataclass class SubmitIn: link: str = Form(...) video_format: VideoFormatEnum = Form(...) audio_format: AudioFormatEnum = Form(...) merge_output_format: MergeOutputFormatEnum = Form(...)