$ show ChaitanyaEswarRajeshJakki/gemini-youtube-automation
This repository implements a fully autonomous pipeline that generates, produces, and uploads educational YouTube videos daily. It uses the Gemini 2.5 Flash API to create lesson scripts and curricula, gTTS for narration, Pexels for background imagery, and MoviePy/Pillow for video rendering. The pipeline runs on a GitHub Actions cron schedule, requiring no manual intervention. It produces both a long-form lesson video and a YouTube Short, uploads them with custom thumbnails, and updates the content plan repository. The code is well-structured for its purpose, with proper error handling, retry logic for TTS rate limits, and credential management for YouTube OAuth. While not a reusable library, it demonstrates good software engineering practices for a CI/CD-based content generation system.
The LLM identified 1 files worth highlighting for reuse:
The text_to_speech function demonstrates a robust, reusable pattern for handling rate-limited TTS APIs. It implements exponential backoff, throttling between requests, and validation of output file size to detect truncated responses. The global state tracking and configurable constants make it adaptable to other projects requiring reliable TTS generation under API constraints.