This workflow corresponds to n8n.io template #10954 β we link there as the canonical source.
This workflow follows the Chainllm β Google Sheets 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 β
{
"id": "KyBwyFM0ZDSueF7K",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "ZERO API COST AUTOMATION",
"tags": [],
"nodes": [
{
"id": "5ebad3ba-44ee-4791-984b-7af93a9b09f7",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1584,
208
],
"parameters": {},
"typeVersion": 1
},
{
"id": "baf2c086-47d4-4d4e-8dc7-fa54273dfb82",
"name": "Set Variables",
"type": "n8n-nodes-base.set",
"position": [
-880,
848
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "05191ece-0f26-4411-96b6-f775f64b45af",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
-928,
1168
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f761d84b-31b1-4b8c-a8be-4c955e51b856",
"name": "Create Array with Videos",
"type": "n8n-nodes-base.code",
"position": [
-608,
1168
],
"parameters": {},
"typeVersion": 2
},
{
"id": "ce49c343-1b85-495a-b807-a046c6210780",
"name": "Split Items",
"type": "n8n-nodes-base.splitOut",
"position": [
-288,
848
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6590a6c6-ce82-46a7-9fff-62ac771b1d44",
"name": "Build Video Array",
"type": "n8n-nodes-base.code",
"position": [
304,
848
],
"parameters": {},
"typeVersion": 2
},
{
"id": "58324b97-77c2-450b-92af-d21b3a72ffec",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1024,
752
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "dad84470-8d98-49b2-a9c7-dd952a9d93ef",
"name": "Generate Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
-768,
1168
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "55abd921-9fcd-4a52-b249-7a82b03b3b00",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1024,
1072
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "921b2014-7cb4-4ffe-9b35-6d137b10fed4",
"name": "Build Faceless Array",
"type": "n8n-nodes-base.code",
"position": [
-656,
848
],
"parameters": {},
"typeVersion": 2
},
{
"id": "3d9a101e-49e3-4165-b7e2-b5bb0508d6bd",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-416,
752
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "f92dcddc-b364-48fb-9020-0d8cea18f7a2",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-416,
1072
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "a7407ef3-4018-4dcd-8762-27f924aa5d7e",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
192,
752
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0f65fa1a-f598-461f-8f06-3817ce50d632",
"name": "Concatenate Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
528,
848
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "0d207f67-14e9-4bee-954c-94e408a852d7",
"name": "Trim Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
-288,
1168
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "fe0bfb0c-c3ed-4787-abb8-22a739ebd635",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
192,
1072
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "61f1e496-bf42-4522-8b27-c5b5be860654",
"name": "Get Audio Metadata",
"type": "n8n-nodes-base.httpRequest",
"position": [
-64,
848
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "1ad7c64c-ee07-4dad-8804-0dc0a5213617",
"name": "Caption Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
400,
1168
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "5ddda113-e5a9-4ce9-b211-fe399792c8a6",
"name": "Combine Audio + Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
-64,
1168
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "8a69b941-550b-4ef3-8ed7-ad1aa8d4126e",
"name": "Basic LLM Chain",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
-1088,
144
],
"parameters": {},
"typeVersion": 1.7
},
{
"id": "34c918de-8a2a-4fcd-82c5-6f6f008d7570",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-816,
320
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "f0232b38-d18a-4580-94fa-4362fca7f134",
"name": "Image Gen",
"type": "n8n-nodes-base.httpRequest",
"position": [
112,
64
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "56b206cc-d0ae-4c96-9f2a-328fdad0e88f",
"name": "Voice Gen1",
"type": "n8n-nodes-base.httpRequest",
"position": [
112,
368
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "e1b87806-087d-4d39-b214-a3de22ad991b",
"name": "Get Voice",
"type": "n8n-nodes-base.httpRequest",
"position": [
352,
368
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "9e1b84fc-f3a6-4169-af78-9ade39df7d3e",
"name": "Get row(s) in sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1376,
208
],
"parameters": {},
"executeOnce": false,
"typeVersion": 4.6
},
{
"id": "18431507-735b-4a89-8a3b-511236781b08",
"name": "Image Scripts",
"type": "n8n-nodes-base.set",
"position": [
-480,
128
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "dcb1f4c4-81d9-4a83-91b4-b8f709dc6b6f",
"name": "Audio Scripts",
"type": "n8n-nodes-base.set",
"position": [
-480,
304
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "ee7499f5-0d14-40a4-9fe5-7dad9ea6b91b",
"name": "Code2",
"type": "n8n-nodes-base.code",
"position": [
-256,
304
],
"parameters": {},
"typeVersion": 2
},
{
"id": "c45b0a83-7847-4a27-a27a-cb780526c9fe",
"name": "Code3",
"type": "n8n-nodes-base.code",
"position": [
-256,
128
],
"parameters": {},
"typeVersion": 2
},
{
"id": "9d995e1b-42bd-43f6-96e4-ef45f6f082ec",
"name": "Image Get",
"type": "n8n-nodes-base.httpRequest",
"position": [
352,
64
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "ed791563-6c8d-46ed-8eff-9cf0da465afe",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
592,
64
],
"parameters": {},
"typeVersion": 2
},
{
"id": "c9c05c46-994b-48ef-bfae-49f4f1730118",
"name": "Code1",
"type": "n8n-nodes-base.code",
"position": [
592,
368
],
"parameters": {},
"typeVersion": 2
},
{
"id": "ad3d5ac7-f8c3-4c20-8cae-fa8ab45ec565",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
960,
384
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "930a5c11-8d63-4f62-989c-97e751e6d453",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1088,
624
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e3d0b060-d3b4-46b1-b755-d9d63d11d47c",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "98aa4979-8d6d-4f1b-b7e6-591546a3ae30",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
304
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "3c680526-090f-447e-9d73-3c6fbc84a1dc",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
32
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "d29a8ac8-605d-4ff4-825e-fa5b556ef200",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1136,
64
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "a87e941c-43fb-4118-8261-c7cc2832d6f7",
"name": "Ollama Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOllama",
"position": [
-1040,
352
],
"parameters": {},
"typeVersion": 1
},
{
"id": "5a43a3e5-2daf-4ec7-b320-3f085a13a14a",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2112,
-528
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "eda6a46b-b932-4b65-8417-873c081f7c52",
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1008,
-240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "5a3f2a54-76eb-4af0-a12e-6cc7ef3db267",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
-720,
-240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "fd44bb83-8ae8-4ca7-85e2-136ad56c4fad",
"name": "Sticky Note14",
"type": "n8n-nodes-base.stickyNote",
"position": [
-448,
-240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e9ab918a-1e58-4546-9596-4128e1648dc1",
"name": "Sticky Note15",
"type": "n8n-nodes-base.stickyNote",
"position": [
-160,
-240
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "33a132bd-fe94-4b20-8b76-d559984dcdd4",
"connections": {
"Code": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Code1": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Code2": {
"main": [
[
{
"node": "Voice Gen1",
"type": "main",
"index": 0
}
]
]
},
"Code3": {
"main": [
[
{
"node": "Image Gen",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Set Variables",
"type": "main",
"index": 0
}
]
]
},
"Get Voice": {
"main": [
[
{
"node": "Code1",
"type": "main",
"index": 0
}
]
]
},
"Image Gen": {
"main": [
[
{
"node": "Image Get",
"type": "main",
"index": 0
}
]
]
},
"Image Get": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Generate Video",
"type": "main",
"index": 0
}
]
]
},
"Trim Video": {
"main": [
[
{
"node": "Combine Audio + Video",
"type": "main",
"index": 0
}
]
]
},
"Voice Gen1": {
"main": [
[
{
"node": "Get Voice",
"type": "main",
"index": 0
}
]
]
},
"Split Items": {
"main": [
[
{
"node": "Get Audio Metadata",
"type": "main",
"index": 0
}
]
]
},
"Audio Scripts": {
"main": [
[
{
"node": "Code2",
"type": "main",
"index": 0
}
]
]
},
"Image Scripts": {
"main": [
[
{
"node": "Code3",
"type": "main",
"index": 0
}
]
]
},
"Set Variables": {
"main": [
[
{
"node": "Build Faceless Array",
"type": "main",
"index": 0
}
]
]
},
"Generate Video": {
"main": [
[
{
"node": "Create Array with Videos",
"type": "main",
"index": 0
}
]
]
},
"Basic LLM Chain": {
"main": [
[
{
"node": "Image Scripts",
"type": "main",
"index": 0
},
{
"node": "Audio Scripts",
"type": "main",
"index": 0
}
]
]
},
"Build Video Array": {
"main": [
[
{
"node": "Concatenate Video",
"type": "main",
"index": 0
}
]
]
},
"Concatenate Video": {
"main": [
[
{
"node": "Caption Video",
"type": "main",
"index": 0
}
]
]
},
"Ollama Chat Model": {
"ai_languageModel": [
[
{
"node": "Basic LLM Chain",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Get Audio Metadata": {
"main": [
[
{
"node": "Trim Video",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet": {
"main": [
[
{
"node": "Basic LLM Chain",
"type": "main",
"index": 0
}
]
]
},
"Build Faceless Array": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"Combine Audio + Video": {
"main": [
[
{
"node": "Build Video Array",
"type": "main",
"index": 0
}
]
]
},
"Create Array with Videos": {
"main": [
[
{
"node": "Split Items",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Basic LLM Chain",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Get row(s) in sheet",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
π Create professional motivational videos automatically with zero API costs!
Source: https://n8n.io/workflows/10954/ β 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.
My workflow 53. Uses formTrigger, httpRequest, lmChatOpenAi, form. Event-driven trigger; 74 nodes.
Episode 23: UGC with nanobanana. Uses lmChatOpenAi, lmChatOllama, lmChatDeepSeek, lmChatOpenRouter. Event-driven trigger; 74 nodes.
Description
Automatically capture, categorize, and log expenses from receipts, PDFs, voice notes, or text β powered by AI and integrated with Telegram and Google Sheets.
This n8n template demonstrates how to audit your brandβs visibility across multiple AI systems and automatically log the results to Google Sheets. It sends the same prompt to OpenAI, Perplexity, and (