From 3a4409e6ea8bcdda1cee5333db4e9987b696c7b9 Mon Sep 17 00:00:00 2001 From: Isaac_Aracena Date: Sun, 9 Aug 2026 04:01:07 +0000 Subject: [PATCH] =?UTF-8?q?Update=20backup:=20GLM=20Hub=20-=20Generar=20?= =?UTF-8?q?=C3=ADcono=20con=20Gemini?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- glm-hub-generar-icono-con-gemini.json | 240 +++++++++++++++++++++----- 1 file changed, 199 insertions(+), 41 deletions(-) diff --git a/glm-hub-generar-icono-con-gemini.json b/glm-hub-generar-icono-con-gemini.json index c4e455a..5785211 100644 --- a/glm-hub-generar-icono-con-gemini.json +++ b/glm-hub-generar-icono-con-gemini.json @@ -1,5 +1,5 @@ { - "updatedAt": "2026-07-29T18:48:09.844Z", + "updatedAt": "2026-08-03T13:45:01.318Z", "createdAt": "2026-07-28T16:18:07.824Z", "id": "F2rMlVS9mBypNNn7", "name": "GLM Hub - Generar ícono con Gemini", @@ -21,7 +21,7 @@ "type": "n8n-nodes-base.webhook", "typeVersion": 2.1, "position": [ - -2992, + -3712, 464 ], "webhookId": "bc20a398-5ecf-42a2-9d17-9396aa278708" @@ -35,7 +35,7 @@ "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ - -2736, + -3456, 464 ] }, @@ -69,7 +69,7 @@ "type": "n8n-nodes-base.if", "typeVersion": 2.2, "position": [ - -2512, + -3232, 464 ] }, @@ -94,8 +94,8 @@ "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.4, "position": [ - -2272, - 640 + -2928, + 576 ] }, { @@ -223,8 +223,8 @@ "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ - -1600, - 272 + -864, + 352 ] }, { @@ -246,8 +246,8 @@ "type": "@n8n/n8n-nodes-langchain.googleGemini", "typeVersion": 1.2, "position": [ - -1360, - 272 + -96, + 384 ], "credentials": { "googlePalmApi": { @@ -290,8 +290,8 @@ "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.4, "position": [ - -1072, - 192 + 192, + 304 ] }, { @@ -303,8 +303,8 @@ "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ - -1072, - 384 + 768, + 464 ] }, { @@ -328,9 +328,88 @@ "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.4, "position": [ - -832, - 384 + 1008, + 464 ] + }, + { + "parameters": { + "content": "## 1. RECEPCIÓN Y VALIDACIÓN\n\nRecibe desde GLM Hub la solicitud para generar el icono y valida que la información obligatoria esté completa.\n\n- Comprueba los datos de la aplicación y la descripción del icono.\n- Normaliza la información recibida antes de continuar.\n- Detiene el proceso cuando faltan datos o la solicitud es incorrecta.\n- Devuelve una respuesta HTTP 400 para solicitudes inválidas.", + "height": 512, + "width": 1104, + "color": 2 + }, + "type": "n8n-nodes-base.stickyNote", + "typeVersion": 1, + "position": [ + -3824, + 240 + ], + "id": "0df68d74-d3c2-4257-be79-7a91077c3a07", + "name": "Sticky Note" + }, + { + "parameters": { + "content": "## 2. AUTORIZACIÓN DEL USUARIO\n\nConsulta Supabase para comprobar que la persona que solicita la generación del icono tenga permisos de administrador.\n\n- Busca el perfil y los permisos del usuario autenticado.\n- Normaliza el resultado devuelto por Supabase.\n- Permite continuar únicamente a administradores autorizados.\n- Devuelve una respuesta HTTP 403 cuando el usuario no tiene permisos.", + "height": 544, + "width": 976, + "color": "#891F3A" + }, + "type": "n8n-nodes-base.stickyNote", + "typeVersion": 1, + "position": [ + -2368, + 176 + ], + "id": "6133d6fd-9c82-40d2-8343-ceb670ec9410", + "name": "Sticky Note1" + }, + { + "parameters": { + "content": "## 3. PREPARACIÓN DEL PROMPT\n\nConstruye las instrucciones que se enviarán a Gemini para generar un icono adecuado para la aplicación.\n\n- Utiliza el nombre, la descripción y el propósito de la aplicación.\n- Define el estilo visual requerido para los iconos de GLM Hub.\n- Evita textos, marcas de agua y elementos innecesarios.\n- Prepara un prompt claro y consistente para obtener mejores resultados.", + "height": 384, + "width": 832, + "color": 7 + }, + "type": "n8n-nodes-base.stickyNote", + "typeVersion": 1, + "position": [ + -1216, + 160 + ], + "id": "cf146dba-5bed-4158-83bc-b55c268b1837", + "name": "Sticky Note2" + }, + { + "parameters": { + "content": "## 4. GENERACIÓN DEL ICONO\n\nEnvía el prompt a Gemini, genera la imagen y devuelve el icono al GLM Hub cuando el proceso finaliza correctamente.\n\n- Solicita a Gemini la creación del icono.\n- Recibe la imagen generada por el modelo.\n- Devuelve el resultado mediante la respuesta del webhook.\n- Permite que el GLM Hub utilice el icono generado en la aplicación.", + "height": 528, + "width": 592, + "color": 3 + }, + "type": "n8n-nodes-base.stickyNote", + "typeVersion": 1, + "position": [ + -192, + 80 + ], + "id": "2fc45b39-21af-4151-90c8-0299f6a5a527", + "name": "Sticky Note3" + }, + { + "parameters": { + "content": "## 5. CONTROL DE ERRORES DE GEMINI\n\nGestiona los fallos que puedan producirse durante la generación de la imagen y devuelve una respuesta controlada al GLM Hub.\n\n- Captura errores técnicos o respuestas fallidas de Gemini.\n- Prepara un mensaje comprensible para el usuario.\n- Evita que el workflow termine sin una respuesta.\n- Informa que el icono no pudo generarse para que pueda intentarse nuevamente.", + "height": 384, + "width": 704 + }, + "type": "n8n-nodes-base.stickyNote", + "typeVersion": 1, + "position": [ + 544, + 256 + ], + "id": "2caf2891-ccdf-434b-b773-5a4dca43e4a4", + "name": "Sticky Note4" } ], "connections": { @@ -464,9 +543,9 @@ "meta": { "templateCredsSetupCompleted": true }, - "versionId": "ce03fd5f-2d70-44f1-b1e2-b31fc92ddf62", - "activeVersionId": "ce03fd5f-2d70-44f1-b1e2-b31fc92ddf62", - "versionCounter": 75, + "versionId": "b743c332-a154-44c3-a9c5-6c433e352520", + "activeVersionId": "b743c332-a154-44c3-a9c5-6c433e352520", + "versionCounter": 115, "triggerCount": 1, "shared": [ { @@ -489,9 +568,9 @@ ], "tags": [], "activeVersion": { - "updatedAt": "2026-07-28T20:24:18.000Z", - "createdAt": "2026-07-28T20:23:55.454Z", - "versionId": "ce03fd5f-2d70-44f1-b1e2-b31fc92ddf62", + "updatedAt": "2026-08-03T13:45:11.000Z", + "createdAt": "2026-08-03T13:45:01.320Z", + "versionId": "b743c332-a154-44c3-a9c5-6c433e352520", "workflowId": "F2rMlVS9mBypNNn7", "nodes": [ { @@ -508,7 +587,7 @@ "type": "n8n-nodes-base.webhook", "typeVersion": 2.1, "position": [ - -2992, + -3712, 464 ], "webhookId": "bc20a398-5ecf-42a2-9d17-9396aa278708" @@ -522,7 +601,7 @@ "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ - -2736, + -3456, 464 ] }, @@ -556,7 +635,7 @@ "type": "n8n-nodes-base.if", "typeVersion": 2.2, "position": [ - -2512, + -3232, 464 ] }, @@ -581,8 +660,8 @@ "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.4, "position": [ - -2272, - 640 + -2928, + 576 ] }, { @@ -710,8 +789,8 @@ "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ - -1600, - 272 + -864, + 352 ] }, { @@ -733,8 +812,8 @@ "type": "@n8n/n8n-nodes-langchain.googleGemini", "typeVersion": 1.2, "position": [ - -1360, - 272 + -96, + 384 ], "credentials": { "googlePalmApi": { @@ -777,8 +856,8 @@ "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.4, "position": [ - -1072, - 192 + 192, + 304 ] }, { @@ -790,8 +869,8 @@ "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ - -1072, - 384 + 768, + 464 ] }, { @@ -815,9 +894,88 @@ "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.4, "position": [ - -832, - 384 + 1008, + 464 ] + }, + { + "parameters": { + "content": "## 1. RECEPCIÓN Y VALIDACIÓN\n\nRecibe desde GLM Hub la solicitud para generar el icono y valida que la información obligatoria esté completa.\n\n- Comprueba los datos de la aplicación y la descripción del icono.\n- Normaliza la información recibida antes de continuar.\n- Detiene el proceso cuando faltan datos o la solicitud es incorrecta.\n- Devuelve una respuesta HTTP 400 para solicitudes inválidas.", + "height": 512, + "width": 1104, + "color": 2 + }, + "type": "n8n-nodes-base.stickyNote", + "typeVersion": 1, + "position": [ + -3824, + 240 + ], + "id": "0df68d74-d3c2-4257-be79-7a91077c3a07", + "name": "Sticky Note" + }, + { + "parameters": { + "content": "## 2. AUTORIZACIÓN DEL USUARIO\n\nConsulta Supabase para comprobar que la persona que solicita la generación del icono tenga permisos de administrador.\n\n- Busca el perfil y los permisos del usuario autenticado.\n- Normaliza el resultado devuelto por Supabase.\n- Permite continuar únicamente a administradores autorizados.\n- Devuelve una respuesta HTTP 403 cuando el usuario no tiene permisos.", + "height": 544, + "width": 976, + "color": "#891F3A" + }, + "type": "n8n-nodes-base.stickyNote", + "typeVersion": 1, + "position": [ + -2368, + 176 + ], + "id": "6133d6fd-9c82-40d2-8343-ceb670ec9410", + "name": "Sticky Note1" + }, + { + "parameters": { + "content": "## 3. PREPARACIÓN DEL PROMPT\n\nConstruye las instrucciones que se enviarán a Gemini para generar un icono adecuado para la aplicación.\n\n- Utiliza el nombre, la descripción y el propósito de la aplicación.\n- Define el estilo visual requerido para los iconos de GLM Hub.\n- Evita textos, marcas de agua y elementos innecesarios.\n- Prepara un prompt claro y consistente para obtener mejores resultados.", + "height": 384, + "width": 832, + "color": 7 + }, + "type": "n8n-nodes-base.stickyNote", + "typeVersion": 1, + "position": [ + -1216, + 160 + ], + "id": "cf146dba-5bed-4158-83bc-b55c268b1837", + "name": "Sticky Note2" + }, + { + "parameters": { + "content": "## 4. GENERACIÓN DEL ICONO\n\nEnvía el prompt a Gemini, genera la imagen y devuelve el icono al GLM Hub cuando el proceso finaliza correctamente.\n\n- Solicita a Gemini la creación del icono.\n- Recibe la imagen generada por el modelo.\n- Devuelve el resultado mediante la respuesta del webhook.\n- Permite que el GLM Hub utilice el icono generado en la aplicación.", + "height": 528, + "width": 592, + "color": 3 + }, + "type": "n8n-nodes-base.stickyNote", + "typeVersion": 1, + "position": [ + -192, + 80 + ], + "id": "2fc45b39-21af-4151-90c8-0299f6a5a527", + "name": "Sticky Note3" + }, + { + "parameters": { + "content": "## 5. CONTROL DE ERRORES DE GEMINI\n\nGestiona los fallos que puedan producirse durante la generación de la imagen y devuelve una respuesta controlada al GLM Hub.\n\n- Captura errores técnicos o respuestas fallidas de Gemini.\n- Prepara un mensaje comprensible para el usuario.\n- Evita que el workflow termine sin una respuesta.\n- Informa que el icono no pudo generarse para que pueda intentarse nuevamente.", + "height": 384, + "width": 704 + }, + "type": "n8n-nodes-base.stickyNote", + "typeVersion": 1, + "position": [ + 544, + 256 + ], + "id": "2caf2891-ccdf-434b-b773-5a4dca43e4a4", + "name": "Sticky Note4" } ], "connections": { @@ -943,15 +1101,15 @@ } }, "authors": "Isaac Aracena", - "name": "Version ce03fd5f", + "name": "Version b743c332", "description": "", "autosaved": true, "workflowPublishHistory": [ { - "createdAt": "2026-07-28T20:24:18.060Z", - "id": 3595, + "createdAt": "2026-08-03T13:45:11.216Z", + "id": 3848, "workflowId": "F2rMlVS9mBypNNn7", - "versionId": "ce03fd5f-2d70-44f1-b1e2-b31fc92ddf62", + "versionId": "b743c332-a154-44c3-a9c5-6c433e352520", "event": "activated", "userId": "0a88c0b1-928e-4412-896e-c5d1c99b2029" }