from app.utils.youtube import YtDlpManager from app.utils.uploader import S3ChunkUploadBackend from app.schemas import DownloadRequest, DownloadResponse class YouTubeService: @staticmethod def download(data: DownloadRequest): s3 = S3ChunkUploadBackend("") manager = YtDlpManager(str(data.url), s3) s3.key_prefix = f"{manager.id}@{data.quality}@" video_url = manager.download_video(data.quality) audio_url = manager.download_audio() return DownloadResponse(video=video_url, audio=audio_url)