Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

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.

Notifications You must be signed in to change notification settings

fuzzy31u/podflower

Repository files navigation

PodFlower: AI-Powered Podcast Automation ๐ŸŽ™๏ธ

PodFlower Key Visual

Python 3.11+ Google ADK

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.

๐ŸŽฏ System Overview

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

๐Ÿš€ Quick Start

One-Command Demo

python pipelines/full_workflow.py sample_episode/

This single command processes a complete podcast episode with zero manual intervention.

๐Ÿ—๏ธ Architecture

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]
Loading

Agent Types Used

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

๐Ÿ› ๏ธ Installation

Prerequisites

  • Python 3.11+
  • FFmpeg
  • Google Cloud account
  • Google API key (from Google AI Studio)

Setup

# 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 Environment Variables

# 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 list

๐Ÿ“ Project Structure

podflower/
โ”œโ”€โ”€ 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

๐ŸŽ™๏ธ Workflow Details

Phase 1: Audio Processing (Sequential)

  1. Recorder Agent - Detects new Zoom/Riverside recordings
  2. Filler Removal Agent - Uses Google Cloud Speech-to-Text for Japanese filler word removal
  3. Concat Audio Agent - Adds intro/outro using FFmpeg
  4. Mastering Agent - Normalizes to -16 LUFS / -1 dB peak

Phase 2: Content Generation (Parallel)

  • Title Notes Agent - Generates 5 Japanese titles + Markdown show notes using Gemini
  • Ad Break Agent - Detects topic shifts using sentence transformers

Phase 3: Package Creation

  • Export Package Agent - Creates timestamped episode directory with metadata

Phase 4: Distribution (Parallel)

  • Vercel Deploy Agent - Triggers static site redeploy
  • WordPress Publisher - Posts with Unsplash featured image
  • X Post Agent - Announces episode with proper Japanese formatting

๐Ÿงช Testing

# 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 bench

๐ŸŽฏ Japanese Language Features

This 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-JP model
  • Native Title Generation: Creates natural Japanese episode titles
  • Cultural Ad Placement: Respects Japanese podcast conventions

๐Ÿ”ง Development

# Format code
make format

# Type checking
make type-check

# Development server
make demo          # Run with verbose logging

๐Ÿ“Š Quality Metrics

  • Coverage: โ‰ฅ 90% test coverage
  • STT Accuracy: โ‰ค 5% word error rate after filler removal
  • Type Safety: mypy --strict compliance
  • Performance: Complete workflow in < 10 minutes for 60-minute episode

๐Ÿš€ Deployment Options

Local Development

python pipelines/full_workflow.py sample_episode/

Docker

make docker-build
make docker-run

Production (with ADK Agent Engine)

See deployment documentation for cloud deployment options.

๐Ÿ† Key Features

Technical Innovation

  • 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

Creativity & Impact

  • 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

Demo & Documentation

  • 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

Additional Benefits

  • โœ… ADK contribution potential - demonstrates advanced agent patterns
  • โœ… Google Cloud integration - Speech-to-Text, Storage, potential Vertex AI
  • โœ… Production-ready - error handling, logging, monitoring

๐Ÿค Contributing

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

๐Ÿ“œ License

This project is intended as a demonstration of ADK capabilities for automating complex, real-world workflows.

๐Ÿ”— Links


Built with โค๏ธ to demonstrate the power of AI agent collaboration in solving real-world automation challenges.

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published