This workflow follows the Execute Workflow Trigger → Google Drive recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Edit Image",
"nodes": [
{
"parameters": {
"workflowInputs": {
"values": [
{
"name": "image"
},
{
"name": "request"
},
{
"name": "chatID"
},
{
"name": "pictureID"
}
]
}
},
"type": "n8n-nodes-base.executeWorkflowTrigger",
"typeVersion": 1.1,
"position": [
-460,
-60
],
"id": "36d1e3ee-578f-49b2-9412-2efdb2a8679b",
"name": "When Executed by Another Workflow"
},
{
"parameters": {
"method": "POST",
"url": "https://api.openai.com/v1/images/edits",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"contentType": "multipart-form-data",
"bodyParameters": {
"parameters": [
{
"parameterType": "formBinaryData",
"name": "image",
"inputDataFieldName": "data"
},
{
"name": "prompt",
"value": "={{ $('When Executed by Another Workflow').item.json.request.replace(/\"/g, '') }}"
},
{
"name": "model",
"value": "gpt-image-1"
},
{
"name": "size",
"value": "1024x1024"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
60,
-60
],
"id": "24f80819-532a-48de-880e-04c7542acfdb",
"name": "Edit Image",
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "toBinary",
"sourceProperty": "data[0].b64_json",
"options": {}
},
"type": "n8n-nodes-base.convertToFile",
"typeVersion": 1.1,
"position": [
280,
-60
],
"id": "50f5c317-bf8e-4532-b350-4789f2ba5015",
"name": "Convert to File"
},
{
"parameters": {
"operation": "append",
"documentId": {
"__rl": true,
"value": "1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0",
"mode": "list",
"cachedResultName": "Marketing Team Log",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit#gid=0"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Request": "={{ $('When Executed by Another Workflow').item.json.request }}",
"ID": "={{ $json.id }}",
"Link": "={{ $json.webViewLink }}",
"Title": "={{ $('When Executed by Another Workflow').item.json.image }}",
"Type": "Edit"
},
"matchingColumns": [],
"schema": [
{
"id": "Title",
"displayName": "Title",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Type",
"displayName": "Type",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Request",
"displayName": "Request",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "ID",
"displayName": "ID",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Link",
"displayName": "Link",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Post",
"displayName": "Post",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
820,
80
],
"id": "ec2809d7-1694-44e0-a71a-1211e4bd035d",
"name": "Image Log",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"name": "={{ $('When Executed by Another Workflow').item.json.image }} (Edited).png",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"folderId": {
"__rl": true,
"value": "1TgQu-5hlOzO1X28TMMzLxfhunhPSUIqy",
"mode": "list",
"cachedResultName": "AI Image Generation",
"cachedResultUrl": "https://drive.google.com/drive/folders/1TgQu-5hlOzO1X28TMMzLxfhunhPSUIqy"
},
"options": {}
},
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
580,
80
],
"id": "4a115e36-6499-4f9a-b67d-9f0822aa5828",
"name": "Upload Image",
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"content": "# Edit Image\n",
"height": 260,
"width": 460,
"color": 5
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-20,
-140
],
"id": "5d2f7558-d92f-4210-afad-3e8663ce1c02",
"name": "Sticky Note1"
},
{
"parameters": {
"content": "# Send Content",
"height": 240,
"width": 300,
"color": 6
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
480,
-260
],
"id": "516cd165-3950-4918-9cbc-1e0270158950",
"name": "Sticky Note7"
},
{
"parameters": {
"content": "# Write to Drive & Sheets",
"height": 240,
"width": 540,
"color": 6
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
480,
0
],
"id": "b26da69c-aa27-423d-9300-a91fc06841dd",
"name": "Sticky Note6"
},
{
"parameters": {
"content": "# Trigger\n",
"height": 260,
"width": 260,
"color": 7
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-540,
-140
],
"id": "b41c6e09-ff88-4a00-9bed-99d897a21e86",
"name": "Sticky Note5",
"disabled": true
},
{
"parameters": {
"content": "# Download\n",
"height": 260,
"width": 220,
"color": 3
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-260,
-140
],
"id": "d2ed85a5-a54d-41ec-8ba8-bd81ad3757e8",
"name": "Sticky Note4"
},
{
"parameters": {
"operation": "sendPhoto",
"chatId": "={{ $('When Executed by Another Workflow').item.json.chatID }}",
"binaryData": true,
"additionalFields": {}
},
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
580,
-180
],
"id": "34514a64-8924-41ba-9056-842ed5e53041",
"name": "Send Photo",
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "download",
"fileId": {
"__rl": true,
"value": "={{ $json.pictureID }}",
"mode": "id"
},
"options": {}
},
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
-200,
-60
],
"id": "f8f7c05b-2b9b-43da-9f77-ec1747ce7fdf",
"name": "Download",
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
}
],
"connections": {
"When Executed by Another Workflow": {
"main": [
[
{
"node": "Download",
"type": "main",
"index": 0
}
]
]
},
"Edit Image": {
"main": [
[
{
"node": "Convert to File",
"type": "main",
"index": 0
}
]
]
},
"Convert to File": {
"main": [
[
{
"node": "Send Photo",
"type": "main",
"index": 0
},
{
"node": "Upload Image",
"type": "main",
"index": 0
}
]
]
},
"Upload Image": {
"main": [
[
{
"node": "Image Log",
"type": "main",
"index": 0
}
]
]
},
"Download": {
"main": [
[
{
"node": "Edit Image",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "4779739c-f8eb-4121-bd50-1a6b4e7de753",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "nMBpMe21l4gDEjOI",
"tags": []
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
googleDriveOAuth2ApigoogleSheetsOAuth2ApihttpHeaderAuthtelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
This workflow streamlines image editing by automatically processing files through an external API, converting the results into a usable format, logging details in Google Sheets for easy tracking, and uploading the final version to Google Drive. It's ideal for content creators, marketers, or teams handling visual assets who need quick, consistent edits without manual intervention, saving hours on repetitive tasks. The key step involves the HTTP request to the editing service, which handles the core transformation before seamless integration with your storage and records.
Use this workflow when you receive image edit requests via events from another automation or Telegram bot, ensuring outputs are organised in Google Drive and Sheets for collaboration. Avoid it for complex edits requiring custom AI, as it relies on predefined API calls; opt for manual tools instead. Common variations include adding Telegram notifications for completion alerts or swapping Google Drive for Dropbox to match your storage setup.
About this workflow
Edit Image. Uses executeWorkflowTrigger, httpRequest, convertToFile, googleSheets. Event-driven trigger; 12 nodes.
Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
The Recap AI - Insurance Lawyer Lead Gen. Uses executeWorkflowTrigger, formTrigger, @mendable/n8n-nodes-firecrawl, googleSheets. Event-driven trigger; 33 nodes.
This workflow is designed to take user inputs in order to generate an image using the Riverflow 2.0 model through the Replicate API. It can handle both image generation as well as image editing. Addit
This workflow allows you to send multi-step email campaigns using n8n, Gmail and Google Sheets.
Enrich And Veryify Leads. Uses httpRequest, googleSheets, googleSheetsTrigger. Event-driven trigger; 32 nodes.
This workflow is a comprehensive solution for digital marketers, performance agencies, and e-commerce brands looking to scale their creative testing process on Meta Ads efficiently. It eliminates the