How yashmagar01/getreel works
GetReel accepts Instagram Reel or YouTube URLs and returns either a structured analysis or a downloadable video. The principal Reel workflow is coordinated by the FastAPI backend: fetch media, transcribe and inspect frames, classify the content, generate a matching result, and resolve any promised link. The Next.js app submits requests, displays streaming progress and results, and supports shared capsules. README documentation supplies the overall pipeline and capability map; the sampled backend excerpt is partial, so internal call wiring beyond the documented flow is shown conservatively.
Main entry points: main.py FastAPI pipeline · api.ts API client · providers.py Model providers · page.tsx Submit and results
Components 26
Web experience
- Submit and results
frontend/app/page.tsx - API client
frontend/lib/api.ts - Preview and progress
frontend/components/ReelPreviewCard.tsx - Guide display
frontend/components/RoadmapDisplay.tsx - Shared capsule view
frontend/app/capsule/[id]/CapsuleClient.tsx
API orchestration
- FastAPI pipeline
backend/main.py - Instagram metadata
backend/ig_meta.py
Reel analysis
- Media download
backend/downloader.py - YouTube download
backend/yt_downloader.py - Audio transcription
backend/transcriber.py - Frame extraction
backend/frame_extractor.py - Multimodal analysis
backend/analyzer.py - Content classification
backend/content_classifier.py - Content strategies
backend/content_strategies.py - Guide generation
backend/roadmap_generator.py - Promised-link resolver
backend/link_finder.py
State and sharing
- Result cache
backend/cache.py - Capsule store
backend/capsule_store.py - Job state
backend/job_store.py - Download tokens
backend/main.py
External services
- Model providers
backend/providers.py - Instagram / oEmbed
- YouTube
- Groq models
- Web search
Other components
- Visitor
Connections 31
- Visitor → Submit and results: submits URL
- Submit and results → API client: requests analysis
- API client → FastAPI pipeline: starts job
- FastAPI pipeline → API client: streams progress
- API client → Preview and progress: updates preview
- Submit and results → Guide display: renders result
- FastAPI pipeline → Instagram metadata: fetches metadata
- Instagram metadata → Instagram / oEmbed: requests oEmbed
- FastAPI pipeline → Media download: downloads Reel
- Media download → Instagram / oEmbed: fetches media
- FastAPI pipeline → YouTube download: downloads YouTube
- YouTube download → YouTube: fetches media
- FastAPI pipeline → Audio transcription: transcribes audio
- FastAPI pipeline → Frame extraction: extracts frames
- FastAPI pipeline → Multimodal analysis: analyzes media
- FastAPI pipeline → Content classification: classifies content
- FastAPI pipeline → Content strategies: generates matching output
- FastAPI pipeline → Guide generation: generates guide
- FastAPI pipeline → Promised-link resolver: resolves promised link
- Multimodal analysis → Model providers: uses models
- Content classification → Model providers: uses models
- Content strategies → Model providers: uses models
- Model providers → Groq models: calls models
- Promised-link resolver → Web search: searches resources
- FastAPI pipeline → Result cache: reads and writes
- FastAPI pipeline → Job state: tracks job
- FastAPI pipeline → Capsule store: stores shared result
- Shared capsule view → FastAPI pipeline: fetches capsule
- FastAPI pipeline → Shared capsule view: returns capsule data
- FastAPI pipeline → Download tokens: issues download token
- Visitor → Shared capsule view: opens shared result