VideoGraphAI
🎬 AI-powered YouTube Shorts automation tool using LLMs, real-time search, and text-to-speech. Create engaging short-form videos with automated research, voiceovers, and subtitles.
Install / Use
/learn @mikeoller82/VideoGraphAIREADME
VideoGraphAI 🎬
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
</div>📚 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 VideoGraphAI
2. 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
<details> <summary>Click to expand installation instructions for your OS</summary>Ubuntu/Debian
sudo apt update
sudo apt install ffmpeg
macOS
brew install ffmpeg
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:
streamlit run app.py
-
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
<details> <summary>Common Issues and Solutions</summary>- 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
<div align="center">Powered By
<img src="https://groq.com/wp-content/uploads/2024/03/PBG-mark1-color.svg" width="200" alt="Groq">
</div>- 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.
<div align="center">
Made with ❤️ by the VideoGraphAI Community
</div>Related Skills
bluebubbles
341.2kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
claude-opus-4-5-migration
84.5kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
bear-notes
341.2kCreate, search, and manage Bear notes via grizzly CLI.
model-usage
341.2kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
