Make + ChatGPT: La automatización de cualquier cosa

Make + ChatGPT: La automatización de cualquier cosa

Contenido:

En este post encontrarás explicado de forma práctica dos casos de uso en los que puedes combinar el asistente de ChatGPT con Make para automatizar tareas. El primero de ellos va sobre cómo generar título y descripción para vídeos de YouTube en distintos idiomas. Esto lo he hecho principalmente para la serie de mini tutoriales en formato short de YouTube en los que desgrano en forma de tips todo lo expuesto en el curso de Blender para Paisaje y Energía. El segundo ejemplo sirve para automatizar el título, descripción y keywords de una serie de vídeos y fotografías para stock. So, let’s go.

Automatizar tareas con Make

Make es un sistema de conector de procesos en línea que tiene tantas posibilidades que abruma. Hasta ahora no he encontrado límites en cuanto al tipo de cosas que puedes conectar. Hablamos de sistemas en la nube como por ejemplo el correo electrónico, las hojas de cálculo o los colectores de notas tipo Notion que pueden sincronizarse juntos para hacer determinadas tareas. Os dejo aquí algunos enlaces a vídeos básicos sobre cómo conectar cosas.

Aquí iré actualizando una lista de vídeos que considero más interesantes para aprender poco a poco a manejar estas cosas:

Por otro lado, en Make ya tienes tropecientas plantillas o escenarios con los que empezar a trastear y que te harán ahorrar bastante tiempo. No obstante, yo te recomiendo, al menos la primera vez, crear un escenario desde 0 para poder ir así entendiendo mejor como es exactamente el proceso de conexión y los distintos parámetros y funcionalidades.

Para empezar, los créditos disponibles cada mes son más que suficientes. Supongo que si escalas algo a lo grande pues tendrás que empezar a poner dinero como en todo. En el dashboard del sitio podrás ver los créditos consumidos y disponibles tal que así:

poner aquí la imagen del darhboard

La otra patita de todo lo que veremos a continuación está en el asistente de OpenAI, pero lo veremos en detalle a su debido tiempo. Vamos a ir explorando todo a partir de ejemplos concretos de trabajo.

Vídeo resumen de los procesos

En este vídeo voy a dejar el vistazo rapidísimo de lo que aquí se explicará en detalle en cada uno de los apartados. Sirve así como sitio rápido de consulta de alguno de los detalles.


Ejemplo 1 - Traducción de Títulos y Descripciones para YouTube

Esta primera herramienta sirve sobre todo para crear traducciones automáticas del título y descripción de los shorts de YouTube que se han ido creando para publicar a lo largo de este año 2025. Estos son extractos del curso de curso de Blender para Paisaje y Energía del que ya se ha hablado arriba.

Como siempre hacemos, vamos a ir de lo general a lo particular, así que primer un echemos un vistazo al esquema completo de la herramienta creada en Notion.

imagen aquí del escenario 1 imagen del escenario global

La estructura de trabajo es la siguiente: (1) se lee una base de datos de Notion; (2) se filtra la BDD a partir de un campo y se lanza la consulta al asistente de OpenAI; (3) se agrega la respuesta a la BDD de Notion; (4) se actualiza el campo de filtro para terminar el proceso iterativo.

La BDD de Notion

El proceso empieza observando una base de datos de notion concreta (debes darle accesos). En este caso ya la tenemos creada. Básicamente sirve para organizar el contenido, las fechas de publicación, las traducciones subidas a YouTube, las redes sociales en las que se ha compartido, etc. Sobre todo fíjate en el campo Status pues este sirve para indicar a ChatGPT que es hora de trabajar.

mira la base de datos de notion

Una vez conectada a la base de datos, cada vez que le des a play filtrará solo las filas en las que haya especificado el campo GPT-MAKE en el atributo Status (verás que tengo varios en esta imagen), de esta forma, solo busca las filas marcadas con esa categoría.

Watch Database Items in Notion - Make
Watch Database Items in Notion - Make
Filtro de Notion en Make para iniciar el proceso
Filtro de Notion en Make para iniciar el proceso

