import whisper from transformers import pipeline import requests import tempfile def analyze(video_url: str): tmp = tempfile.NamedTemporaryFile(delete=False, suffix=".mp4") with requests.get(video_url, stream=True) as r: for chunk in r.iter_content(8192): tmp.write(chunk) tmp.close() model = whisper.load_model("base") result = model.transcribe(tmp.name) text = result["text"] summarizer = pipeline("summarization", model="facebook/bart-large-cnn") summary = summarizer(text, max_length=512, min_length=128, do_sample=False)[0][ "summary_text" ] return text, summary