Generación de contenidos a través del empírismo y la IA

Fabian Bozoglilanian
6 min readSep 25, 2023
https://youtu.be/c6MjYHv6Tp0

Este artículo continúa la serie de artículos relacionados con el futuro de la automatización y mi experiencia utilizando IA generativa para la creación de contenido para niños en la plataforma Youtube (ver: https://www.youtube.com/@DotbotKids).

Contando historias

Todo comenzó cuando me quedé sin historias tradicionales para contarle a mi hijo por las noches. Es ahí que comencé a crear nuevos personajes con nombres graciosos para captar su atención.

Y por un tiempo funcionó bien, mi hijo escuchaba atentamente las historias y me pedía nuevas, preguntaba qué pasaba con tal o cual personaje y las historias cobraban vida.

Augmentando la creatividad

Poco a poco me fui quedando sin nuevas ideas, así que recurrí al gran amigx ChatGPT. A través de ChatGPT fui capaz de crear nuevas historias y que las mismas tengan una continuidad (si, porque el niño de tres años quería continuidad en las historias como si se tratase del Universo Cinemático de Marvel).

Por un tiempo esto funcionó, podía seguir contando historias, tenían coherencia y continuidad. Pero mi público es bastante exigente, así que me empezó a preguntar cómo eran los personajes y la descripción no era suficiente, así que tuve que revivir mi habilidad de dibujar, cosa que como toda habilidad si no se practica se pierde, así que recurrí a Dall-e para generar los personajes. Y por un tiempo fue suficiente.

Compartiendo las historias

Dado que mi hijo es gran consumidor de YouTubeKids, se me ocurrió, (por qué no) crear un canal dedicado a las historias que creamos. y es así que nació https://www.youtube.com/@DotbotKids.

Los primeros videos los hacía utilizando https://opendream.ai/ para generar imágenes, con resultados aceptables, text to voice usando https://www.text-to-speech.online/ y compilaba el video usando https://www.canva.com/. Aquí podemos ver el resultado de esta primer iteración:

Primer video de Herculino

Me emocionaba ver que había más gente interesada en estas historias, así que me motivé en crear más. Mi sobrino pedía historias de Herculino, ansioso por ver qué venía después. Así que la motivación de crear nuevos contenidos aumentaba de forma exponencial.

Vistas durante el mes de Julio, 2023

Todo indicaba que había descubierto un posible mercado: la creación de contenidos para niños. Sin embargo, soy Ingeniero de Sistemas, no soy autor (aunque lo intento y me gusta), no soy animador, no sé de marketing y muchas otras carencias… y más aún… ante tanta complejidad debía hacer algo para que el proceso de creación sea más sencillo y así poder aprender a crear mejor contenido, más tiempo en pensar y planificar que en producir. Es ahí que se me ocurrió comenzar a automatizar el proceso de creación.

Nace DotBot: un asistente autómata

Poco a poco comencé a automatizar el flujo de trabajo. Comencé automatizando la creación de imágenes utilizando Diffusers, liberaría para Python de Stable Diffussion, en particular usando el modelo DreamLike Anime 1.0. La creación de audios también la pude automatizar (ver https://www.text-to-speech.online/). Todo esto luego lo compilaba a mano en Canva.com. Gracias a esto pude bajar el tiempo de producción de dos horas a 30 minutos donde debía prestar atención.

Utilizando MoviePy fui capaz de comenzar a automatizar parte de la compilación del video generado con voz e imágenes. Más adelante fui capaz de automatizar todo el proceso con intro, outro y música de fondo utilizando la misma librería. Esto permitió bajar el tiempo de creación a una hora ya que se generaban imágenes con errores y debía corregirlas.

Hasta ahí parecía muy lineal el proceso y cuando habían errores tenía que modificar a mano, lo cual generaba mucho tiempo perdido en correcciones, es ahí que se me ocurrió utilizar una máquina de estados para tener más claridad en el flujo de trabajo y su estado, permitiendome hacer ajustes al proceso con un mínimo de esfuerzo. Para esto utilicé https://python-statemachine.readthedocs.io/en/latest/.

Máquina de estados, imagen generada con Python State Machine

Al poder hacer cambios en el flujo de trabajo de forma sencilla, me permitió concentrarme en otros puntos tales como mejorar los prompts para crear la historia y las imágenes, ajustes en la configuración de la generación de imágenes y también dedicarme a entender más al público.

El flujo actual, (por falta de confianza) pide interacción en tres momentos:

  • Crear la historia (esto requiere ajustes de lo que devuelve ChatGPT).
  • Aceptar o rechazar imágenes, el asistente comienza a desplegar las imágenes generadas y el contexto, pidiendo confirmación o rechazo de la imagen, volviendo a encolarla para su recreación con un seed diferente.
  • Generación del video final, esto implica aceptar la preview y generar imágenes de mejor calidad y resolución (Upscale).

Ya con un flujo casi desatendido desde la creación del video hasta la subida a YouTube, los tiempos de atención bajaron a menos de 15 minutos, el resto es tiempo de procesamiento. Dado que proceso la mayor parte de la generación en mi propia computadora (utilizando una tarjeta NVIDIA GeForce GTX 1060) y la generación de audios o API de YouTube no llega a pasar la cuota gratuita mensual, el costo es casi despreciable.

Captura de Visual Studio Code y el generador de imagenes

ToDo: La evolución de DotBot Media Maker

  • Automatización de flujo E2E a través de un asistente con interfaz web.
  • Despliegue en Cloud para poder ejecutar el servicio desde cualquier lugar.
  • Utilización de Digital Twins para crear contenido (más) relevante.
  • Crear contenido a través de sugerencias de la comunidad, ya sea por encuestas, email o incluso en vivo a través de Twitch.
  • Generalizar el creador para generar otros tipos de contenidos.
  • Cambiar imágenes estáticas por animaciones (https://www.pika.art/ o Gen2?). El contenido animado es algo sumamente importante para mantener el interés de los chicos.
  • [WIP] Generación de thumbnails atractivos para aumentar la cantidad de clicks (https://theresanaiforthat.com/s/thumbnail/).

Ensayo y error: verdadera Agilidad

Todo este proceso automatizado me permitió enfocar mis esfuerzos en aprender y entender: cómo YouTube recomienda videos, cómo lograr más vistas, cómo aumentar el interés. Si bien no tengo una receta, soy capaz de cambiar y adaptar el proceso creativo de forma sencilla y sin costos, permitiendome equivocarme todas las veces que sea necesario (aunque muchas veces esto implica perder suscriptores).

Por cada video genero una hipótesis y la valido esperando una cantidad X de vistas. La hipótesis más loca que tuve fue: “Si mis padres comparten el video con sus redes, puedo generar más de 100 vistas el primer día”. El experimento no solo dio el resultado esperado sino que lo sobrepasó (ahora mis padres son influencers de DotBot :D).

Aquí podemos observar un verdadero proceso empírico que permite adaptarse a los cambios y la complejidad del desafío seleccionado.

Conclusiones

Si bien no todo el contenido generado genera miles de vistas ni miles de likes, lo generado hasta ahora a logrado en pocos meses tener una comunidad de 350+ seguidores, número que se mantiene.

La creación de contenido es sencilla y lleva muy poco tiempo de intervención humana, por lo que el costo es casi cero (sin tener en cuenta la energía gastada).

El mayor desafío está en entender los gustos de los suscriptores y seguir generando contenido relevante para su retención.

Crear y mantener software que utiliza AIs generativas es bastante sencillo y tiene una comunidad enorme y siempre dispuesta a colaborar.

Por último, si aún no se convencieron que es un área interesante para explorar, les dejo el último informe del Hype Chart de Gartner.

Les dejo el último video utilizando el proceso hasta ahora con el thumbnail generado a mano:

Otros artículos interesantes

¿Aún sigues leyendo?

Suscríbete a la lista de correo ya que los próximos artículos saldran en una versión “early” para los suscriptores :)

Update: descubrí con este post que existe la funcionalidad “des-ver” https://twitter.com/futuristsenpai/status/1709584380681728407?t=GrYzjka874Lw1pZufbmasQ&s=19 (idea del nombre de la funcionalidad by Lucho)

--

--

Fabian Bozoglilanian

Ingeniero de Sistemas y Líder Agile | Experto en Innovación Disruptiva y Eficiencia Organizacional