from __future__ import annotations from fastapi import APIRouter, Request from app.api.media import get_processor from app.core.response import SuccessResponse router = APIRouter(prefix="/v1/ytdlp", tags=["yt-dlp"]) @router.post("/download", response_model=SuccessResponse) async def download(request: Request) -> SuccessResponse: request.state.operation = "ytdlp.download" processor = get_processor(request) resolved = await processor.resolver.resolve(request) return await processor.run_ytdlp(resolved)