PodFlower is a sophisticated multi-agent system built with Google's Agent Development Kit (ADK) that automates the complete end-to-end workflow for Japanese podcast production. From raw audio processing to social media distribution, this system demonstrates the power of AI agent orchestration in solving real-world automation challenges.
This project showcases:
- โ Multi-agent orchestration using ADK Workflow Agents
- โ Complex process automation with 10 specialized agents
- โ Real-world impact for Japanese podcast production
- โ Zero-touch workflow from recording to distribution
python pipelines/full_workflow.py sample_episode/This single command processes a complete podcast episode with zero manual intervention.
PodFlower uses 10 specialized agents orchestrated through ADK's workflow patterns:
graph TB
A[๐ค Recorder Agent] --> B[โ๏ธ Filler Removal Agent]
B --> C[๐ Concat Audio Agent]
B --> D[๐ Title Generator Agent]
B --> E[๐ข Ad Break Detector]
C --> F[๐๏ธ Mastering Agent]
F --> G[๐ฆ Export Package Agent]
D --> G
E --> G
G --> H[๐ Vercel Deploy Agent]
G --> I[๐ฐ WordPress Publisher]
G --> J[๐ฆ X Post Agent]
| Agent | ADK Type | Purpose |
|---|---|---|
| Pipeline Orchestrator | SequentialAgent |
Coordinates main workflow phases |
| Audio Processing | SequentialAgent |
Processes audio in order |
| Content Generation | ParallelAgent |
Generates metadata concurrently |
| Distribution | ParallelAgent |
Deploys to multiple platforms |
| Individual Agents | BaseAgent/LlmAgent |
Specialized processing tasks |
- Python 3.11+
- FFmpeg
- Google Cloud account
- Google API key (from Google AI Studio)
# Clone the repository
git clone <repository-url>
cd podflower
# Install dependencies
make install
# Configure environment
cp env.example .env
# Edit .env with your API keys# Required
GOOGLE_API_KEY=your_google_api_key
GOOGLE_CLOUD_PROJECT=your-project-id
# Optional (for full functionality)
VERCEL_TOKEN=your_vercel_token
WORDPRESS_USERNAME=your_username
WORDPRESS_APP_PASSWORD=your_password
X_CONSUMER_KEY=your_x_api_key
# ... see env.example for complete listpodflower/
โโโ agents/ # All ADK agents
โ โโโ recorder/ # Audio file detection
โ โโโ filler_removal/ # Japanese filler word removal
โ โโโ concat_audio/ # Intro/outro concatenation
โ โโโ title_notes/ # LLM-powered content generation
โ โโโ ad_break/ # Topic-shift detection
โ โโโ mastering/ # Audio normalization
โ โโโ export_package/ # Final package creation
โ โโโ deploy_vercel/ # Static site deployment
โ โโโ wordpress_publish/ # Content management
โ โโโ post_to_x/ # Social media posting
โโโ pipelines/
โ โโโ full_workflow.py # Main orchestration pipeline
โโโ tests/ # Comprehensive test suite
โโโ sample_episode/ # Sample input directory
โโโ assets/ # Intro/outro audio files
โโโ SPEC.md # Complete technical specification
- Recorder Agent - Detects new Zoom/Riverside recordings
- Filler Removal Agent - Uses Google Cloud Speech-to-Text for Japanese filler word removal
- Concat Audio Agent - Adds intro/outro using FFmpeg
- Mastering Agent - Normalizes to -16 LUFS / -1 dB peak
- Title Notes Agent - Generates 5 Japanese titles + Markdown show notes using Gemini
- Ad Break Agent - Detects topic shifts using sentence transformers
- Export Package Agent - Creates timestamped episode directory with metadata
- Vercel Deploy Agent - Triggers static site redeploy
- WordPress Publisher - Posts with Unsplash featured image
- X Post Agent - Announces episode with proper Japanese formatting
# Run all tests
make test
# Run specific test types
make test-unit # Unit tests
make test-e2e # End-to-end pipeline tests
# Performance benchmarks
make benchThis system is specifically designed for Japanese podcast content:
- Filler Word Detection: Removes "ใใผใจ", "ใใฎใผ", "ใพใ", etc.
- Japanese Speech-to-Text: Uses Google Cloud Speech-to-Text with
ja-JPmodel - Native Title Generation: Creates natural Japanese episode titles
- Cultural Ad Placement: Respects Japanese podcast conventions
# Format code
make format
# Type checking
make type-check
# Development server
make demo # Run with verbose logging- Coverage: โฅ 90% test coverage
- STT Accuracy: โค 5% word error rate after filler removal
- Type Safety:
mypy --strictcompliance - Performance: Complete workflow in < 10 minutes for 60-minute episode
python pipelines/full_workflow.py sample_episode/make docker-build
make docker-runSee deployment documentation for cloud deployment options.
- Multi-agent orchestration using all three ADK agent types
- Language-specific AI processing for Japanese content
- Real-time audio DSP with professional mastering
- Clean, typed, well-documented code following SPEC
- Solves real workflow pain for Japanese podcast creators
- Zero-touch automation from recording to social media
- Cultural adaptation for Japanese language nuances
- Professional audio quality matching industry standards
- One-command demo:
python pipelines/full_workflow.py sample_episode/ - Comprehensive documentation with clear setup instructions
- Complete test coverage including end-to-end pipeline tests
- Architecture diagrams showing agent orchestration
- โ ADK contribution potential - demonstrates advanced agent patterns
- โ Google Cloud integration - Speech-to-Text, Storage, potential Vertex AI
- โ Production-ready - error handling, logging, monitoring
We welcome contributions to PodFlower! This project demonstrates advanced ADK patterns and could serve as a reference implementation for:
- Multi-agent workflow orchestration
- Language-specific AI processing pipelines
- Real-world automation use cases
- Japanese language AI applications
This project is intended as a demonstration of ADK capabilities for automating complex, real-world workflows.
- ADK Documentation: https://google.github.io/adk-docs/
- Demo Video: [Coming soon]
- Architecture Blog: [Coming soon]
Built with โค๏ธ to demonstrate the power of AI agent collaboration in solving real-world automation challenges.