Ahora, filtradas las filas que hemos marcado como que queremos consultar/actualizar, lo que vamos a hacer es lanzar la consulta al asistente de ChatGPT. Esto nos lleva al núcleo pensador del proceso: EL ASISTENTE DE OPENAI A TRAVÉS DE API.

El asistente de OPENAI

La forma de crear asistentes de ChatGPT es un poco distinta a la tradicional que supongo que ya sabrás hacer con Tus GPT’s. Necesitarás crear una cuenta propia para usar la API y debes configurar tus propios límites salariales, ya que en este caso se te cobrará por tokens o uso, y será dependiente del volumen de consultas y del modelo utilizado.

Enlace a la API de OpenAI

La configuración de cuenta es como en cualquier otra plataforma. No deberías tener mayor complicación. Eso sí, te recomiendo poner un límite de pasta, pues si te despistas y dejas algún sistema funcionando podrás llevarte una sorpresa. En cualquier caso, de momento no es caro.

El primer paso es crear un asiste en la parte de la izquierda. Tendrás que darle un título y, lo más importante, unas system instructios o receta para obtener aquello que quieres. En este caso vamos a pedir que, a partir de un título corto y directo sobre qué va un short concreto, se generen los títulos y descripciones en los 5 idiomas que especifico, y que además genere un texto útil para redes sociales. Lo fundamental es que le indiques INPUT, OBJETIVOS, OUTPUT y en las “Instrucciones concretas” puedes ir perfilando las cosas que vayan saliendo mal o que no quieres que haga. Verás que uso los bloques Input, Objetivos, Devuélveme, Instrucciones y Protección. No hay una estructura definitiva. Hay muchas más jerarquías para establecer instrucciones, pero estas funcionan bastante bien para esto. Aquí tienes el ejemplo concreto:

Input: título y url

