This workflow corresponds to n8n.io template #9079 — we link there as the canonical source.
This workflow follows the Agent → Googlegemini 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 →
{
"nodes": [
{
"id": "5fd2f145-ebbf-41cb-b9a0-b18c2b4f52d3",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-3632,
128
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "bf5d3d2c-5ca8-43a2-a511-551838664ad7",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"maxTries": 2,
"position": [
-1728,
144
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 2.2,
"alwaysOutputData": true,
"waitBetweenTries": 5000
},
{
"id": "4dc7ae88-0acf-4196-92be-f550ac1bdca2",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-1440,
384
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "3d654105-be79-4358-bf60-c14e816ce733",
"name": "Groq Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGroq",
"position": [
-1680,
544
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7483a0a5-451f-4246-b04d-f466c79e5ebf",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-1808,
560
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d1bc72c3-2f07-416c-a111-a70352e6853c",
"name": "RSS Read",
"type": "n8n-nodes-base.rssFeedReadTool",
"position": [
-1472,
608
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "c028f0b6-0481-4780-9846-406a4e61ec9f",
"name": "Create a row",
"type": "n8n-nodes-base.supabase",
"position": [
960,
48
],
"parameters": {},
"typeVersion": 1
},
{
"id": "242ec5e8-8b9e-410c-878f-51d9a1f96e9b",
"name": "AI Agent1",
"type": "@n8n/n8n-nodes-langchain.agent",
"maxTries": 2,
"position": [
-2480,
128
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 2.2,
"alwaysOutputData": true,
"waitBetweenTries": 5000
},
{
"id": "553cf89c-d9ff-47f1-bda1-e1741ede320b",
"name": "Groq Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatGroq",
"position": [
-2768,
544
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7553f0f0-c6dc-4655-9247-0bb4688d79c7",
"name": "RSS Read1",
"type": "n8n-nodes-base.rssFeedReadTool",
"position": [
-2160,
480
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "e0859e59-0eb5-43c3-822d-c3e38f0b67df",
"name": "Google Gemini Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-2512,
464
],
"parameters": {},
"typeVersion": 1
},
{
"id": "8742f8a0-6509-47ef-88e5-efaa7918050b",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
-2208,
128
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "8ad60b61-2c5a-40e9-bec1-5277ba2ddb3e",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
-2112,
-96
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "b5ad482e-779e-4cf5-8e44-7828a0ad8701",
"name": "Google Gemini Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-1296,
656
],
"parameters": {},
"typeVersion": 1
},
{
"id": "988a02a2-a245-41a1-a7ba-dcb26ab92d31",
"name": "Information Extractor",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
-1040,
160
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "23180200-7219-45ba-bceb-7200fa8417b9",
"name": "Google Gemini Chat Model4",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-1024,
336
],
"parameters": {},
"typeVersion": 1
},
{
"id": "aa7b53e8-147b-4c66-8319-7e14f0340346",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-352,
160
],
"parameters": {},
"typeVersion": 3
},
{
"id": "3e34181e-92a7-495d-8488-bf23d57c4a75",
"name": "Wait1",
"type": "n8n-nodes-base.wait",
"position": [
1744,
560
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "dc9d2978-0169-49ae-81db-c9d17c24a85c",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
-736,
160
],
"parameters": {},
"typeVersion": 2
},
{
"id": "b8f3f1be-2158-4d1e-920e-bec06bfb80e3",
"name": "Generate an image",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
704,
-464
],
"parameters": {},
"typeVersion": 1
},
{
"id": "da2085f7-fc32-4aa2-80b1-386f0499186c",
"name": "Upload object",
"type": "n8n-nodes-base.httpRequest",
"position": [
976,
464
],
"parameters": {},
"typeVersion": 4.1
},
{
"id": "36ff690e-0333-4bdb-926a-0518a7d1f913",
"name": "Generate presigned URL",
"type": "n8n-nodes-base.httpRequest",
"position": [
1200,
464
],
"parameters": {},
"typeVersion": 4.1
},
{
"id": "2a1dab10-7b73-46ce-b9b2-bed435bcb5e8",
"name": "all_images",
"type": "n8n-nodes-base.code",
"position": [
64,
48
],
"parameters": {},
"typeVersion": 2
},
{
"id": "74085f1e-ceff-4817-ab3e-2e4098eed7d9",
"name": "html_content",
"type": "n8n-nodes-base.set",
"position": [
368,
48
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "d77a832d-b19b-4012-a230-9bde2559b3a4",
"name": "If1",
"type": "n8n-nodes-base.if",
"position": [
-1328,
144
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "463c42eb-15b7-4696-aae1-e9605328dd83",
"name": "Wait2",
"type": "n8n-nodes-base.wait",
"position": [
-1216,
-96
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "3cf81151-c51b-4f89-b02e-157180109ee6",
"name": "RSS Read2",
"type": "n8n-nodes-base.rssFeedReadTool",
"position": [
-2352,
624
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "b4e75dfd-ed9c-4c8a-9aec-8c8d26a0aa51",
"name": "Get many rows",
"type": "n8n-nodes-base.supabase",
"position": [
-2992,
128
],
"parameters": {},
"typeVersion": 1
},
{
"id": "fecf73e1-8314-42e9-b721-e3c95fcc4d7d",
"name": "Code2",
"type": "n8n-nodes-base.code",
"position": [
-2848,
128
],
"parameters": {},
"typeVersion": 2
},
{
"id": "d049be27-d21e-44d4-860f-db01e273d02d",
"name": "imagen4",
"type": "n8n-nodes-base.httpRequest",
"position": [
960,
-464
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "40a66714-4cc0-4396-a0fe-271e5d9baf3e",
"name": "gemini2.5flash",
"type": "n8n-nodes-base.httpRequest",
"position": [
464,
-448
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "889382e2-16a4-45c3-adc0-996fc8a0f03c",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3040,
48
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "183888e0-82bb-4249-845d-44a95f1ce347",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3888,
48
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "d234c989-ede8-442e-b29a-ef78ed902792",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2576,
-192
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "852adc40-31ef-4930-a967-3dfd2d638277",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1840,
-192
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "74aca049-e4d7-426f-a2c1-4a285a22a68c",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1088,
-192
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e8f01eca-09a9-48d5-8d45-fa6658310a34",
"name": "Google search",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-1584,
1392
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "548ed4e1-2aaf-4f8b-88c2-71f6a963fe87",
"name": "URL Scraper",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-1360,
1392
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "969f4f07-9da6-4929-bab4-bd722f5cdaca",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1776,
1168
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "73bbf094-0001-43d7-942b-3a65e2bd97f2",
"name": "Message a model in Perplexity",
"type": "n8n-nodes-base.perplexityTool",
"position": [
-1600,
1632
],
"parameters": {},
"typeVersion": 1
},
{
"id": "033a4999-740a-4a14-923f-d80bb784cbbe",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
32
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0db639b1-d9fe-4bcf-9973-757a9e5255d6",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-160,
224
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0980dacd-0597-4a07-af6e-ddf9dcb59818",
"name": "download image",
"type": "n8n-nodes-base.httpRequest",
"position": [
528,
464
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "be09de5d-350b-4f7f-a052-f0f313058484",
"name": "Edit Image (only for changing to png)",
"type": "n8n-nodes-base.editImage",
"position": [
736,
464
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1392acd6-911c-459a-8a62-dc2c9a0e0e11",
"name": "Message a model (image name writer)",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
-144,
464
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0d3641e4-ba3f-46eb-bccc-d81dc81ca82c",
"name": "nano banana",
"type": "n8n-nodes-base.httpRequest",
"position": [
336,
464
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "43c5e7f2-daf5-4bdf-b1f9-7482f543b53a",
"name": "Edit Fields (set image prompt and name)",
"type": "n8n-nodes-base.set",
"position": [
128,
464
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "5c0b8657-d31b-4650-bf21-cd6b91a8729a",
"name": "final image url",
"type": "n8n-nodes-base.set",
"position": [
1520,
464
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "5be8c1f6-93f9-4f54-9816-93ae0bb46c56",
"name": "imbed images in html",
"type": "n8n-nodes-base.code",
"position": [
688,
48
],
"parameters": {},
"typeVersion": 2
},
{
"id": "f2da0db4-a78b-4e03-a6f7-1ca23fd9ec3c",
"name": "API Keys",
"type": "n8n-nodes-base.set",
"position": [
-3376,
128
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "fddee7bc-ffe5-439b-b4f3-91456666180f",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3472,
48
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"connections": {
"If": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
],
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"If1": {
"main": [
[
{
"node": "Wait2",
"type": "main",
"index": 0
}
],
[
{
"node": "Information Extractor",
"type": "main",
"index": 0
}
]
]
},
"Code": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "AI Agent1",
"type": "main",
"index": 0
}
]
]
},
"Code2": {
"main": [
[
{
"node": "AI Agent1",
"type": "main",
"index": 0
}
]
]
},
"Wait1": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Wait2": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "If1",
"type": "main",
"index": 0
}
]
]
},
"API Keys": {
"main": [
[
{
"node": "Get many rows",
"type": "main",
"index": 0
}
]
]
},
"RSS Read": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"AI Agent1": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"RSS Read1": {
"ai_tool": [
[
{
"node": "AI Agent1",
"type": "ai_tool",
"index": 0
}
]
]
},
"RSS Read2": {
"ai_tool": [
[
{
"node": "AI Agent1",
"type": "ai_tool",
"index": 0
}
]
]
},
"all_images": {
"main": [
[
{
"node": "html_content",
"type": "main",
"index": 0
}
]
]
},
"URL Scraper": {
"ai_tool": [
[
{
"node": "AI Agent1",
"type": "ai_tool",
"index": 0
},
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"nano banana": {
"main": [
[
{
"node": "download image",
"type": "main",
"index": 0
}
]
]
},
"html_content": {
"main": [
[
{
"node": "imbed images in html",
"type": "main",
"index": 0
}
]
]
},
"Get many rows": {
"main": [
[
{
"node": "Code2",
"type": "main",
"index": 0
}
]
]
},
"Google search": {
"ai_tool": [
[
{
"node": "AI Agent1",
"type": "ai_tool",
"index": 0
},
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Upload object": {
"main": [
[
{
"node": "Generate presigned URL",
"type": "main",
"index": 0
}
]
]
},
"download image": {
"main": [
[
{
"node": "Edit Image (only for changing to png)",
"type": "main",
"index": 0
}
]
]
},
"Groq Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 1
}
]
]
},
"Loop Over Items": {
"main": [
[
{
"node": "all_images",
"type": "main",
"index": 0
}
],
[
{
"node": "Message a model (image name writer)",
"type": "main",
"index": 0
}
]
]
},
"final image url": {
"main": [
[
{
"node": "Wait1",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "API Keys",
"type": "main",
"index": 0
}
]
]
},
"imbed images in html": {
"main": [
[
{
"node": "Create a row",
"type": "main",
"index": 0
}
]
]
},
"Information Extractor": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Generate presigned URL": {
"main": [
[
{
"node": "final image url",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Google Gemini Chat Model1": {
"ai_languageModel": [
[
{
"node": "AI Agent1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Google Gemini Chat Model2": {
"ai_languageModel": [
[
{
"node": "Structured Output Parser",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Google Gemini Chat Model4": {
"ai_languageModel": [
[
{
"node": "Information Extractor",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Message a model (image name writer)": {
"main": [
[
{
"node": "Edit Fields (set image prompt and name)",
"type": "main",
"index": 0
}
]
]
},
"Edit Image (only for changing to png)": {
"main": [
[
{
"node": "Upload object",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields (set image prompt and name)": {
"main": [
[
{
"node": "nano banana",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Fully automated blog creation system using n8n + AI Agents + Image Generation
Source: https://n8n.io/workflows/9079/ — 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.
kisisel asistan. Uses toolWorkflow, toolHttpRequest, toolCalculator, toolThink. Scheduled trigger; 43 nodes.
LinkedIn_Job_Hunt_and_Cover_Letter. Uses outputParserStructured, outputParserAutofixing, googleDrive, agent. Scheduled trigger; 85 nodes.
Author: Nguyen Thieu Toan Category: Community & Knowledge Automation Tags: Telegram, Reddit, n8n Forum, AI Summarization, Gemini, Groq
leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.
This is an automated blog post generation system that: Researches topics using AI agents and web search tools Writes complete blog posts with proper SEO structure Generates custom images for each post