How giorgibokuchava/youtube-automation works
Youtube-Automation turns Reddit and Instagram clips into long-form compilations or vertical Shorts, then prepares metadata and can upload the result to YouTube. The main entry point loads channel settings and dispatches to a pipeline; sourcing, clip processing, optional AI commentary, rendering, and publishing are distinct stages. The README documents thumbnail-only and AI-preview modes as additional capabilities. Some wiring is inferred only where the README establishes the product flow; unsampled implementation details are left out.
Main entry points: pipeline.py Long-form pipeline · app.py CLI dispatcher · shorts_pipeline.py Shorts pipeline · sourcing.py Source coordinator
Components 26
Entry and settings
- CLI dispatcher
src/youtube_automation/app.py - Config loader
src/youtube_automation/config/loader.py - Long-form pipeline
src/youtube_automation/pipeline.py - Shorts pipeline
src/youtube_automation/shorts_pipeline.py
Clip sourcing
- Source coordinator
src/youtube_automation/sourcing.py - Reddit client
src/youtube_automation/reddit/client.py - Instagram scraper
src/youtube_automation/instagram/scraper.py
Media creation
- Clip processing
src/youtube_automation/media/video_processing.py - Commentary generation
src/youtube_automation/ai/text/commentary.py - Text AI service
src/youtube_automation/ai/text/service.py - Text AI providers
src/youtube_automation/ai/text/providers - Voice synthesis
src/youtube_automation/ai/tts/service.py - TTS providers
src/youtube_automation/ai/tts/providers - Composition and media
src/youtube_automation/media/composition - Background music
src/youtube_automation/media/music.py
Publishing
- Publishing metadata
src/youtube_automation/publishing/metadata.py - AI metadata
src/youtube_automation/publishing/ai_metadata.py - Thumbnail sourcing
src/youtube_automation/media/thumbnail.py - Run history
src/youtube_automation/storage/sessions.py - YouTube uploader
src/youtube_automation/youtube/upload.py - AI preview
src/youtube_automation/ai/preview.py
Other components
- Operator
- YouTube
- FFmpeg
Connections 36
- Operator → CLI dispatcher: starts run
- CLI dispatcher → Config loader: loads settings
- CLI dispatcher → Long-form pipeline: dispatches
- CLI dispatcher → Shorts pipeline: dispatches
- CLI dispatcher → AI preview: dispatches preview
- CLI dispatcher → Thumbnail sourcing: sources thumbnail
- CLI dispatcher → Source coordinator: sources videos
- CLI dispatcher → Run history: saves session
- Long-form pipeline → Source coordinator: sources clips
- Shorts pipeline → Source coordinator: sources clips
- Source coordinator → Reddit client: fetches posts
- Reddit client → Reddit: reads listings
- Source coordinator → Instagram scraper: collects clips
- Instagram scraper → Instagram: fetches media
- Long-form pipeline → Clip processing: processes clips
- Long-form pipeline → Commentary generation: requests commentary
- Commentary generation → Text AI service: generates text
- Text AI service → Text AI providers: dispatches request
- Long-form pipeline → Voice synthesis: requests narration
- Voice synthesis → TTS providers: dispatches synthesis
- Long-form pipeline → Composition and media: renders compilation
- Shorts pipeline → Composition and media: renders segments
- Long-form pipeline → Background music: adds music
- Shorts pipeline → Background music: adds music
- Composition and media → FFmpeg: runs media tools
- Long-form pipeline → Publishing metadata: prepares metadata
- Shorts pipeline → Publishing metadata: prepares metadata
- Long-form pipeline → AI metadata: requests AI metadata
- Shorts pipeline → AI metadata: requests AI metadata
- AI metadata → Text AI service: generates metadata
- Long-form pipeline → YouTube uploader: uploads result
- Shorts pipeline → YouTube uploader: uploads result
- YouTube uploader → YouTube: publishes video
- AI preview → Text AI service: generates preview
- Long-form pipeline → Run history: records run
- Shorts pipeline → Run history: records run