Tutoriel pour débutants : Utiliser n8n pour gérer les buckets et les objets de Google Cloud Storage
Ceci est unFile Management, Multimodal AIworkflow d'automatisation du domainecontenant 18 nœuds.Utilise principalement des nœuds comme Set, ManualTrigger, Agent, OpenAi, GoogleCloudStorage. utilisationGPT-4 Mini AI图像générationgestionGoogle Cloud Storage
- •Clé API OpenAI
Nœuds utilisés (18)
Catégorie
{
"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": "Générer une image",
"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": "Agent de Génération 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": "Au clic sur 'Exécuter le workflow'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-320,
-124
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b985d495-9156-4b5b-9042-163c13095bd0",
"name": "Modifier les champs",
"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": "Obtenir la liste des Buckets pour un projet donné",
"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": "Créer un nouveau 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": "Aucune Opération, ne rien faire",
"type": "n8n-nodes-base.noOp",
"position": [
440,
-272
],
"parameters": {},
"typeVersion": 1
},
{
"id": "bbda235c-aecb-4d0b-9174-eb5046017402",
"name": "Créer un objet",
"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": "Supprimer un objet d'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": "Note adhésive",
"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": "Note adhésive1",
"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": "Note adhésive2",
"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": "Note adhésive3",
"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": "Note adhésive4",
"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": "Note adhésive5",
"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": "Note adhésive6",
"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": "Note adhésive7",
"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
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Gestion de fichiers, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Trung Tran
@trungtranEmpowering small and medium businesses with smart automation and practical AI, no big tech team required.
Partager ce workflow