Saltar al contenido
English

Micropodcast de noticias

2026 · Sistema en producción

Ángel Martín dejó de hacer su informativo de la mañana y yo lo echaba de menos: las noticias del día en unos minutos, contadas sin solemnidad, mientras me hacía el café. Así que me monté uno. Se llama 3 minutos de noticias, está en Spotify y sale cada madrugada mientras duermo: un sistema de agentes elige las historias, escribe el guion, lo locuta y lo publica.

Lo hice partiendo el problema en piezas que hacen una sola cosa. Un servicio extrae las noticias de la prensa y las guarda. Unos agentes las limpian y las clasifican. Otro escribe el guion. Una voz sintética lo lee, una imagen lo ilustra y un feed RSS lo lleva a Spotify. Cada pieza es tonta a propósito: cuanto menos decide, más fácil es que un agente la use bien.

Es muy barato. No gratis, barato. Pago una suscripción de Claude, que cubre la rutina nocturna y los agentes; otra de ElevenLabs, para la voz; la imagen de cada episodio, que va por unidad y sale a céntimos; y Cloud Run, que con este uso son céntimos al mes. Lo demás va en planes gratuitos: la base de datos en Supabase, los audios y el feed en GitHub Pages, el alta en Spotify. Un podcast diario por el precio de un par de suscripciones y unos céntimos al día. El coste grande ya lo paga quien tenga una suscripción de Claude con margen; el resto es montar las piezas.

Y partir el problema así tiene otra ventaja: escala. Un programa es una fila en la base de datos, qué categorías de noticias se juntan y con qué voz editorial se cuentan. Tecnología y deporte ya tienen la suya; economía, ciencia o una ciudad serían una fila más. Todo esto está en producción y se mira desde un visor analítico hecho con Rill que lee la misma base en vivo.

La idea grande, para más adelante, es una plataforma de self-served media: que cada oyente defina el boletín que quiere escuchar y lo reciba cada mañana como un feed privado. Eso es futuro. Lo de hoy ya suena mientras me hago el café.

Por partes

  1. Extraer las noticias

    Un servicio en Go que no piensa. Lee quince feeds de prensa española, descarga el artículo completo cuando el feed solo trae la entradilla, lo guarda en Postgres y lo sirve por una API con clave y por un endpoint MCP para los modelos. No ordena, no agrupa, no resume. Una pasada completa tarda unos ocho segundos y corre cada cuatro horas en Cloud Run. El scraper busca el cuerpo del artículo anclado en la entradilla, no en las clases CSS de la página, y si no lo encuentra falla diciendo por qué en vez de traerse cualquier cosa.

  2. Enriquecer y clasificar cada artículo

    Cada noche una rutina de Claude entra por el MCP del servicio y reparte los artículos del día entre agentes Haiku, veinte a la vez con cinco noticias cada uno. Cada agente reescribe el artículo en markdown limpio, sin quitar datos ni añadirlos, le pone hasta diez keywords y lo clasifica en una categoría de una taxonomía cerrada que el servicio le entrega y que la base de datos valida. El servicio no decide nada: pone las herramientas y guarda lo que el modelo devuelve. Un artículo enriquecido no se vuelve a tocar.

  3. Escribir el guion y ponerle voz

    Un agente Opus hace de guionista y sigue el orden de trabajo de una redacción. Primero pide el mapa del día, qué keywords pesan y en cuántos medios, y después lee las historias que asoman, una a una. Con eso monta la escaleta y escribe un boletín de radio de unas cuatrocientas cincuenta palabras: saludo, sumario, cuatro o cinco noticias por peso, un cierre ligero y una despedida distinta cada día. Lee los dos guiones anteriores para no repetir arranques ni historias, y guarda con el episodio un resumen y unas keywords que serán la memoria del guionista de mañana. Luego ElevenLabs le pone la voz y Nano Banana la imagen del episodio, con una maqueta fija en la que solo cambian el titular y la fecha.

  4. Publicar el episodio

    Spotify no tiene API de subida: lee un feed RSS y lo sondea varias veces por hora. Así que el episodio se publica con un commit que sube el audio, el guion y la imagen a un repo público servido por GitHub Pages y actualiza el feed a la vez. Nunca hay un MP3 sin entrada en el feed ni una entrada sin MP3. El aviso de que está escrito y locutado con inteligencia artificial va en tres sitios: en el propio audio, en la descripción y en el feed. El programa está en Spotify desde el 7 de septiembre de 2026, y cada episodio aparece allí sin que nadie lo suba.

  5. Un programa por tema

    Un programa es una fila en el agregador: qué categorías lee, cuántas historias, cuántas palabras y la persona de su guionista, es decir, quién es y cómo habla, escrito en texto. El formato del boletín es común; esa persona es lo que cambia. Con eso, montar un programa nuevo es elegir qué categorías se juntan y escribir quién las cuenta, sin tocar código. "3 minutos de noticias" lee política, economía, internacional y sociedad; "3 minutos de tecnología" y "3 minutos de deporte" están ya definidos, con sus categorías y su feed, esperando su primer episodio.

  6. Mirar cómo va la máquina

    Para saber qué entra, qué se enriquece y qué acaba en antena no escribí una web. Monté un proyecto de Rill en local, todo YAML y SQL versionado, que se revisa en una pull request como cualquier otro cambio. No copia datos: DuckDB lee Postgres en vivo y en modo de solo lectura, a través de unas vistas que el agregador se compromete a no romper. Cinco dashboards, no más: dos paneles que se miran y tres exploraciones que se manosean.