Skip to content

About

Automated AI news intelligence pipeline with multi-voice Cloud TTS audio synthesis and RSS podcast publishing.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

🇺🇸 English · 🇨🇱 Español


🇺🇸 podcast-tech-pipeline

Fully automated weekly podcast generation pipeline. Researches real AI and hardware news, writes a 15-minute monologue script, synthesizes voice with Google Cloud TTS, and publishes to YouTube and RSS (Apple Podcasts + Spotify) — zero manual intervention.

How It Works

Cloud Scheduler (weekly cron)
        │
        ▼
Cloud Run Job (container, runs and terminates)
main.py
  ├── [1] NewsResearcher   Gemini + Google Search grounding (no manual scraping)
  ├── [2] NewsTracker      Permanent history — never repeats a topic
  ├── [3] Scriptwriter     15-min monologue via Vertex AI
  ├── [4] VoiceSynth       TTS with Google Cloud (Chirp3-HD)
  ├── [5] Producer         Final audio mix with background music
  ├── YouTubePublisher     Uploads to YouTube with auto-generated metadata
  └── RSSPublisher         Self-hosted RSS feed (Apple Podcasts + Spotify compatible)

Key Design Decisions

Why Gemini + Google Search grounding instead of scraping?
Web scraping breaks constantly as sites update their HTML. Gemini's Search grounding tool returns structured, curated results from trusted domains without any maintenance overhead.

How does it avoid repeating topics?
data/news_history.json is a permanent log written after every episode. The NewsResearcher receives this history as context and is instructed to skip any topic already covered. It's never purged — the model's context window handles filtering.

Why Cloud Run Job instead of Cloud Functions?
Audio generation + mixing can take 8–12 minutes. Cloud Functions has a 9-minute max timeout. Cloud Run Jobs have no limit.

Trusted Sources

News is sourced from official blogs (OpenAI, Anthropic, Google DeepMind, Meta AI, NVIDIA, Apple) and tech press (TechCrunch, The Verge, Ars Technica, Wired, MIT Technology Review). All via Google Search grounding — no hardcoded scraping.

Pipeline Steps Detail

Step Tool Output
Research Gemini + Search grounding JSON: top 5 news items with sources
Script Vertex AI (Gemini Pro) Markdown: 15-min monologue
Voice Google Cloud TTS (Chirp3-HD) WAV audio segments
Mix ffmpeg MP3 with background music
Publish YouTube Data API v3 Video + auto-thumbnail
RSS GCS public bucket feed.xml (Apple/Spotify ready)

Running Locally

python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
gcloud auth application-default login

# Generate episode (no publish)
python main.py

# With specific topic
python main.py --topic "open source AI models and new hardware"

# Generate and publish
python main.py --publish

GCP Requirements

  • Vertex AI API
  • Cloud Text-to-Speech API
  • Cloud Storage (public bucket for RSS feed)
  • Cloud Run + Cloud Scheduler
  • YouTube Data API v3

Stack

Python 3.10 · Vertex AI (Gemini) · Google Cloud TTS (Chirp3-HD) · YouTube Data API · GCS · Cloud Run · ffmpeg


🇨🇱 podcast-tech-pipeline

Pipeline totalmente automatizado de generación semanal de podcast. Investiga noticias reales de IA y hardware, escribe un guion de monólogo de 15 minutos, sintetiza voz con Google Cloud TTS y publica en YouTube y RSS (Apple Podcasts + Spotify) — sin intervención manual.

Cómo Funciona

Cloud Scheduler (cron semanal)
        │
        ▼
Cloud Run Job (contenedor, corre y termina)
main.py
  ├── [1] NewsResearcher   Gemini + Google Search grounding (sin scraping manual)
  ├── [2] NewsTracker      Historial permanente — nunca repite un tema
  ├── [3] Guionista        Guion de monólogo 15 min vía Vertex AI
  ├── [4] Locutor          TTS con Google Cloud (Chirp3-HD)
  ├── [5] Productor        Mezcla final de audio con música de fondo
  ├── YouTubePublisher     Sube a YouTube con metadatos auto-generados
  └── RSSPublisher         Feed RSS auto-hospedado (compatible Apple + Spotify)

Decisiones de Diseño Clave

¿Por qué Gemini + Google Search grounding en vez de scraping?
El scraping web se rompe constantemente cuando los sitios actualizan su HTML. La herramienta de grounding de búsqueda de Gemini devuelve resultados estructurados y curados desde dominios confiables sin overhead de mantenimiento.

¿Cómo evita repetir temas?
data/news_history.json es un log permanente que se escribe después de cada episodio. El NewsResearcher recibe este historial como contexto y tiene instrucciones de omitir cualquier tema ya cubierto. Nunca se purga — la ventana de contexto del modelo maneja el filtrado.

¿Por qué Cloud Run Job en vez de Cloud Functions?
La generación y mezcla de audio puede durar 8–12 minutos. Cloud Functions tiene un timeout máximo de 9 minutos. Cloud Run Jobs no tienen límite.

Fuentes de Noticias

Las noticias provienen de blogs oficiales (OpenAI, Anthropic, Google DeepMind, Meta AI, NVIDIA, Apple) y prensa tech (TechCrunch, The Verge, Ars Technica, Wired, MIT Technology Review). Todo vía Google Search grounding — sin scraping hardcodeado.

Pasos del Pipeline

Paso Herramienta Output
Investigación Gemini + Search grounding JSON: top 5 noticias con fuentes
Guion Vertex AI (Gemini Pro) Markdown: monólogo 15 min
Voz Google Cloud TTS (Chirp3-HD) Segmentos WAV
Mezcla ffmpeg MP3 con música de fondo
Publicación YouTube Data API v3 Video + auto-thumbnail
RSS GCS bucket público feed.xml (listo Apple/Spotify)

Ejecución Local

python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
gcloud auth application-default login

# Genera episodio (sin publicar)
python main.py

# Con tema específico
python main.py --tema "modelos de IA open source y nuevo hardware"

# Genera y publica
python main.py --publish

Stack

Python 3.10 · Vertex AI (Gemini) · Google Cloud TTS (Chirp3-HD) · YouTube Data API · GCS · Cloud Run · ffmpeg

About

Automated AI news intelligence pipeline with multi-voice Cloud TTS audio synthesis and RSS podcast publishing.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors