| import logging |
| import json |
| from main import ViralClipExtractor, extract_video_id |
|
|
| logging.basicConfig(level=logging.INFO) |
|
|
| def test(): |
| url = "https://youtu.be/uVkFrqugXFQ" |
| nvidia_key = "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" |
| |
| print("=== FASTAPI LOCAL TEST ===") |
| print(f"URL: {url}") |
| |
| extractor = ViralClipExtractor() |
| |
| |
| print("\n1. Fetching Video Info...") |
| video_info = extractor.extract_video_info(url) |
| print(f" Title: {video_info.get('title')}") |
| print(f" Duration: {video_info.get('duration')} seconds") |
| |
| |
| print("\n2. Fetching Transcript...") |
| transcript = extractor.fetch_full_transcript(url) |
| print(f" Transcript Segments: {len(transcript)}") |
| if transcript: |
| print(f" Sample: {transcript[0]}") |
| else: |
| print(" [FAIL] No transcript found!") |
| return |
| |
| |
| print("\n3. Running Nvidia AI Analysis...") |
| clips = extractor.analyze_with_nvidia(transcript, nvidia_key) |
| print(f" Clips Found: {len(clips)}") |
| |
| |
| response = { |
| "success": True, |
| "video_id": extract_video_id(url), |
| "video_title": video_info.get('title'), |
| "video_duration": video_info.get('duration'), |
| "mode": "nvidia", |
| "clips": clips, |
| "clips_count": len(clips) |
| } |
| |
| print("\n=== FINAL RESPONSE ===") |
| print(json.dumps(response, indent=2)) |
|
|
| if __name__ == "__main__": |
| test() |
|
|