Update backup: GLM Hub - Generar ícono con Gemini

This commit is contained in:
2026-08-09 04:01:07 +00:00
parent d2a2a5fb81
commit 3a4409e6ea
+199 -41
View File
@@ -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"
}