An open-source tool to automate publishing Clubhouse recordings to Spotify and YouTube. Supports both local and cloud deployment from a single codebase.
- Download Clubhouse recordings from dynamic links
- Extract audio track from video (MP4 to MP3)
- Transcribe audio using Gemini API (Google AI Studio)
- Generate descriptions for YouTube and Spotify
- Create video with waveform visualization using MoviePy
- Upload to YouTube with scheduled publishing
- Prepare files for Spotify manual upload
| Mode | Best For | Infrastructure | Status |
|---|---|---|---|
| Local | Individual creators, development | Your machine | Available |
| Cloud | Teams, automation, scheduled jobs | GCP Cloud Run Jobs | To be implemented |
- Python 3.10+
- ffmpeg (
brew install ffmpegon macOS) - Gemini API key (Get one here)
- YouTube API credentials (Setup guide)
# Clone the repository
git clone https://github.com/WWStoryMode/Clubhouse-Podcast-Automation.git
cd Clubhouse-Podcast-Automation
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Copy configuration templates
cp config/config.example.yaml config/config.yaml
cp .env.example .env
# Edit .env with your API keys-
Edit
.envwith your API keys:GEMINI_API_KEY=your_gemini_api_key -
Edit
config/config.yamlwith your settings -
Add your template assets to
templates/:background.png- Video background image (1920x1080)icon.png- Logo/icon overlay
# Full pipeline
python -m src.cli process --url "https://clubhouse.com/..." --title "Episode 1"
# Individual steps
python -m src.cli download --url "https://clubhouse.com/..."
python -m src.cli extract --input output/audio/raw.mp4
python -m src.cli transcribe --input output/audio/audio.mp3
python -m src.cli summarize --input output/transcripts/transcript.txt
python -m src.cli generate-video --input output/audio/audio.mp3 --title "Episode 1"
python -m src.cli upload-youtube --input output/videos/video.mp4Status: To be implemented
Cloud deployment via GCP Cloud Run Jobs is planned for a future release. This will enable:
- Scheduled/automated processing
- Team collaboration
- Webhook triggers
- Cloud storage integration
Clubhouse-Podcast-Automation/
├── src/
│ ├── core/ # Business logic
│ │ ├── pipeline.py # Orchestration
│ │ ├── downloader.py # Download from Clubhouse
│ │ ├── audio_extractor.py
│ │ ├── transcriber.py # Gemini API
│ │ ├── summarizer.py # Gemini API
│ │ ├── video_generator.py # MoviePy
│ │ └── uploader.py # YouTube API
│ │
│ ├── adapters/ # Platform adapters
│ │ ├── storage/ # Local/Cloud storage
│ │ └── runtime/ # Local/Cloud execution
│ │
│ └── cli.py # CLI entry point
│
├── config/ # Configuration
├── templates/ # Video templates
└── output/ # Generated files
| Component | Technology |
|---|---|
| Audio extraction | ffmpeg |
| Transcription | Gemini API |
| Summarization | Gemini API |
| Video generation | MoviePy + librosa |
| YouTube upload | YouTube Data API v3 |
| Cloud deployment | GCP Cloud Run Jobs |
Contributions are welcome! Please read CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License - see LICENSE for details.