Spaces:
Running
Running
Sharan Thakur
Add initial implementation of YouTube audio summarizer with Gemini API integration
f8c4214
from typing import Optional | |
from pydantic import BaseModel, Field | |
class YTRequest(BaseModel): | |
yt_link: str = Field(description="The YouTube video link to be processed") | |
class YTResult(BaseModel): | |
id: str = Field(description="The YouTube video ID") | |
title: str = Field(description="The YouTube video title") | |
thumbnail_link: str = Field(description="The YouTube video thumbnail link") | |
uploader: str = Field(description="The YouTube video uploader") | |
error_code: Optional[int] = Field(description="The error code if any", default=None) | |
def get_local_file_path(self) -> str: | |
return f"output/{self.id}.m4a" | |
class YTResultWithTranscript(YTResult): | |
transcript: str = Field(description="The YouTube video transcript") | |
def model_outputs(self) -> list: | |
return [ | |
self.id, | |
self.title, | |
self.thumbnail_link, | |
self.uploader, | |
self.transcript, | |
] | |