This workflow corresponds to n8n.io template #7574 — we link there as the canonical source.
This workflow follows the Agent → Chainllm 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "b4b0d6be-9142-427d-82bf-77a08cb81bd9",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
640,
240
],
"parameters": {},
"typeVersion": 1
},
{
"id": "9e0079e0-e875-4822-9aed-4746249b9a62",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1664,
240
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "24c241e9-3d5d-476d-b7b4-0d58a6f15d22",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1472,
512
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "89e24193-2e68-4fc6-afea-2c7523cae63d",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
2000,
240
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e318a8e5-1f8e-44e2-90d2-73faaff66fdc",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
2336,
240
],
"parameters": {},
"typeVersion": 3
},
{
"id": "e046e8a3-0cc5-43f3-b188-abeea0b3638a",
"name": "Post image Cloudinary2",
"type": "n8n-nodes-base.httpRequest",
"position": [
2528,
512
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "2248af03-d7c8-43a7-b840-35ba34226082",
"name": "Set Input Image",
"type": "n8n-nodes-base.set",
"position": [
2496,
304
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "369c3830-6d3e-4aa2-8a3c-dc931728a4ee",
"name": "Set Output Image",
"type": "n8n-nodes-base.set",
"position": [
2736,
512
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "89e9c21e-adb5-4f67-818f-85d465281dfb",
"name": "Post article on dev.to",
"type": "n8n-nodes-base.httpRequest",
"position": [
4672,
224
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "a999c74c-62ba-4658-bbac-e09438e5cf37",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1808,
496
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "0714b7bb-3ca8-47d1-ab9d-cd49b215b768",
"name": "OpenAI Chat Model4",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1728,
624
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "e76e6474-7865-43b0-b3d1-ca93c6f58917",
"name": "Aggregate",
"type": "n8n-nodes-base.aggregate",
"position": [
3264,
224
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0a57c810-c82c-4f38-b1da-4c9f17a1cedd",
"name": "Article wrtiter",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
3904,
224
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 1.7
},
{
"id": "c9579ede-8305-4f04-9d31-0c68f695513f",
"name": "Generate an image1",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
2704,
304
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3dfeb899-50d0-4cb1-9959-edd76c2edf15",
"name": "OpenAI Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
4000,
640
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "15845289-24b0-4b93-8828-bc06cac9bfa3",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
3840,
432
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "6c2255f3-82bf-4d08-88e2-3357606dfac3",
"name": "Structured Output Parser2",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
4048,
448
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "377e9dc4-5f70-4052-bacb-b8373196df1b",
"name": "Set input data/credintenials",
"type": "n8n-nodes-base.set",
"position": [
1184,
240
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "371ca127-dcc5-43a4-b3ab-282c1a9b80eb",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
-656
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b2e1e465-c369-4196-bcaf-613bff5c3072",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1440,
-368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "faa77088-2bb3-494b-be0d-88c2434ac280",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
2192,
-368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "3b72446d-7ae3-493a-b971-43f49115ef4e",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
3024,
-368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "9a0565a2-8639-4a87-bc3a-eccb6e08462f",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
3648,
-368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "2dfd29ab-db23-4749-8895-0eb1c035415c",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
4432,
-368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "c564735c-cc8c-4be0-9a5a-c48dc8df4dc2",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2384,
800
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "4285f355-afd2-4d19-b6c2-adfd5f55bf41",
"name": "Generate an image",
"type": "@n8n/n8n-nodes-langchain.openAi",
"disabled": true,
"position": [
2576,
976
],
"parameters": {},
"typeVersion": 1.8
},
{
"id": "c756aff3-cde5-4727-bfb0-53b7d8153d43",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
3136,
784
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e8b8b3b0-c01f-4131-9551-fcb35ee07a8e",
"name": "Get data form sheet",
"type": "n8n-nodes-base.googleSheets",
"disabled": true,
"position": [
848,
480
],
"parameters": {},
"typeVersion": 4.7
},
{
"id": "d121cb07-33ff-4f2c-91a4-95aebf78afca",
"name": "Limit",
"type": "n8n-nodes-base.limit",
"disabled": true,
"position": [
1024,
480
],
"parameters": {},
"typeVersion": 1
},
{
"id": "9c92d91c-5b80-4dc7-8554-47561157307f",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"disabled": true,
"position": [
672,
480
],
"parameters": {},
"typeVersion": 1.2
}
],
"connections": {
"Limit": {
"main": [
[
{
"node": "Set input data/credintenials",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Article wrtiter",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Article wrtiter": {
"main": [
[
{
"node": "Post article on dev.to",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Input Image",
"type": "main",
"index": 0
}
]
]
},
"Set Input Image": {
"main": [
[
{
"node": "Generate an image1",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get data form sheet",
"type": "main",
"index": 0
}
]
]
},
"Set Output Image": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Generate an image1": {
"main": [
[
{
"node": "Post image Cloudinary2",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "Article wrtiter",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "Structured Output Parser2",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model4": {
"ai_languageModel": [
[
{
"node": "Structured Output Parser1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Get data form sheet": {
"main": [
[
{
"node": "Limit",
"type": "main",
"index": 0
}
]
]
},
"Post image Cloudinary2": {
"main": [
[
{
"node": "Set Output Image",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser1": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser2": {
"ai_outputParser": [
[
{
"node": "Article wrtiter",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Set input data/credintenials": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Set input data/credintenials",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Turn a simple idea into a complete blog article with images, ready to publish — fully automated.
Source: https://n8n.io/workflows/7574/ — 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.
🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.
Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.
The best content automation template in the market is now even better—with “deep research” on time-sensitive topics\! Unlike most n8n content automation templates that are mainly for “demo purposes,”
This template is designed for marketers, content creators, and e-commerce brands who want to automate the creation of professional ad videos at scale. It’s ideal for teams looking to generate consiste
💥 Automate video ads with NanoBanana, Seedream 4, ChatGPT Image and Veo 3 - VIDE. Uses telegram, telegramTrigger, googleDrive, agent. Event-driven trigger; 63 nodes.