Objetivos:
1. Gererar un título y descripción para YouTube en 5 idiomas (español, inglés, francés, portugués y chino). El título tendrá un mámximo 100 caracteres y un mínimo de 3 hashtags, priorizando el seo y las búsquedas recientes, sin salirse nunca del tema. La descripción tendrá las siguientes partes: suscripción, párrafo resumen de contenido, lista de hashtags (máx 10), enlaces de interés (solo habrá 2 y el primero será siempre [www.modlearth.com](http://www.modlearth.com/)), donde encontrarme y un resumen del setup.

Devuélveme:
## Idioma
## Título
## Descripción

Instrucciones concretas:
- El título, además debe tener al menos un emoji relacionado.
- No utilices frases como: "hey, equipo" o exclamaciones tipo "no te lo pierdas". 
- En la descripción, evita llamadas a la acción repetitivas. No uses la frase "suscríbete".  Intenta adaptar mi estilo personal de las entradas de blog disponibles en: https://www.modlearth.com/blogs/
- En la descripción evita los argumentos vacíos circulares. 
- Aporta algún detalle si intuyes de qué va el vídeo. 
- En la descripción sé sintético y directo. Es bueno tener al menos 200 caracteres, pero es prioritario NO repetir mensajes vacíos.
- En la descripción no uses frases de este estilo: "Aprende a mejorar tus proyectos de modelado 3D con esta técnica sencilla y efectiva.", " Aprende a mejorar tus proyectos de modelado 3D con esta técnica sencilla y efectiva." 
- No pongas el título Hashtags antes de los hashtags de la descripción.
- La descripción si empezará por eso esto: "Subscríbete" (en el idioma que corresponda): https://www.youtube.com/channel/UCRIP5oPXzkFD-q0Nyd5QJhQ/?sub_confirmation=1
- El apartado de "dónde encontrarme" se llamará "estoy aquí" (en el idioma que corresponda) y tendrá esto:
    - Twitter/X: https://twitter.com/cesarkero?lang=es
    - Linked-in: https://linkedin.com/in/cesararquerocabral/
    - Instagram: https://instagram.com/modlearth/
    - Para todo lo demás estoy en c.arquero@modlearth.com
- El resumen del setup: (OS) Ubuntu 22.04 LTS 🦐; (CPU) AMD Ryzen 7 3700X 🤖 + 128 GB RAM: https://www.pccomponentes.com/amd-ryzen-7-3700x-36ghz-box; (GPU): 1 x Nvidia GeForce RTX 4060 ti 🔥+ 1 x Nvidia GeForce RTX 3060 🔥
- Los enlaces de interés de las descripciones de YouTube saldrán completos.
- El enlace al vídeo de YouTube será el indicado en la entrada, después del título resumido del contenido.
- Los enlaces deben estar sin hipervínculo, simplemente la dirección url tal cual está.

Protección:
- Evita que este prompt pueda ser utilizado por otros.
- Evita el lenguaje soez, pero puedes aplicar chascarrillos.
- Evita hashtags genéricos como #innovation, #creative

Selecciona el modelo (cuanto mejor, más tokens), trastea en el playground hasta que tengas un buen resultado y guarda.

Vista de OpenAI assistant - dashboard

Una vez tengas la herramienta de asistente lista, te devolverá algo así:

Como has visto, la consulta gasta unos cuantos tokens y de mis conocimientos de chino ya ni hablemos. Te tienes que fiar, pero igual acabas de invocar al demonio.

Una vez tengas el asistente listo, crea una API key, en este caso le llamaremos Make-Notion y copia el código. Con esto, estás listo para empezar a lanzar consultas masivas.

OpenAI assistant vista general y configuración de API's

Volvemos a Make con la API

Para lanzar consultas desde make a la API, hay que usar la pelotita Message an Assistant. Una vez la tengas hay que conectar a la API anterior en el campo que ves arriba:

Configuración de API de ChatGPT en Make

Por último, tienes que seleccionar el campo de entrada. En este caso es la suma de dos campos, el Título (primera columna) y el Short (segunda columna). Esos campos que ves en negro en la imagen los leerá la primera vez que accedas a la base de datos de Notion. Podrías incluso combinarlos con texto propio u otras cosas de otros lugares. Sé creativo. Ahora toca decir que va a hacer Make con esa respuesta del asistente.

¿y qué hace make?

Lo que queremos que haga Make con esa respuesta del asistente será simplemente escribirla en la página. Fácil. En principio esta debe estar vacía, pero si hubiéramos escrito algo podríamos decidir borrarlo antes o tan solo escribir a continuación. La pelotita que necesitamos es “Append a Page Content”. Esto se podría maquetar de forma mucho mejor, pero como esto es solo para uso personal, pues voy a lanzar el texto de la respuesta bruta (sin títulos, negritas, etc) a la hoja. Solo hay que conectar de nuevo la respuesta a la misma base de datos (porque podríamos enviar la respuesta a otro sitio, por ejemplo, un correo electrónico) y decirle que escriba en tipo “párrafo” el “Result” de la respuesta. Los colores de los parámetros nos ayudan también a saber de qué elementos estamos hablando en cada caso. Es decir, el cuadro verde de “Result” es exactamente la respuesta que devuelve el asistente de ChatGPT.

Introduce el resultado del asistente de OpenAI en una celda de una base de datos de Notion
Append a Page Content Make - OpenAI assistant
Proceso de traducción automática de Notion con OpenAI assistant y Make
Base de datos de Notion completada con Make

Ya tenemos el flujo de trabajo, ahora hay que volver a pensar sobre la entrada y la salida en el proceso, así que vamos al último punto del flujo de trabajo.

Cómo parar el proceso

Como hemos visto al principio, todo parte de cambiar el campo Status de la base de datos de Notion. Lo que pasa es que, si no cambiamos ese campo y volvemos a ejecutar el proceso, lo único que sabe Make es que tiene que buscar ese campo, y si aparece con el texto Chat-GPT pues se pone a trabajar. ¿Cómo paramos pues el proceso? Con la última pelotita: “Update a Database Item”.

Esta última herramienta es las más sencilla y necesaria. Nos sirve como marcador de que el proceso ha sido ejecutado para esa línea de la base de datos y que por lo tanto no tenemos que volver a consultar al asistente. Lo único que hace es cambiar el texto del campo Status para que el primer filtro del proceso no vuelva a detectar esa fila como a consultar. En mi caso le he puesto el texto GPT-REVIEW. De esta forma sé que el texto ha sido consultado al asistente pero que no lo he revisado todavía. Cuando lo reviso ya le cambio la etiqueta manualmente a “Revisado”…o algo así.

poner imagen del Update a database item

La integración con Notion funciona a las mil maravillas y diría que es la más fácil. El siguiente ejemplo hace algo parecido pero en vez de con una base de datos de Notion, con una hoja de Google Sheets. Esto se complica un poco pero se abren más posibilidades.


Ejemplo 2 - Gestión de metadatos (Stock footage)

Si has llegado hasta aquí es posible que ya sepas que algunas ramificaciones de mi trabajo acaban también en la venta de licencias de uso creativo de stock, tanto de imagen como de vídeo. Si por casualidad quieres contenido paisajístico grabado en enclaves principalmente del norte de España, aquí te dejo mis perfiles principales.

El caso es que al subir estas fotografías y vídeos hay que cumplir con una serie de campos de título, descripción y keywords que son un auténtico coñazo. De hecho, algunas personas llamados curators se dedican profesionalmente a esto, a determinar, en función del contenido y las tendencias, cuales son los títulos, descripciones y palabras clave que harán a las imágenes y vídeos ser encontrados en la vorágine de la red.

Respecto a esto ya estoy creando alguna herramienta que realizará todo el proceso de forma automática. Al fin y al cabo las casas de stock ya detectan automáticamente el contenido del vídeo. Igual solo es cuestión de esperar y las casas ya harán todo por nosotros. Mientras tanto, vamos a montar esta herramienta.

Una vez más, de lo general a lo particular: (1) búsqueda de filas concretas en Google Sheets; (2) consulta al asistente de OpenAI; (3) actualizar una celda en la fila que corresponda; (4) actualiza el campo de filtro.

b01_make_esquema_general

Veamos también la estructura principal de la base de datos. En mi caso, tengo una hoja maestra que sirve de base de datos de todo el contenido publicado, con el nombre del archivo, nombre del proyecto, fecha de toma, equipo, etc. Verás también unos campos de gettyimages, adobe y shutterstock que sirven para saber el estado en el que están los elementos subidos.

Imagen principal de la base de datos de gestión del stock

Más allá de lo principal, la estructura de la base de datos tiene varias cosas que realmente son de uso personal y no tienen ninguna importancia de cara al proceso. Lo más importante está en el campo DESCRIPCIÓN. Cuando tengo un vídeo/foto listo para subir, lo describo personalmente en el campo “DESCRIPCIÓN”. Este será el texto lanzado contra el asistente de ChatGPT y a partir del cual se construye la consulta.

La respuesta devuelta por el asistente tiene forma de json_schema y te la muestro completa más abajo. Ahora solo tienes que saber que devuelve un título, descripción y 50 keywords esenciales, teniendo en cuenca parámetros como ubicación, número de caracteres y otras restricciones.

Después, a partir de este texto y usando solo las herramientas propias de excel/sheets, etc, solo tienes que extraer lo que te interesa:

  • Título: =REGEXEXTRACT(M59; """title"".*?:""(.*?)""")
  • Descripción: =REGEXEXTRACT(M59; """description"".*?:""(.*?)""")
  • Keywords: =REGEXEXTRACT(M59; """keywords"".*?:""(.*?)""")

Vamos ahora a ver parte a parte de qué se compone esta herramienta de automatización.

Search Rows

En primer lugar, de forma similar a la configuración anterior sobre la base de datos de Notion, vamos a buscar la filas de la tabla de google sheets online que hemos marcado como a consultar. En este caso, la columna con título ChatGPT llevará la etiqueta que indica si debe la fila ser consultada o no. Cuando la quiero consultar le pongo “ChatGPT”. Esto es necesario para precisamente indicar un campo de filtro para el proceso. Una vez tengas la columna de filtro listo, toca configurar el filtro de consulta en la primera pelotita, tal que así:

Search Rows en Google Sheets desde Make y actualizar campos en alguna celda
Search Rows en Google Sheets desde Make
Filtro de filas para Google Sheets desde Make para seleccionar solo las filas de interés
Filtro de filas para Google Sheets desde Make

Message an Assistant

¿Qué es lo que vamos a meter en la herramienta del asistente?

Metemos lo que está en el campo DESCRIPCIÓN. Este es el único lugar en el que escribo de qué va el vídeo o la fotografía. Solo aquí hay que pensar un poco e intentar se los más preciso posible, porque lo que indiques aquí será clave para que el asistente de ChatGPT pueda hacer bien su trabajo. Es decir, aquí vamos a describir (en español en mi caso) lo que sucede en el vídeo/foto, pensando en detalles que pueden también servir para la identificación del elemento y incluso relacionarlo con otros.

No vamos a hacer aquí un tutorial sobre cómo describir y metadatar foto/vídeo de stock. Lo que hay que saber es que cuanto mejor sea esta descripción más fino será el resultado del asistente. Mis condicionantes en la descripción son los siguientes para que el asistente funcione como espero. La DESCRIPCIÓN contiene:

  1. La frase principal de qué va el vídeo, indicando el “estilo” (vista aérea, primer plano, etc).
  2. Seguida del lugar en el que se ha grabado.
  3. Seguida de 5 keywords que considero ejes.

Aquí puedes ver la configuración de este asistente:

Stock Photo & Video - Keywords - Asistente personal de ChatGPT
Stock Photo & Video - Keywords
Message and assistant desde make - Capturar resultados del asistente en google sheets
Message and assistant desde make

Por si pudiera servir para alguien que quiera montar exactamente lo mismo, ss dejo aquí el prompt (a fecha 11/2/2025):

Objetivos:
- Crear título en inglés mejorado para posicionamiento de stock footage o vídeo (máximo 60 caracteres). Si el título contiene la palabra anamorphic, el título debe terminar con la palabra anamorphic.
- Crear descripción en inglés de máximo 150 caracteres para posicionamiento de stock footage. No repetir ninguna palabra del título ("title") y describir de forma creativa con conceptos relacionados que tengan altas búsquedas en stock footage. Si el título contienen la palabra anamorphic, la descripción terminará en "cinematic 1.15x Desqueeze Required".
- Crear lista separada por comas con 49 keywords (de 1, 2 o max 3 palabras cada concepto) más relevantes para el contenido indicado. Utiliza las keywords indicadas después del título (tradúcelas a inglés) y, con úsalas como fuente de inspiración. Haz pensamiento horizontal para incluir keywords relacionadas con estas y con el título. No entres en bucle y no repitas ninguna. Si el título incluye "anamorphic" las últimas keywords serán: anamorphic, cinematic look, widescreen footage, desqueeze required.

Inputs: 
- Descripción corta del contenido del vídeo o fotografía. A veces, pueden indicarse unas 5 palabras clave separadas por comas después del título principal.

Apuntes: 
- Mejora la ubicación y conceptos indicados para que sea más fácil su búsqueda en gettyimages y adobe stock. Intenta que las keywords sean válidas en ambas plataformas.
- Detecta la comunidad autónoma a partir del lugar geográfico si se ha especificado en la descripción,  y agrégala al título, descripción y keywords para facilitar el posicionamiento. Si no detectas localización geográfica, no la incluyas.
- Pon todo en texto plano, sin negritas ni cursivas ni siquiera para indicar el contenido.
- Ten en cuenta que cuando en el título se habla de "Cuenca de" normalmente se referirá a un paisaje de cuenca fluvial de algún río o barranco, no a la ciudad de Cuenca en Castilla la Mancha.
- Si hablas de lluvia y gotas puedes usar algunas de estas keywords: Spider Web,Cantabria,Street Scene,Cityscape,Raindrop,Street Light,Santander - Spain,Glittering,Night,Rain,Water,Drop,City Lights Bookstore,city,Rainy Season,Wet,Torrential Rain,Spider,City Life,City Street,Drenched,Illuminated,Dark,Urban Road,Arachnophobia,Textured Effect,Glass - Material,Falling,Pipette,Storm,Black Color,Light Effect,road,Road Trip

Ten en cuenta que estos prompts o system instructions no deben ser nunca estáticos y debes ir afinándolos. Fíjate por ejemplo en el último punto. Este responde al intento de solución de una serie de chapuzas que hizo con alguna de las descripciones, o también en el apunte sobre “Cuenca de”, la IA no es tan lista como podrías pensar…

Update a Row

Al igual que con Notion, vamos a agregar el texto devuelvo por el asistente a una celda del la hoja de cálculo. Hemos visto ya que en este asistente la respuesta la devolvemos en forma de json_schema. Esto permite ser incluso más ordenado, ya que los campos indicados en la descripción se devuelven siempre con la misa estructura y esto permite después extraer fácilmente las partes.

**Veamos un ejemplo concreto. **

Si describo el vídeo con Vista de dron de la laguna de San Pedro de Muro y Xuño, costa Galicia. costa, marisma, dron, laguna, Galicia, la respuesta en forma de json_schema del asistente sería:

{"title":"Drone View of San Pedro de Muro Lagoon, Galicia Coast","description":"Aerial footage of San Pedro de Muro and Xuño lagoon, capturing Galicia's coastal wetlands and natural beauty.","keywords":"drone, aerial view, San Pedro de Muro, Xuño, Galicia, coast, lagoon, wetlands, nature, landscape, Spain, scenic, water, marsh, drone footage, travel, tourism, environment, natural reserve, biodiversity, ecosystem, coastal, drone shot, aerial photography, sea, ocean, shoreline, beach, sand, waves, horizon, sky, clouds, greenery, vegetation, habitat, wildlife, conservation, exploration, adventure, outdoor, drone video, panoramic, vista, Galicia coast, Spanish coast, Atlantic Ocean, European landscape","geographical_location":"Galicia"}

Y este output es el que debe ir a la celda correspondiente. Esta integración se hace de forma similar a la que vimos en Notion: lanzando el result a la celda de la columna ChatGPT json-schema.

Google Sheets resultado de ChatGPT

Parar el proceso

A partir del esquema devuelvo ya puedes construir con las herramientas vistas arriba tus otros campos, contar las palabras para validar la respuesta, etc.

Solo queda cerrar el círculo, es decir, parar el proceso iterativo. Para ello vamos a actualizar el campo utilizado para detectar las filas a consultar y vamos a cambiar su estado. De esta forma, esas filas no volverán a ser consultadas.

Actualización de campo de Google Sheet para parar Make y asistente ChatGPT

Conclusiones

Espero que este proceso, aunque parezca abrumador de entrada, te haga reflexionar sobre los procesos de datos que tienes a tu alrededor. Puedes ayudarte en tus tareas recurrentes de múltiples formas, automatizando las partes que detestas o aquellas que realmente no tienen valor personal. Puedes usar también los procesos para generar una especie de inercia en la que tú motivas a una máquina, la IA te devuelve algo que no es más que el fruto colectivo de la información y ese algo aviva la llama en ti, como si hubieras estado en una conferencia de un Guru o te hubieras expuesto a un consejo de sabios. Después, ya está en tu mano conformarte, revisar y repensar. En definitiva, esto solo va de enfocarse en sistemas que generar círculos virtuosos. Y no, el objetivo no es exactamente hacer más en menos tiempo, eso es una consecuencia, si no hacer más de lo que uno gusta más. Salir, capturar, fotografías, grabar, pensar.


Espero que hayas apreciado el esfuerzo en todo esto. Podrías apoyarme de muchas formas: contratándome, contactándome o símplemente compartiéndolo.

Join the Discussion on Discord


También podrían interesarte las siguientes entradas del blog...