Tutorial para principiantes: Gestión de buckets y objetos de Google Cloud Storage con n8n

Avanzado

Este es unFile Management, Multimodal AIflujo de automatización del dominio deautomatización que contiene 18 nodos.Utiliza principalmente nodos como Set, ManualTrigger, Agent, OpenAi, GoogleCloudStorage. Gestión de Google Cloud Storage con generación de imágenes de IA GPT-4 Mini

Requisitos previos
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "nSlsWDi56czfBf3u",
  "meta": {
    "instanceId": "4a2e6764ba7a6bc9890d9225f4b21d570ce88fc9bd57549c89057fcee58fed0f",
    "templateCredsSetupCompleted": true
  },
  "name": "Beginner’s Tutorial: Manage Google Cloud Storage Buckets and Objects with n8n",
  "tags": [
    {
      "id": "NacOgNreMya1Dsve",
      "name": "google cloud",
      "createdAt": "2025-08-17T07:30:47.533Z",
      "updatedAt": "2025-08-17T07:30:47.533Z"
    }
  ],
  "nodes": [
    {
      "id": "45a84f10-bd83-4896-8419-1e7ef93377c5",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        448,
        248
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9ba48335-7513-4c59-a727-c2bdb45241aa",
      "name": "Generar una imagen",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        752,
        24
      ],
      "parameters": {
        "prompt": "={{ $json.output }}",
        "options": {},
        "resource": "image"
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "bb4afa1e-8c09-402c-bc36-ba6f4f973a48",
      "name": "Agente de Generación de Prompt",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        352,
        24
      ],
      "parameters": {
        "text": "=You're prompt generator agent, you will create prompt for the open-ai image generation model with a random topic among:\n- Education\n- Science \n- Sport\n- Economy\n- Health\nOutput the prompt only, nothing else",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.1
    },
    {
      "id": "127f18fb-aba1-4524-9ffe-874571d0e1cc",
      "name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -320,
        -124
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b985d495-9156-4b5b-9042-163c13095bd0",
      "name": "Editar Campos",
      "type": "n8n-nodes-base.set",
      "position": [
        -96,
        -124
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "af3e6c69-fbfe-49f4-9c29-3a68a821c5a6",
              "name": "project_id",
              "type": "string",
              "value": "n8n-project-467007"
            },
            {
              "id": "1a693ae0-2ba0-4b1b-a00a-4399a8d3ab57",
              "name": "location",
              "type": "string",
              "value": "asia-southeast1"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "771db667-e53d-44da-9493-62aac39fbf6c",
      "name": "Obtener lista de Buckets para un proyecto dado",
      "type": "n8n-nodes-base.googleCloudStorage",
      "position": [
        128,
        -272
      ],
      "parameters": {
        "projectId": "={{ $json.project_id }}",
        "requestOptions": {}
      },
      "credentials": {
        "googleCloudStorageOAuth2Api": {
          "id": "SW5pWMqnAkS2RL3K",
          "name": "Google Cloud Storage account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "cc89fc60-4a79-45f9-af40-99425e9eb1e9",
      "name": "Crear un nuevo Bucket",
      "type": "n8n-nodes-base.googleCloudStorage",
      "position": [
        128,
        24
      ],
      "parameters": {
        "createAcl": {},
        "operation": "create",
        "projectId": "={{ $json.project_id }}",
        "bucketName": "=bucket{{ $workflow.id.toLowerCase() }}{{ $now.format('hhmm') }}",
        "createBody": {
          "dataLocations": "=[ {{ $json.location }}]"
        },
        "requestOptions": {}
      },
      "credentials": {
        "googleCloudStorageOAuth2Api": {
          "id": "SW5pWMqnAkS2RL3K",
          "name": "Google Cloud Storage account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b23df0ef-1fa9-41b4-97dd-9493f58ca7af",
      "name": "Sin Operación, no hacer nada",
      "type": "n8n-nodes-base.noOp",
      "position": [
        440,
        -272
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "bbda235c-aecb-4d0b-9174-eb5046017402",
      "name": "Crear un objeto",
      "type": "n8n-nodes-base.googleCloudStorage",
      "position": [
        976,
        24
      ],
      "parameters": {
        "resource": "object",
        "operation": "create",
        "bucketName": "={{ $('Create a new Bucket').item.json.name }}",
        "createData": {},
        "objectName": "=object_{{ $now.format('yyyyMMdd') }}.{{ $json.fileExtension }}",
        "createQuery": {},
        "requestOptions": {},
        "encryptionHeaders": {}
      },
      "credentials": {
        "googleCloudStorageOAuth2Api": {
          "id": "SW5pWMqnAkS2RL3K",
          "name": "Google Cloud Storage account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4c62f2ea-3891-46fd-bd3c-f3b9cabe2566",
      "name": "Eliminar un objeto de un bucket",
      "type": "n8n-nodes-base.googleCloudStorage",
      "position": [
        1200,
        24
      ],
      "parameters": {
        "resource": "object",
        "operation": "delete",
        "bucketName": "={{ $json.bucket }}",
        "objectName": "={{ $json.name }}",
        "getParameters": {},
        "requestOptions": {}
      },
      "credentials": {
        "googleCloudStorageOAuth2Api": {
          "id": "SW5pWMqnAkS2RL3K",
          "name": "Google Cloud Storage account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0f7d43ea-ca03-4fb5-a13c-ce238a16158d",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1680,
        -640
      ],
      "parameters": {
        "width": 1200,
        "height": 1280,
        "content": "# Beginner’s Tutorial: Manage Google Cloud Storage Buckets and Objects with n8n\n\n## **Who’s it for**\n- Beginners who want to learn how to automate Google Cloud Storage (GCS) operations with n8n.  \n- Developers who want to combine **AI image generation** with **cloud storage management**.  \n- Anyone looking for a simple introduction to working with **Buckets** and **Objects** in GCS.  \n\n## **How it works / What it does**\nThis workflow demonstrates end-to-end usage of **Google Cloud Storage** with AI integration:  \n\n1. **Trigger:** Start manually by clicking *Execute Workflow*.  \n2. **Edit Fields:** Provide input values (e.g., bucket name or image description).  \n3. **List Buckets:** Retrieve all existing buckets in the project (branch: view only).  \n4. **Create Bucket:** If needed, create a new bucket to store objects.  \n5. **Prompt Generation Agent:** Use an AI model to generate a creative text prompt.  \n6. **Generate Image:** Convert the AI-generated prompt into an image.  \n7. **Upload Object:** Store the generated image as an object in the selected bucket.  \n8. **Delete Object:** Clean up by removing the uploaded object if required.  \n\nThis shows the full lifecycle: *Bucket → Object (Create/Upload/Delete)* combined with AI image generation.  \n\n## **How to set up**\n1. **Trigger the workflow:** Use the *When clicking Execute workflow* node to start manually.  \n2. **Provide inputs:** In *Edit Fields*, specify details such as bucket name or description text for the image.  \n3. **List buckets:** Use the *List Buckets* node to see what exists.  \n4. **Create a bucket:** Use *Create Bucket* if you want a new storage bucket.  \n5. **Generate prompt & image:**  \n   - The *Prompt Generation Agent* uses an OpenAI Chat Model to create an image prompt.  \n   - The *Generate an Image* node turns this prompt into an actual image.  \n6. **Upload to bucket:** Use *Create Object* to upload the generated image into your GCS bucket.  \n7. **Delete object (optional):** Use *Delete Object* to remove the file from the bucket as a cleanup step.  \n\n## **Requirements**\n- An active **Google Cloud account** with **Cloud Storage API enabled**.  \n- A **Service Account Key (JSON)** credential added in n8n for GCS.  \n- An **OpenAI API Key** configured in n8n for the prompt and image generation nodes.  \n- Basic familiarity with running workflows in n8n.  \n  \n## **How to customize the workflow**\n- **Different object types:** Instead of images, upload PDFs, logs, or text files.  \n- **Automatic cleanup:** Skip the delete step if you want objects to persist.  \n- **Schedule trigger:** Replace manual execution with a weekly or daily schedule.  \n- **Dynamic prompts:** Accept user input from a form or webhook to generate images.  \n- **Multi-bucket management:** Extend the logic to manage multiple buckets across projects.  \n- **Notifications:** Add a Slack/Email step after upload to notify your team with the object URL.  \n\n✅ By the end of this tutorial, you’ll understand how to:  \n- Work with **Buckets** (list, create).  \n- Work with **Objects** (upload, delete).  \n- Integrate **AI image generation** with Google Cloud Storage.  "
      },
      "typeVersion": 1
    },
    {
      "id": "583e8c1e-2656-4826-a44f-3473e2ce63df",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -304
      ],
      "parameters": {
        "width": 352,
        "height": 112,
        "content": "### 1. Start the Workflow\nBegin by manually executing the workflow. This helps you test and understand each step before automating it with a schedule."
      },
      "typeVersion": 1
    },
    {
      "id": "93a9d84f-15ee-4abc-88b2-2ded850d044d",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        48
      ],
      "parameters": {
        "height": 128,
        "content": "### 2. Provide Input Fields\nFill in the required fields such as the bucket name and image description. These inputs will guide how the workflow runs."
      },
      "typeVersion": 1
    },
    {
      "id": "54648e02-71b1-4cb9-93c1-0911a8752a27",
      "name": "Nota Adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        -512
      ],
      "parameters": {
        "height": 192,
        "content": "### 3. List all the current Google Cloud Storage buckets \nList all the current Google Cloud Storage buckets in your project. This lets you see what’s already available before creating new ones.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2102a37c-3c07-4629-b31e-24b1d093973d",
      "name": "Nota Adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        240
      ],
      "parameters": {
        "height": 128,
        "content": "### 4. Create a New Bucket\nIf the bucket you want does not exist, the workflow can create a new bucket for you automatically."
      },
      "typeVersion": 1
    },
    {
      "id": "401fb591-bb05-484c-8b50-48ad51f68e60",
      "name": "Nota Adhesiva5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        352,
        -144
      ],
      "parameters": {
        "width": 496,
        "content": "\n### 5. Generate an AI Prompt\n- Use the AI agent to turn your simple input into a more descriptive or creative prompt. This will be used for image generation.\n- Send the AI-generated prompt to the image generation node and produce an image file."
      },
      "typeVersion": 1
    },
    {
      "id": "8129411b-27a2-4d11-ab54-e73a7af4042c",
      "name": "Nota Adhesiva6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        912,
        240
      ],
      "parameters": {
        "height": 144,
        "content": "### 7. Upload the Image to a Bucket\nTake the generated image and upload it as an object inside your chosen Google Cloud Storage bucket."
      },
      "typeVersion": 1
    },
    {
      "id": "a6246de7-0736-4040-af21-18b337e3e524",
      "name": "Nota Adhesiva7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1184,
        -176
      ],
      "parameters": {
        "content": "### 8. Delete the Object (Optional)\nIf you no longer need the file, the workflow can also remove the object from the bucket to keep storage clean."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "3f6f80f3-c6fd-4640-b5c2-2f3c89eec940",
  "connections": {
    "b985d495-9156-4b5b-9042-163c13095bd0": {
      "main": [
        [
          {
            "node": "771db667-e53d-44da-9493-62aac39fbf6c",
            "type": "main",
            "index": 0
          },
          {
            "node": "cc89fc60-4a79-45f9-af40-99425e9eb1e9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bbda235c-aecb-4d0b-9174-eb5046017402": {
      "main": [
        [
          {
            "node": "4c62f2ea-3891-46fd-bd3c-f3b9cabe2566",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9ba48335-7513-4c59-a727-c2bdb45241aa": {
      "main": [
        [
          {
            "node": "bbda235c-aecb-4d0b-9174-eb5046017402",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "45a84f10-bd83-4896-8419-1e7ef93377c5": {
      "ai_languageModel": [
        [
          {
            "node": "bb4afa1e-8c09-402c-bc36-ba6f4f973a48",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "cc89fc60-4a79-45f9-af40-99425e9eb1e9": {
      "main": [
        [
          {
            "node": "bb4afa1e-8c09-402c-bc36-ba6f4f973a48",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bb4afa1e-8c09-402c-bc36-ba6f4f973a48": {
      "main": [
        [
          {
            "node": "9ba48335-7513-4c59-a727-c2bdb45241aa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "127f18fb-aba1-4524-9ffe-874571d0e1cc": {
      "main": [
        [
          {
            "node": "b985d495-9156-4b5b-9042-163c13095bd0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "771db667-e53d-44da-9493-62aac39fbf6c": {
      "main": [
        [
          {
            "node": "b23df0ef-1fa9-41b4-97dd-9493f58ca7af",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Gestión de archivos, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Flujos de trabajo relacionados recomendados

Tutorial para principiantes: Usar n8n para administrar contenedores y blobs de Azure Storage
Usar DALL-E y Azure Blob Storage para generar y almacenar imágenes de IA
Set
Azure Storage
Manual Trigger
+
Set
Azure Storage
Manual Trigger
21 NodosTrung Tran
Creación de contenido
Plantilla de inicio para arquitectura de múltiples agentes
Planificación colaborativa de ventas: Multiagente de IA, Google Docs y Slack
Set
Slack
Google Drive
+
Set
Slack
Google Drive
24 NodosTrung Tran
Extracción de documentos
Flujo de trabajo de creación de libros con múltiples agentes usando AI Tool Node, GPT-4 y DALL-E
Usa GPT-4.1-mini, DALL-E, Google Drive y AWS S3 para crear libros generados por IA
Set
Aws S3
Markdown
+
Set
Aws S3
Markdown
25 NodosTrung Tran
Creación de contenido
Plantilla de flujo de trabajo de API de crawler Decodo (automatización de informes de compra de libros de Amazon con n8n)
Extraer datos de libros de Amazon y generar un informe de compra con el rastreador Decodo y GPT 4.1 mini
Set
Code
Slack
+
Set
Code
Slack
22 NodosTrung Tran
Resumen de IA
Generador de PDF gratuito en n8n – sin bibliotecas externas ni servicios de pago
Usar OpenAI, Google Docs y Slack para generar y compartir PDFs profesionales
Set
Slack
Google Drive
+
Set
Slack
Google Drive
20 NodosTrung Tran
Extracción de documentos
Construir un Chatbot Impulsado por IA para la Evaluación de Candidatos en Slack
Análisis de CV con IA y Evaluación de Candidatos: Integración de Slack y Hojas de Cálculo de Google
If
Code
Slack
+
If
Code
Slack
29 NodosTrung Tran
Chatbot de IA
Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos18
Categoría2
Tipos de nodos8
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Trung Tran

Trung Tran

@trungtran

Empowering small and medium businesses with smart automation and practical AI, no big tech team required.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34