Tutorial para principiantes: Gestión de buckets y objetos de Google Cloud Storage con n8n
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
- •Clave de API de OpenAI
Nodos utilizados (18)
Categoría
{
"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
}
]
]
}
}
}¿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
Trung Tran
@trungtranEmpowering small and medium businesses with smart automation and practical AI, no big tech team required.
Compartir este flujo de trabajo