An AI-powered suite of tools to optimize and automate your YouTube channel growth. This suite includes specialized agents for content planning, SEO optimization, analytics tracking, engagement management, and scheduling.
- 📊 Analytics Agent: Track KPIs and generate performance reports
- 📝 Content Agent: Generate video ideas and content calendars
- 🔍 SEO Agent: Optimize titles, descriptions, and tags
- 📅 Scheduler Agent: Optimize publishing times based on analytics
- 💬 Engagement Agent: Auto-generate community posts and comment replies
- Python 3.12 or higher
- A YouTube channel with API access
- OpenAI API key (for content generation)
- RapidAPI key (for trend analysis)
- Clone the repository:
git clone https://github.com/yourusername/youtube-growth-ai-suite.git
cd youtube-growth-ai-suite- Create and activate a virtual environment:
# Windows
python -m venv venv
venv\Scripts\activate
# Linux/Mac
python3 -m venv venv
source venv/bin/activate- Install dependencies:
pip install -r requirements.txt- Create a
.envfile in the project root and add your API keys:
# YouTube API credentials
YOUTUBE_API_KEY=your_youtube_api_key_here
# OpenAI API credentials (for content generation)
OPENAI_API_KEY=your_openai_api_key_here
# RapidAPI credentials (for trend analysis)
RAPIDAPI_KEY=your_rapidapi_key_here-
YouTube API Key:
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the YouTube Data API v3
- Create credentials (API key)
- Add your YouTube channel to the OAuth consent screen
-
OpenAI API Key:
- Visit OpenAI API
- Create an account or log in
- Generate a new API key
-
RapidAPI Key:
- Visit RapidAPI
- Create an account or log in
- Subscribe to required APIs
- Copy your API key
- Quick Start:
# Activate virtual environment (if not already activated)
venv\Scripts\activate # Windows
source venv/bin/activate # Linux/Mac
# Run the example workflow
python examples/channel_growth_workflow.py- Individual Agent Usage:
from agents import (
ContentAgent,
SEOAgent,
AnalyticsAgent,
EngagementAgent,
SchedulerAgent
)
# Analytics
analytics = AnalyticsAgent()
kpi_analysis = analytics.analyze_kpi_progress()
performance_report = analytics.generate_performance_report()
# Content Planning
content = ContentAgent()
video_ideas = content.generate_video_ideas(count=5)
calendar = content.generate_content_calendar(weeks=4)
# SEO Optimization
seo = SEOAgent()
title_analysis = seo.analyze_title("Your Video Title")
tags = seo.generate_tags("Your Video Title", count=10)
# Scheduling
scheduler = SchedulerAgent()
schedule = scheduler.generate_monthly_schedule(posts_per_week=2)
# Engagement
engagement = EngagementAgent()
community_posts = engagement.generate_community_posts(count=2)
replies = engagement.generate_comment_replies(your_comments, "your topic")- Video Analysis Tool:
The suite includes a powerful command-line tool for analyzing individual YouTube videos. You can analyze any video using its URL or ID:
# Basic usage (analyzes everything)
python examples/analyze_video.py https://www.youtube.com/watch?v=VIDEO_ID
# Or just use the video ID
python examples/analyze_video.py VIDEO_IDSEO Analysis Options:
# Generate more tag suggestions
python examples/analyze_video.py VIDEO_ID --tag-count 20
# Include competitor analysis
python examples/analyze_video.py VIDEO_ID --competitors --competitor-count 10Engagement Analysis Options:
# Generate community posts
python examples/analyze_video.py VIDEO_ID --post-count 5 --post-type question
# Generate video response ideas and comments
python examples/analyze_video.py VIDEO_ID \
--response-ideas \
--response-count 5 \
--comment-suggestions \
--comment-count 10Performance Analysis Options:
# Get detailed analytics and retention data
python examples/analyze_video.py VIDEO_ID \
--detailed-analytics \
--analytics-days 90 \
--retentionCombining Analyses:
# Run specific types of analysis
python examples/analyze_video.py VIDEO_ID -a seo
python examples/analyze_video.py VIDEO_ID -a engagement
python examples/analyze_video.py VIDEO_ID -a performance
# Comprehensive analysis with all features
python examples/analyze_video.py VIDEO_ID \
--competitors \
--tag-count 15 \
--response-ideas \
--comment-suggestions \
--detailed-analytics \
--retentionFor a complete list of options:
python examples/analyze_video.py --helpyoutube-growth-ai-suite/
├── agents/ # AI agent modules
│ ├── __init__.py
│ ├── analytics_agent.py
│ ├── base_agent.py
│ ├── content_agent.py
│ ├── engagement_agent.py
│ ├── scheduler_agent.py
│ └── seo_agent.py
├── examples/ # Usage examples
│ └── channel_growth_workflow.py
├── results/ # Generated results and reports
├── tests/ # Test suite
├── .env # API keys and configuration
├── requirements.txt # Python dependencies
└── README.md # This file
-
YouTube API Issues:
- Ensure your API key is correct in
.env - Check if you've enabled YouTube Data API v3 in Google Cloud Console
- Verify your channel has the necessary permissions
- Check your API quota usage
- Ensure your API key is correct in
-
OpenAI API Issues:
- Verify your API key is valid and has sufficient credits
- Check if you're using a supported model
- Ensure your requests are properly formatted
-
Common Errors:
KeyError: 'original_analysis': Make sure to run the full analysis before accessing resultsYouTube API client not initialized: Check your YouTube API key and permissionsNo video data available: Ensure your channel has uploaded videosImportError: Runpip install -r requirements.txtagain
-
Performance Issues:
- Consider reducing the number of API calls
- Use caching for frequently accessed data
- Optimize your requests to stay within API limits
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please:
- Check the troubleshooting section above
- Review existing GitHub issues
- Open a new issue with:
- Detailed description of the problem
- Steps to reproduce
- Error messages
- Your environment details