How kunnusherry/end-to-end-youtube-editing-and-posting works
ClipGenius AI turns a YouTube URL into captioned, music-backed short clips, stores clip metadata and upload status, and lets users review, delete, or upload clips. The main flow runs from the React home page through the API route, then download, transcription, AI moment selection, FFmpeg processing, and persistence; upload is a separate user-triggered path. The README documents YouTube uploads, metadata generation, captions, and music. Some backend service wiring is supported by the route excerpt and README workflow, but unsampled implementation details are represented only at subsystem level.
Main entry points: process.py Process routes · Home.jsx Home workflow · api.js API client · clip_processor.py Clip rendering
Components 18
Web interface
- Home workflow
frontend/src/pages/Home.jsx - Clip cards
frontend/src/components/ClipCard.jsx - URL input
frontend/src/components/URLInput.jsx - API client
frontend/src/services/api.js
API orchestration
- Process routes
backend/app/routes/process.py - FastAPI app
backend/app/main.py
Clip generation
- Video downloader
backend/app/services/downloader.py - Speech transcription
backend/app/services/transcriber.py - Moment analysis
backend/app/services/grok_analyzer.py - Clip rendering
backend/app/services/clip_processor.py - Transcript helpers
backend/app/utils/helpers.py
External services and state
- YouTube uploader
backend/app/services/uploader.py - Clip metadata
backend/app/utils/database.py - Music library
backend/assets/music - Generated media
backend/app/main.py
Other components
- User
- YouTube
- Groq API
Connections 20
- User → URL input: enters URL
- URL input → Home workflow: submits URL
- Home workflow → API client: requests processing
- Home workflow → Clip cards: renders clips
- Clip cards → Home workflow: requests upload or delete
- API client → FastAPI app: sends HTTP requests
- FastAPI app → Process routes: registers routes
- Process routes → Video downloader: downloads source
- Process routes → Speech transcription: transcribes audio
- Process routes → Transcript helpers: converts transcript
- Process routes → Moment analysis: selects moments
- Moment analysis → Groq API: analyzes transcript
- Process routes → Clip rendering: renders selected clips
- Clip rendering → Music library: reads music
- Clip rendering → Generated media: writes clips and thumbnails
- Process routes → Clip metadata: stores and queries records
- Process routes → YouTube uploader: dispatches clip upload
- YouTube uploader → YouTube: uploads clip and metadata
- Process routes → Generated media: serves media files
- API client → Process routes: loads clips and music