Transform long-form content into viral short clips across YouTube Shorts, TikTok, and Instagram Reels with AI-powered automation.
Quick Start β’ Features β’ Documentation β’ Contributing
Clippy is an intelligent video repurposing agent that automatically transforms long-form content into engaging short clips optimized for modern social media platforms. Using advanced AI analysis and offline processing, Clippy identifies viral moments and creates platform-specific content with subtitles, effects, and optimized formatting.
- π― Maximize Reach: Repurpose content across multiple platforms simultaneously
- π Privacy-First: Offline AI processing with local data storage
- π° Cost-Effective: Designed for free-tier deployment and local execution
- π Data-Driven: Built-in analytics to optimize your content strategy
|
|
Ensure you have the following installed:
# Required software
Python 3.10+
FFmpeg
Git-
Clone and setup the repository
git clone <repository-url> cd clippy pip install -r requirements.txt
-
Download AI models (automatic on first run)
python -c "from src.ai.llm_analyzer import LLMAnalyzer; LLMAnalyzer({'model_name': 'orca-mini-3b-gguf2-q4_0.gguf'})" -
Configure your settings
cp config.yaml.example config.yaml # Edit config.yaml with your platform credentials
π¬ Single Video Processing
python main.py --url "https://youtube.com/watch?v=VIDEO_ID"π Batch Processing
Create videos.txt:
https://youtube.com/watch?v=VIDEO1
https://youtube.com/watch?v=VIDEO2
https://youtube.com/watch?v=VIDEO3
Run batch processing:
python main.py --batch videos.txtβ° Scheduler Mode
python main.py --schedulerπ Analytics
python main.py --analyticsConfigure Clippy by editing the config.yaml file:
Video Settings
video:
download_quality: "720p"
clip_duration_min: 30
clip_duration_max: 60Platform Configuration
platforms:
youtube:
enabled: true
client_id: "your-client-id"
client_secret: "your-client-secret"
tiktok:
enabled: true
username: "your-username"
password: "your-password"
instagram:
enabled: true
username: "your-username"
password: "your-password"AI Configuration
ai:
model_name: "orca-mini-3b-gguf2-q4_0.gguf"
highlight_threshold: 0.7Project Structure
clippy/
βββ main.py # Entry point and CLI
βββ config.yaml # Configuration file
βββ src/
β βββ core/ # Core processing modules
β β βββ video_processor.py # Video download & transcription
β β βββ content_analyzer.py # AI-powered content analysis
β β βββ platform_manager.py # Multi-platform coordination
β βββ ai/ # AI and machine learning
β β βββ llm_analyzer.py # Offline LLM analysis
β β βββ engagement_tracker.py # Performance analytics
β β βββ optimization_engine.py # Strategy optimization
β βββ platforms/ # Platform-specific handlers
β β βββ youtube_shorts.py # YouTube Shorts API
β β βββ tiktok_poster.py # TikTok automation
β β βββ instagram_reels.py # Instagram Reels API
β βββ utils/ # Utilities and helpers
β βββ config.py # Configuration management
β βββ file_handler.py # File operations
β βββ scheduler.py # Task scheduling
βββ data/ # Local data storage
βββ videos/ # Downloaded videos
βββ clips/ # Generated clips
βββ analytics/ # Performance data
πΊ YouTube Shorts Setup
-
Create a Google Cloud Project
- Visit Google Cloud Console
- Create new project or select existing one
-
Enable YouTube Data API v3
- Navigate to APIs & Services β Library
- Search for "YouTube Data API v3" and enable it
-
Create OAuth 2.0 Credentials
- Go to APIs & Services β Credentials
- Click "Create Credentials" β "OAuth 2.0 Client IDs"
- Configure OAuth consent screen if prompted
- Select "Desktop application" as application type
- Download the JSON credentials file
-
Configure credentials
- Save the downloaded JSON file as
youtube_credentials.jsonin your clippy folder
- Save the downloaded JSON file as
π± TikTok Setup
- Add username/password to
config.yaml - First run will require manual 2FA verification
- Session cookies will be saved for future use
πΈ Instagram Reels Setup
- Add username/password to
config.yaml - Enable "Less Secure Apps" or use App Password
- Consider using a dedicated business account
Clippy provides comprehensive analytics to optimize your content strategy:
| Feature | Description |
|---|---|
| Performance Tracking | Monitor engagement rates, views, and likes across all platforms |
| Trend Analysis | Identify best-performing content types and optimal posting times |
| AI Optimization | Automatically adjust content strategy based on performance data |
| Viral Prediction | Score clips for viral potential before posting |
Quick Start with Docker
# Build and run
docker-compose up -d
# View logs
docker-compose logs -f clippy
# Stop
docker-compose downProduction Deployment
# Run with database and caching
docker-compose --profile with-database --profile with-redis up -dCustom AI Models
ai:
model_name: "custom-model.gguf"
model_path: "/path/to/models"
gpu_acceleration: trueWebhook Integration
webhooks:
enabled: true
success_url: "https://your-app.com/webhook/success"
error_url: "https://your-app.com/webhook/error"Advanced Scheduling
scheduler:
max_videos_per_day: 10
posting_times:
youtube: ["09:00", "15:00", "20:00"]
tiktok: ["12:00", "17:00", "21:00"]
instagram: ["10:00", "14:00", "19:00"]# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
pytest tests/
# Code formatting
black src/
flake8 src/- Create new platform handler in
src/platforms/ - Implement required methods:
post_video(),get_stats() - Add platform configuration to
config.yaml - Register platform in
platform_manager.py
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a 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.
Important: Please ensure compliance with platform terms of service and content rights before using this tool.
- Respect platform terms of service
- Ensure you have rights to content you're repurposing
- Use automation responsibly to avoid account restrictions
- Consider rate limiting for platform compliance
| Resource | Link |
|---|---|
| π Documentation | ./docs/ |
| π Issues | Report Issues |
| π¬ Discussions | Join Discussion |
| π§ Email | [email protected] |
Special thanks to the amazing open-source projects that make Clippy possible:
- OpenAI Whisper for transcription capabilities
- GPT4All for offline LLM processing
- FFmpeg for video processing
- All the incredible open-source libraries and contributors
Made with β€οΈ by Yacine Khaldi
Empowering content creators to maximize their reach across platforms
β Star this repository if you find it helpful! β