An open-source AI-powered YouTube Shorts automation tool that revolutionizes content creation using graph-based agents and state-of-the-art AI technologies.
Features • Installation • Usage • Contributing • License
📚 Table of Contents
- 🌟 Overview
- ✨ Key Features
- 🔄 Workflow
- 📋 Prerequisites
- 🚀 Installation
- ⚙️ Configuration
- 📝 Usage
- 🔧 Troubleshooting
- 👥 Contributing
- 🙏 Acknowledgements
- 📄 License
🌟 Overview
VideoGraphAI streamlines the creation of YouTube Shorts using advanced AI technologies. Built with Streamlit, it offers end-to-end video production capabilities from content research to final rendering. The system leverages various AI models and APIs to create engaging, relevant content automatically.
✨ Key Features
- 🔍 Real-time Research: Automated content research using Tavily Search API
- 📝 AI Script Generation: Flexible LLM compatibility (OpenAI, Groq, etc.)
- 🎨 Dynamic Visuals: Image generation via TogetherAI (FLUX.schnell)
- 🎤 Professional Audio: Voiceovers using F5-TTS
- 📺 Automated Subtitles: Synchronized captions with Gentle
- 🖥️ User-Friendly Interface: Built with Streamlit for easy operation
🔄 Workflow
- Input → User provides topic, timeframe, and video length
- Research → AI researches recent events using graph agents
- Content Creation → Generates titles, descriptions, hashtags, and script
- Media Production → Creates storyboard and acquires media assets
- Audio & Subtitles → Generates voiceover and synchronized captions
- Compilation → Assembles final video with all components
- Delivery → Presents downloadable video through Streamlit interface
📋 Prerequisites
- Python 3.8+
- FFmpeg
- Docker (optional, recommended for Gentle server)
- API Keys:
- Groq API
- Together AI API
- Tavily Search API
- F5-TTS (local installation)
🚀 Installation
1. Clone Repository
git clone https://github.com/mikeoller82/VideoGraphAI.git
cd VideoGraphAI2. Environment Setup
# Option 1: Conda (Recommended) conda create -n videographai python=3.8 pip conda activate videographai # Option 2: Virtual Environment python3 -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
3. Install Dependencies
pip install -r requirements.txt
4. FFmpeg Installation
Click to expand installation instructions for your OS
Ubuntu/Debian
sudo apt update sudo apt install ffmpeg
macOS
Windows
- Download from ffmpeg.org
- Add bin folder to system PATH
5. F5-TTS Setup
git clone https://github.com/SWivid/F5-TTS.git cd F5-TTS pip install -r requirements.txt # Follow F5-TTS documentation for torch and CUDA setup then all you do is take your sample wav file and put it in /F5-TTS/src/f5_tts/infer/examples/basic # this will be inside your VideoGraphAI directory after you git clone it. then just config toml file either inside F5 there is a basic.toml file but in the functiion # genrate_voicoever is the override toml that will be used so you can just configure it there . Honestly its whatever you prefer then youl be good to go on any voicoever you want just need the a wav file of like 5 seconds to 8 seconds minimal cd ..
Subtitle Command(Has to be ran before you run the application just one command)
docker run -d -p 8765:8765 lowerquality/gentle
⚙️ Configuration
Create a .env file:
GROQ_API_KEY=your_groq_api_key BFL_API_KEY=your_black_forest_labs_api_key TOGETHER_API_KEY=your_together_api_key TAVILY_API_KEY=your_tavily_api_key
📝 Usage
- Launch application:
-
Enter parameters:
- Topic for your video
- Time frame (past month/year/all)
- Video length (60/120/180 seconds)
-
Click "Generate Video" and wait for processing
🔧 Troubleshooting
Common Issues and Solutions
- API Issues: Verify API keys in
.env - Gentle Server: Ensure server is running on port 8765
- FFmpeg: Confirm PATH configuration
- Dependencies: Check virtual environment activation
- Video Issues: Review application logs
- UI Problems: Clear browser cache
👥 Contributing
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
🙏 Acknowledgements
- F5-TTS: Advanced text-to-speech capabilities
@article{chen-etal-2024-f5tts, title={F5-TTS: A Fairytaler that Fakes Fluent and Faithful Speech with Flow Matching}, author={Chen, Yushen and Niu, Zhikang and Ma, Ziyang and Deng, Keqi and Wang, Chunhui and Zhao, Jian and Yu, Kai and Chen, Xie}, journal={arXiv preprint arXiv:2410.06885}, year={2024} }
-
TogetherAI: Image generation via FLUX.schnell model (https://www.together.ai/)
-
Tavily: Real-time search capabilities (https://tavily.com/#api)
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.