Actualizado 5 junio 2026 · 9 min de lectura
Cómo crear una newsletter desde un podcast con IA
Las mejores newsletters de curaduría hacen una cosa bien: filtrar información. Escuchan 10 podcasts para que tú solo recibas los 3 insights que importan. El problema es que el curador gasta 10+ horas semanales escuchando para producir una edición.
Con un pipeline automático (resumen IA + template + envío), puedes crear una newsletter de curaduría de podcasts en 45 minutos en vez de 4 horas.
El pipeline completo
El flujo es lineal:
- Detectar episodio nuevo → monitorear feed RSS.
- Resumir → enviar a Brevecast API.
- Formatear → insertar en template de newsletter.
- Revisar + enviar → 5 min de revisión humana + publicar.
Paso 1: Monitorear feeds RSS
Cada podcast tiene un feed RSS. Con Python y feedparser, puedes detectar episodios nuevos automáticamente.
import feedparser
import json
from datetime import datetime, timedelta
FEEDS = [
{"name": "Entiende Tu Mente", "url": "https://feeds.example.com/etm.xml"},
{"name": "Kaizen Empresarial", "url": "https://feeds.example.com/kaizen.xml"},
{"name": "Podcast Insider", "url": "https://feeds.example.com/insider.xml"},
]
def get_new_episodes(feeds, since_hours=48):
"""Obtiene episodios publicados en las últimas N horas."""
cutoff = datetime.now() - timedelta(hours=since_hours)
episodes = []
for feed_info in feeds:
feed = feedparser.parse(feed_info["url"])
for entry in feed.entries[:5]:
published = datetime(*entry.published_parsed[:6])
if published > cutoff:
# Buscar enclosure de audio (MP3)
audio_url = None
for link in entry.get("links", []):
if link.get("type", "").startswith("audio/"):
audio_url = link["href"]
break
if audio_url:
episodes.append({
"podcast": feed_info["name"],
"title": entry.title,
"audio_url": audio_url,
"published": published.isoformat(),
})
return episodes
new_eps = get_new_episodes(FEEDS)
print(f"Encontrados {len(new_eps)} episodios nuevos")
Paso 2: Resumir con Brevecast API
Cada episodio detectado se envía a la API de Brevecast para obtener un resumen ejecutivo.
import httpx
BREVECAST_URL = "https://brevecast.4l3.org"
def summarize_episode(audio_url: str) -> dict:
"""Envía un episodio a Brevecast y obtiene el resumen."""
r = httpx.post(
f"{BREVECAST_URL}/v1/summarize",
json={"url": audio_url, "voice": "es-MX-Jorge"},
timeout=300, # Podcasts largos tardan más
)
r.raise_for_status()
return r.json()
# Resumir cada episodio nuevo
summaries = []
for ep in new_eps:
result = summarize_episode(ep["audio_url"])
summaries.append({
**ep,
"summary_text": result.get("summary", ""),
"summary_audio": result.get("audio_url", ""),
})
print(f"Resumido: {ep['title']}")
Paso 3: Formatear la newsletter
Con los resúmenes listos, genera el cuerpo de la newsletter usando un template simple.
def format_newsletter(summaries: list, edition: int) -> str:
"""Genera el HTML de la newsletter."""
items_html = ""
for s in summaries:
items_html += f"""
<div style="margin-bottom:24px;padding:16px;
border:1px solid #e2e8f0;border-radius:8px">
<h3 style="margin:0 0 4px">{s['podcast']}: {s['title']}</h3>
<p style="color:#64748b;font-size:13px;margin:0 0 8px">
Publicado {s['published'][:10]}
</p>
<p>{s['summary_text'][:500]}...</p>
<a href="{s['summary_audio']}">Escuchar resumen (5 min)</a>
</div>
"""
return f"""
<h1>Podcast Digest #{edition}</h1>
<p>Los {len(summaries)} mejores episodios de esta semana,
resumidos en 5 minutos cada uno.</p>
{items_html}
<p style="color:#94a3b8;font-size:12px">
Resúmenes generados con Brevecast.
</p>
"""
html = format_newsletter(summaries, edition=1)
print("Newsletter lista para enviar")
Paso 4: Enviar con cron
Un cron semanal ejecuta el pipeline completo. El borrador queda listo para tu revisión final.
# crontab -e
# Todos los lunes a las 7am generar borrador
0 7 * * 1 cd /path/to/project && python3 pipeline.py
Opciones de envío según tu plataforma:
- Substack: Pegar el HTML como borrador vía editor web (no tiene API pública de envío).
- ConvertKit/Mailchimp: API para crear y enviar campañas automáticamente.
- Listmonk (self-hosted): POST a /api/campaigns con body HTML.
- Beehiiv: API REST para borradores programados.
Caso de uso real: newsletter semanal de negocios
Imagina una newsletter llamada “Podcast Digest MX” que cura los 5 mejores podcasts de negocios en español cada semana:
- Feeds monitoreados: 15 podcasts de negocios/emprendimiento en español.
- Filtro: Solo episodios con invitados destacados o temas trending.
- Resumen: Brevecast genera resumen de cada episodio seleccionado.
- Edición humana: 30 min para agregar contexto, opinión y links.
- Envío: Todos los lunes a las 7am.
Tiempo total por edición: 45 minutos (vs 4+ horas sin automatización).
Modelo de negocio: Gratis hasta 1,000 subs. Después: sponsor slots a $50-200/edición.
Consideraciones éticas
- Siempre cita la fuente: Nombre del podcast, episodio, host y link al episodio original.
- Añade valor propio: El resumen es la materia prima. Tu criterio editorial es el producto final.
- No copies verbatim: El resumen de Brevecast es una síntesis, no una transcripción. Pero reformula en tu voz cuando sea posible.
- Respeta los derechos: Si un podcaster te pide no incluir sus episodios, remueve inmediatamente.
Empieza con 3 resúmenes gratis
Envía la URL de cualquier podcast y recibe el resumen en minutos.
Probar Brevecast →
Siguientes pasos
- Automatizar resúmenes de podcast con API y RSS — guía técnica completa.
- Resumir un podcast con IA en español (gratis) — tutorial paso a paso.
- Documentación de la API — referencia completa de endpoints.