Hola. Soy desarrollador, trabajo solo, y hace una semana empecé un experimento: un noticiero animado, hecho con Vibe Coding, que transmite en vivo noticias del Perú y al que le puedes hacer preguntas por el chat y te responde al aire, con tu nombre. Les dejo el link para verlo en accion y abajo les cuento cómo se hizo, qué salió mal y por qué tomé algunas decisiones que desde fuera se ven raras. link La idea no es mía: me inspiré en PNN (Pixel News Network, pnn.watch), un canal de parodia con presentadores en pixel art que funciona con IA todo el día. Cuando lo vi pensé: ¿y si hubiera algo así, pero peruano, con noticias de verdad y que además te conteste? El crédito de la chispa es de ellos. Aviso desde ya: es un experimento, no un producto terminado. Tiene errores, y las voces suenan sintéticas. Más abajo explico por qué. Qué es Tres presentadores (Lucho, Cami y el Maestro, un baterista que solo abre la boca para rematar con un chiste), seis corresponsales que salen en la pantalla del estudio (calle, deportes, farándula, economía, tecnología y cultura) y un cuy que te saluda por tu nombre la primera vez que escribes. Las noticias salen de voz.pe, una red social peruana que hice yo (porque sí, programé una red social estilo Facebook que lleva meses en continuo desarrollo). Ahí ya se reúnen cada día las notas de los medios peruanos, así que la mitad del trabajo, juntar y ordenar las noticias, estaba hecha. El noticiero es un complemento que aprovecha lo que la red ya tiene: lee esas notas, las resume con sus propias palabras y las comenta con humor. Lo que lo hace distinto: le preguntas y te contesta Noticieros hay de sobra, y no pretendo competir con ninguno. Lo que quería probar es otra cosa: un noticiero al que le puedas preguntar. Escribes en el chat «¿qué pasó con tal cosa?» y, a los pocos minutos, entre una noticia y otra, un presentador lee tu pregunta y te responde. Por dentro busca en las notas publicadas y arma la respuesta solo con lo que encuentra ahí. Y si no encuentra nada, te lo dice: «eso todavía no lo tenemos». Prefiero mil veces esa respuesta a que invente. Lograr que una IA no invente fue, de lejos, lo más difícil de todo el proyecto. Cómo funciona por dentro Para los que les interesa lo técnico: Cada hora revisa las noticias nuevas de voz.pe y les pone un puntaje: cuánta gente las comenta, si varios medios hablan de lo mismo, qué tan reciente es. Las mejores pasan a producción. De cada noticia se saca primero una ficha de hechos: nombres, cifras y qué pasó exactamente. Solo lo que está en esa ficha se puede decir como dato. Un modelo de lenguaje escribe el diálogo entre los personajes. Las bromas y opiniones son libres; los datos, no. Antes de gastar un segundo de voz, el guion pasa por validadores automáticos: que cada cifra y cada nombre estén en la ficha, que no copie el texto del medio, que no dé por culpable a alguien que solo fue denunciado. Después, otro modelo lo revisa contra los hechos. Si lo rechaza, se reescribe una vez con el motivo. Si vuelve a fallar, esa noticia no sale. Recién ahí se generan las voces y la pieza entra a una biblioteca, de donde un «director» automático va armando el programa. El proyecto tiene más de mil pruebas automáticas, y aun así se le escapan cosas. La primera noche, por ejemplo, el programa dijo de un partido que «ni la hora nos quieren decir», cuando simplemente la nota no traía la hora. Nadie ocultó nada: el modelo se inventó una intención. Ese tipo de error, sutil y que suena creíble, es el que más trabajo me dio. Por qué las voces suenan sintéticas Esta es la decisión que más se nota, así que la explico bien. Existen voces con IA que suenan casi humanas. Yo mismo las uso: la del narrador del video de arriba es una de esas. El problema es que esas voces se pagan por cada minuto de audio, y esto no es un video de un minuto: es un programa que habla sin parar, todo el día. Con una voz de ese nivel, en pocas horas se iría el presupuesto de la jornada entera. Así que las voces se generan en la misma computadora que transmite, la misma computadora que arma todo el programa, que es una Mac Mini M4, no un servidor. Y otro detalle importante, la voz tiene que salir más rápido de lo que se hablan, porque si la máquina tarda más en fabricar una frase que en decirla, el programa se queda mudo. Probé varios motores de voz más nuevos y más naturales. Incluso en mi Rtx5090 tardaban entre dos y siete veces más de lo que duraba el audio: no llegaban ni de lejos. El que quedó es el único que corre holgado on la mac, y con ese armé un laboratorio de voces: 360 combinaciones probadas, 45 finalistas y una elegida para cada personaje. Suenan a máquina, sí. Es el precio de que hablen en vivo y de que el experimento se pueda sostener. Si algún día alcanza para más, serán lo primero que cambie. Lo que corre en mi casa y lo que no Casi todo es local: las voces, la animación, la selección de noticias, el director del programa y la transmisión. Los personajes los generé como clips de video en mi PC, cada uno entre 7 y 13 minutos de espera en mi RTX 5090, y a uno tuve que repetirlo siete veces porque la mitad de los cuadros le salía en negro. Lo único que se paga es el modelo de lenguaje que escribe y revisa los guiones. Si bien puedo usar un modelo local dudo que sea lo suficientemente bueno, y ademas tiene que correr al mismo tiempo con todo lo que esta corriendo la mac, no solo el noticiero, si no toda la red social de Voz.pe. Usé los modelos más recientes que resultan viables para algo que consume tokens todo el día, que no es lo mismo que usar los mejores que existen: uno de primera línea escribiría mejor, pero un programa que no se calla nunca se lo comería vivo. Para eso hay un presupuesto diario con tope: si se llega al límite del presupuesto, el programa deja de fabricar noticias nuevas y sigue al aire con las que ya tiene hasta el dia siguiente, total los noticieros reales de 24h tambien repiten las noticias. Igual se supone que genera mas de 100 noticias al dia, pero si te topas con repetidas. No es un bug: es el freno de mano. Las peripecias La primera noche. Luego de hacer todo el trabajo de planeamiento, Dejé corriendo la implementacion en la madrugada y me fui a dormir. A los pocos minutos se detuvo porque el entorno de trabajo no podía abrir un navegador. Hubo que construir toda la parte visual a ciegas, sin poder verla, y arreglarla al día siguiente. Tres versiones visuales. Empezó en 2D, con pixel art. Después intenté una versión en 3D con modelos de verdad, con cuerpo, cara y expresiones, el rigging de un rostro me demoro todo un dia y quedo espectacular, pero era un proyecto titanico hacer todos los personajes completos, si solo un rostro me demoro un dia entero y no sabia si el proyecto valia la pena, asi que abandoné el 3d pronto: simplemente era demasiado ambiciosa para un proyecto pequeño de una sola persona. Lo que ven ahora es un punto medio, un 2.5D: un estudio en 3D con personajes en 2D que se ven desde distintos ángulos según dónde esté la cámara. La plataforma que no lo quiso. Esto fue lo más frustrante. El plan original era transmitir en vertical por TikTok. Cada vez que salía en vivo, a los pocos minutos la plataforma sacaba la transmisión de circulación por considerarla «contenido pregrabado». Y no lo era: todo se generaba en ese momento. Lo intenté decenas de veces. Fueron tres días dedicados solo a eso, cambiando una cosa a la vez, como quien busca una fuga. Me frustra ver gente con juegos, bots automatizados con voces sinteticas, mini juegos, y estan ahi generando regalos. Primero probé darle más vida a la pantalla, pensando que el problema era que se veía quieta. De ahí nacieron el cielo que cambia con la hora y la cámara que no deja de moverse. resplandor de luces, light flares. Luego pense que eran las voces sinteticas, Cambié voces, cambié el estilo de personajes, agregué mas efectos. Noté que el 3D aguantaba mejor que el 2D, y por eso el salto de una versión a otra. No bastó. Entonces tomé el camino contrario: comence a remover todo lo que habia construido de a pocos, probe con cámara fija, fuera el baterista, fuera los corresponsales. Llegué a armar una versión con varias ventanas estáticas, una por personaje. La seguía marcando como pregrabada. Mi teoria es que Tiktok tiene una barra de temperatura para bloquearte, no es una razon unica si no una acumulacion de puntos negativos, por ejemplo : "voces sinteticas" + "sin interaccion humana" + "camara estatica" = 5 puntos = ban! Al final, lo único que pasaba el filtro era una versión quieta, sin efectos, que hablaba menos, despojada de casi todo lo que la hacía entretenida. Un noticiero que sobrevivía a cambio de no tener gracia. Ahí lo dejé. Descarté TikTok por ahora, hasta entender qué es lo que detecta,o como bajar ese "termometro" que imagino tiene, y le devolví al programa todo lo que le había quitado. Y pasó algo que no esperaba: tres días peleando contra un detector automático me dejaron un programa mejor. El cielo, la cámara, los corresponsales en pantalla, varias de las cosas que más me gustan de la versión actual, salieron de esas pruebas. Desde hoy transmite por YouTube, en horizontal, donde corrió sin problemas desde la primera prueba. La contra es que en un canal nuevo nadie te ve al principio. Por eso este post. Los detalles que nadie ve. El baterista tocaba pero no sonaba. Durante un día entero, todos los comentarios del chat llegaban vacíos por leer el campo equivocado. Dos personajes tuvieron las voces cruzadas y lo corregí tres veces. Como hay poca variedad de voces, a la presentadora le puse un tiempo un acento inglés, a modo de chiste; hizo gracia un día y se agotó rápido. Una auditoría descubrió que el chat habría leído en voz alta cualquier cosa que alguien escribiera, incluidas acusaciones contra personas con nombre y apellido; ahora hay un filtro antes de que nada llegue al aire. Y el día que por fin estaba todo listo para…