This workflow corresponds to n8n.io template #11540 — we link there as the canonical source.
This workflow follows the Agent → 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 →
{
"id": "sgLEGZvoVh4gYTmU",
"name": "1 Min Video",
"tags": [],
"nodes": [
{
"id": "d96c3aad-3f93-44d6-aba2-aef1ccb73654",
"name": "Generate a video1",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
208,
448
],
"parameters": {
"prompt": "={{ $('Save to Google Sheets').item.json['Prompt 1'] }}",
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/veo-3.1-fast-generate-preview",
"cachedResultName": "models/veo-3.1-fast-generate-preview"
},
"options": {
"aspectRatio": "9:16"
},
"resource": "video"
},
"typeVersion": 1
},
{
"id": "b483d477-f9ed-4318-bb70-a475ecb9ff6b",
"name": "Telegram Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-896,
1104
],
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "3fed55cb-45d4-45a0-a766-5099fc68fb1d",
"name": "Generate a video2",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
208,
832
],
"parameters": {
"prompt": "={{ $('Save to Google Sheets').item.json['Prompt 2'] }}",
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/veo-3.1-fast-generate-preview",
"cachedResultName": "models/veo-3.1-fast-generate-preview"
},
"options": {},
"resource": "video"
},
"typeVersion": 1
},
{
"id": "cae8d3c2-c68b-4973-9b0b-9a7155a16f13",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
1104,
1760
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/ffmpeg-api/merge-videos",
"method": "POST",
"options": {},
"jsonBody": "={\n \"video_urls\": [\n \"{{ $json[\"prompt(1)\"] }}\",\n \"{{ $json[\"Prompt(2)\"] }}\",\n \"{{ $json['Prompt(3)'] }}\",\n \"{{ $json['Prompt(4)'] }}\",\n \"{{ $json['Prompt(5)'] }}\",\n \"{{ $json['Prompt(6)'] }}\",\n \"{{ $json['Prompt(7)'] }}\"\n ],\n \"resolution\": \"landscape_16_9\",\n \"target_fps\": 30\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Key (your fal.ai key)"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.3
},
{
"id": "4889284a-73a0-4c77-9975-026704c07bd0",
"name": "HTTP Request1",
"type": "n8n-nodes-base.httpRequest",
"position": [
1328,
1760
],
"parameters": {
"url": "={{ $json.status_url }}",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Key (your fal.ai key)"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.3
},
{
"id": "3ccca753-8691-42dd-a27a-ebc5a8b3ed3d",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
1552,
1680
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "9ce4b8dc-9680-4de3-bbf3-2109f3be846a",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "COMPLETED"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "7251426e-2b80-4641-99eb-b4fc406981a3",
"name": "HTTP Request2",
"type": "n8n-nodes-base.httpRequest",
"position": [
1776,
1632
],
"parameters": {
"url": "={{ $json.response_url }}",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Key (your fal.ai key)"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.3
},
{
"id": "bd18cd80-3a34-4c4b-aec5-8339a50d74f4",
"name": "Send a video",
"type": "n8n-nodes-base.telegram",
"position": [
2000,
1632
],
"parameters": {
"file": "={{ $json.video.url }}",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"operation": "sendVideo",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "5fd1a00c-6ff5-4bfe-a956-fb3640324b12",
"name": "Upload video1",
"type": "n8n-nodes-base.googleDrive",
"position": [
432,
448
],
"parameters": {
"name": "={{$now.format('yyyyLLdd')}}{{ $json.fileName }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultUrl": "https://drive.google.com/drive/folders/1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultName": "VEO VIDEOS"
}
},
"typeVersion": 3
},
{
"id": "834e70f3-a122-42ec-867f-334b48c2262f",
"name": "Label URL 1",
"type": "n8n-nodes-base.set",
"position": [
656,
448
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "prompt(1)",
"type": "string",
"value": "={{ $json.webContentLink }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8f934ce4-8497-4954-b589-327c8334b746",
"name": "Label URL 2",
"type": "n8n-nodes-base.set",
"position": [
656,
832
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "Prompt(2)",
"type": "string",
"value": "={{ $json.webContentLink }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "1a1f16c1-697c-459d-b1b4-4971e41b8be4",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
880,
1680
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition",
"numberInputs": 7
},
"typeVersion": 3.2
},
{
"id": "a4526546-8fbf-4c5e-8e43-b7dcb8c9570a",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
1776,
1856
],
"parameters": {
"amount": 30
},
"typeVersion": 1.1
},
{
"id": "a161ef97-27cf-4f62-acd7-5d374dfd71ca",
"name": "Generate a video3",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
208,
1216
],
"parameters": {
"prompt": "={{ $('Save to Google Sheets').item.json['Prompt 3'] }}",
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/veo-3.1-fast-generate-preview",
"cachedResultName": "models/veo-3.1-fast-generate-preview"
},
"options": {},
"resource": "video"
},
"typeVersion": 1
},
{
"id": "5b6c7c61-54c1-4d74-be82-9e5235e6f311",
"name": "Label URL 3",
"type": "n8n-nodes-base.set",
"position": [
656,
1216
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "Prompt(3)",
"type": "string",
"value": "={{ $json.webContentLink }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c64ee3de-6785-4715-b5f5-b0448101fc34",
"name": "Upload video4",
"type": "n8n-nodes-base.googleDrive",
"position": [
432,
1600
],
"parameters": {
"name": "={{$now.format('yyyyLLdd')}}{{ $json.fileName }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultUrl": "https://drive.google.com/drive/folders/1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultName": "VEO VIDEOS"
}
},
"typeVersion": 3
},
{
"id": "37c7ab3a-27e1-413c-8f7e-b6416fcbfbbf",
"name": "Label URL 4",
"type": "n8n-nodes-base.set",
"position": [
656,
1600
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "Prompt(4)",
"type": "string",
"value": "={{ $json.webContentLink }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b2318a8b-6713-468d-80c4-9b611956fe29",
"name": "Generate a video4",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
208,
1600
],
"parameters": {
"prompt": "={{ $('Save to Google Sheets').item.json['Prompt 4'] }}",
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/veo-3.1-fast-generate-preview",
"cachedResultName": "models/veo-3.1-fast-generate-preview"
},
"options": {},
"resource": "video"
},
"typeVersion": 1
},
{
"id": "b213b834-7688-4d04-9e38-88951e494c4e",
"name": "Upload video5",
"type": "n8n-nodes-base.googleDrive",
"position": [
432,
1984
],
"parameters": {
"name": "={{$now.format('yyyyLLdd')}}{{ $json.fileName }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultUrl": "https://drive.google.com/drive/folders/1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultName": "VEO VIDEOS"
}
},
"typeVersion": 3
},
{
"id": "b8d2c2d1-05e3-40c6-9583-0e43b5f2b9cb",
"name": "Label URL 5",
"type": "n8n-nodes-base.set",
"position": [
656,
1984
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "Prompt(5)",
"type": "string",
"value": "={{ $json.webContentLink }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "1fc0e7b8-2b0e-4138-9486-bc12e6632149",
"name": "Generate a video5",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
208,
1984
],
"parameters": {
"prompt": "={{ $('Save to Google Sheets').item.json['Prompt 5'] }}",
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/veo-3.1-fast-generate-preview",
"cachedResultName": "models/veo-3.1-fast-generate-preview"
},
"options": {},
"resource": "video"
},
"typeVersion": 1
},
{
"id": "0ec09468-6229-4596-900f-7ea9b48febf7",
"name": "Upload video",
"type": "n8n-nodes-base.googleDrive",
"position": [
432,
832
],
"parameters": {
"name": "={{$now.format('yyyyLLdd')}}{{ $json.fileName }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultUrl": "https://drive.google.com/drive/folders/1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultName": "VEO VIDEOS"
}
},
"typeVersion": 3
},
{
"id": "251816ef-bb11-49a9-bd4f-1ff2315aedac",
"name": "Upload video3",
"type": "n8n-nodes-base.googleDrive",
"position": [
432,
1216
],
"parameters": {
"name": "={{$now.format('yyyyLLdd')}}{{ $json.fileName }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultUrl": "https://drive.google.com/drive/folders/1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultName": "VEO VIDEOS"
}
},
"typeVersion": 3
},
{
"id": "4f33e393-cd51-4e36-bc7b-abb0c362b326",
"name": "Upload video6",
"type": "n8n-nodes-base.googleDrive",
"position": [
432,
2368
],
"parameters": {
"name": "={{$now.format('yyyyLLdd')}}{{ $json.fileName }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultUrl": "https://drive.google.com/drive/folders/1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultName": "VEO VIDEOS"
}
},
"typeVersion": 3
},
{
"id": "6fbd581d-5e2a-4958-b33b-7bb22f460b43",
"name": "Generate a video",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
208,
2368
],
"parameters": {
"prompt": "={{ $('Save to Google Sheets').item.json['Prompt 6'] }}",
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/veo-3.1-fast-generate-preview",
"cachedResultName": "models/veo-3.1-fast-generate-preview"
},
"options": {},
"resource": "video"
},
"typeVersion": 1
},
{
"id": "521fcfd3-72ba-4cc3-9db0-ed2f70aa2541",
"name": "Label URL 6",
"type": "n8n-nodes-base.set",
"position": [
656,
2368
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "Prompt(6)",
"type": "string",
"value": "={{ $json.webContentLink }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "20309a55-2b7e-411e-bfe3-1a3713e0b90f",
"name": "Label URL 7",
"type": "n8n-nodes-base.set",
"position": [
656,
2752
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "Prompt(7)",
"type": "string",
"value": "={{ $json.webContentLink }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b55583ee-82c4-42a3-b33e-1a362dbdcdc6",
"name": "Upload video7",
"type": "n8n-nodes-base.googleDrive",
"position": [
432,
2752
],
"parameters": {
"name": "={{$now.format('yyyyLLdd')}}{{ $json.fileName }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultUrl": "https://drive.google.com/drive/folders/1VkLZo09_BmiR1z_OHsh27hwFVH6-voiZ",
"cachedResultName": "VEO VIDEOS"
}
},
"typeVersion": 3
},
{
"id": "2909b885-0c25-4b6d-8955-a59128c3926d",
"name": "Generate a video6",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
208,
2752
],
"parameters": {
"prompt": "={{ $('Save to Google Sheets').item.json['Prompt 7'] }}",
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/veo-3.1-fast-generate-preview",
"cachedResultName": "models/veo-3.1-fast-generate-preview"
},
"options": {},
"resource": "video"
},
"typeVersion": 1
},
{
"id": "ba21e085-c234-4d4e-a7a9-868a695d984f",
"name": "Wait3",
"type": "n8n-nodes-base.wait",
"position": [
0,
2752
],
"parameters": {
"unit": "minutes",
"amount": 1.5
},
"typeVersion": 1.1
},
{
"id": "eda67b30-af24-42dd-9e04-1a7dc2fe7785",
"name": "Wait5",
"type": "n8n-nodes-base.wait",
"position": [
-16,
1216
],
"parameters": {
"unit": "minutes",
"amount": 1.5
},
"typeVersion": 1.1
},
{
"id": "b5ce2ad9-d497-42f6-8ed4-a7eba5f98455",
"name": "Wait4",
"type": "n8n-nodes-base.wait",
"position": [
-16,
1984
],
"parameters": {
"unit": "minutes",
"amount": 1.5
},
"typeVersion": 1.1
},
{
"id": "cd4ad3ec-36d6-450b-87e9-b4c2895472d6",
"name": "Send a text message",
"type": "n8n-nodes-base.telegram",
"position": [
432,
256
],
"parameters": {
"text": "Video 1/7 generated",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "6d9e1679-5aa6-4f43-b2ab-13a8851baa28",
"name": "Send a text message2",
"type": "n8n-nodes-base.telegram",
"position": [
432,
640
],
"parameters": {
"text": "Video 2/7 generated",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "9f7bbe71-20e9-410d-9d3b-5fe2fe18f704",
"name": "Send a text message3",
"type": "n8n-nodes-base.telegram",
"position": [
432,
1024
],
"parameters": {
"text": "Video 3/7 generated",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "a2e6e1f7-a829-4d66-a745-5ddcc0a6a9cb",
"name": "Send a text message4",
"type": "n8n-nodes-base.telegram",
"position": [
432,
1408
],
"parameters": {
"text": "Video 4/7 generated",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "33e02c75-c405-481d-8d94-995c50677862",
"name": "Send a text message5",
"type": "n8n-nodes-base.telegram",
"position": [
432,
1792
],
"parameters": {
"text": "Video 5/7 generated",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "7c59376b-2a07-4d6f-88e9-e34de5e22d2d",
"name": "Send a text message6",
"type": "n8n-nodes-base.telegram",
"position": [
432,
2176
],
"parameters": {
"text": "Video 6/7 generated",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "0ed6a115-4176-4eae-ac8d-82c04cea55f4",
"name": "Send a text message7",
"type": "n8n-nodes-base.telegram",
"position": [
432,
2560
],
"parameters": {
"text": "Video generation Complete! Please wait while they are combined.",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "158a7559-c500-4b64-8bbe-77d1ffde4572",
"name": "Send a text message8",
"type": "n8n-nodes-base.telegram",
"position": [
-528,
1056
],
"parameters": {
"text": "=Hey {{ $json.message.from.first_name }}! Your Request Is being processed. WARNING: DO not send an aditional message until full video is recived as it will interupt the process.",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "0ad75a3b-8deb-4292-bbf8-4be6ef96b5f5",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-576,
1248
],
"parameters": {
"text": "=TASK: You are an AI agent who prompts VEO 3, an AI video generation model that can generate 8 second clips. Your task is to create 7 independent prompts that will be ran independently from each other with the model having 0 context from previous executions. \n\nThe goal is to generate 7 different videos that link together sharing the same elements so to do this, you have to restate and use element descriptions in each prompt independently, THIS IS VERY IMPORTANT. If you describe a character as \u201cTall and skinny\u201d you must use \u201cTall and skinny\u201d to describe the character in each video in which the character appears. This is true for all elements of the video. Do not give characters names unless specified. \n\nOnly include music is prompted, otherwise you will generate dialogue and scenes, settings and characters based off of the request, have a script to follow and then creating ech prompt. GO in depth and use very descriptive words to describe tone, sound effects, ambience, settings and characters. \n\nEnsure each prompt can create a video that flows correctly from 1 8 second clip to the next.\n\nWHEN SCRIPTING Dialogue, ensure you only include 16-20 words (based off length) in each video.\n\nFor example what to do in prompts:\n\nPrompt 1: A blond haired blue eyed, 6 foot individual with a basic tapered haircut dressed in a blue polo shirt saying \u201cstructure properties\u201d wearing brown khaki pants says \u201cHello this is a training video on how to deal with mold in apartments\u201d The character is alone standing in a plain office building with no windows, standing in front of a 50\u201d flatscreen TV. \n\nPrompt 2:\nA blond haired blue eyed, 6 foot individual with a basic tapered haircut dressed in a blue polo shirt saying \u201cstructure properties\u201d wearing brown khaki pants says \u201cIn this video we will be going over proper mold handling procedures, operation costs and what not to do\u201d The character is alone standing in a plain office building with no windows, standing in front of a 50\u201d flatscreen TV. \n\nWHAT NOT TO DO:\nPrompt 1: A blond haired blue eyed, 6 foot individual with a basic tapered haircut dressed in a blue polo shirt saying \u201cstructure properties\u201d wearing brown khaki pants says \u201cHello this is a training video on how to deal with mold in apartments\u201d The character is alone standing in a plain office building with no windows, standing in front of a 50\u201d flatscreen TV. \n\nPrompt 2: The structure properties traine says \u201cIn this video we will be going over proper mold handling procedures, operation costs and what not to do\u201d Addressing the office.\n\nAs you can see, you need to keep descriptions the exact same in each prompt to ensure continuity.\nThis is what you need to include in the script:\nIdentify characters, lablesing them with \u201ccharacter 1\u201d, \u201cCharacter 2\u201d ect and the listing out their desccritptions in depth as possible using 5-10 describing words to narrow down appearance. Same with settings, labling settings with values and providing in depth describing words. Also draft a tone for the videos/video and list them as tone 1 2 ect. Once this is established draft what will be included for each video including the words that will be said in each video not exceeding 16-20 words max. \nThe script should look like this \nCharacter 1:A blond haired blue eyed, 6 foot individual with a basic tapered haircut dressed in a blue polo shirt saying \u201cstructure properties\u201d wearing brown khaki pants\nSetting 1:a plain office building with no windows, standing in front of a 50 inch flatscreen TV. \nTone 1: Professional office instructional tone.\n\nCharacter 1 says the dialogue \u201c\u201cHello this is a training video on how to deal with mold in apartments\u201d in setting 1 withe the tone 1\n\nDRAFTS:\n\nPROMPT 1 DRAFT: Character 1 says the dialogue \u201c\u201cHello this is a training video on how to deal with mold in apartments\u201d in setting 1 with the tone 1\n\nPROMPT 2 DRAFT:Character 1 says the dialogue \u201c\u201cWe will go over proper procedures and how to handle mold effectivly\u201d in setting 1 with the tone 1 if they are not in some videos, if they return later ect.\n\nThen you go on to generate the prompts, not saying \u201ccharacter 1\u201d or \u201csetting 1\u201d or \u201ctone 1\u201d, you give the frustrated descriptions.\n\n\n\nEct, going even more in depth then I did as this was just an example. If multiple characters, tones, settings, this is where you choose where they appear, if some videos\n\n\n\nYou must respond in valid JSON format provided below:\n\n{\n \"items\": [\n {\n \"json\": {\n \"name\": \"script\",\n \"value\": \"This is the main script content\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt1\",\n \"value\": \"This is prompt 1\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt2\",\n \"value\": \"This is prompt 2\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt3\",\n \"value\": \"This is prompt 3\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt4\",\n \"value\": \"This is prompt 4\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt5\",\n \"value\": \"This is prompt 5\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt6\",\n \"value\": \"This is prompt 6\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt7\",\n \"value\": \"This is prompt 7\"\n }\n }\n ]\n}\n\u2014-----\nHERE IS AN OUTPUT EXAMPLE:\n\n{\n \"items\": [\n {\n \"json\": {\n \"name\": \"script\",\n \"value\": \"Character 1: A blond haired blue eyed, 6 foot individual with a basic tapered haircut, dressed in a fitted blue polo shirt with a white embroidered Structure Properties logo on the left chest, wearing brown khaki pants and dark brown leather shoes.\\nCharacter 2: A medium height, medium build individual with short black hair, warm brown skin, wearing a gray zip-up hoodie over a white t-shirt, dark blue work pants, and black work boots, carrying a small red and black tool bag.\\nCharacter 3: A shorter individual with curly dark brown hair, light brown skin, casual glasses, wearing a soft green sweater, dark jeans, and gray socks, holding a smartphone.\\n\\nSetting 1: A small, brightly lit training room inside a modern office, with light gray walls, no windows, a 50-inch wall-mounted flatscreen TV turned off behind the speaker, a whiteboard mounted to one side, and a simple black tripod camera positioned in front of them.\\nSetting 2: A compact San Francisco apartment bathroom with off-white tiled walls, a small frosted window, a white bathtub-shower combination, slightly peeling off-white paint on the ceiling, and faint gray-green mold spots forming near the tub surround and window frame.\\nSetting 3: An older San Francisco apartment living room with cream-colored walls, hardwood floors, tall single-pane windows showing a foggy street outside, a beige fabric sofa, and a section of ceiling near a corner discolored with yellow-brown water stains.\\nSetting 4: A dim basement storage area with exposed wooden joists, concrete floor, metal shelving, and a shallow pool of water reflecting flickering overhead fluorescent lights.\\n\\nTone 1: Warm, confident, professional instructional tone with clear pacing and friendly but serious delivery.\\nTone 2: Calm, precise, technical explanation tone emphasizing clarity and safety.\\nTone 3: Reassuring, solution-focused tone that emphasizes responsibility, partnership, and legal awareness.\\n\\nDialogue for each 8-second video (16-20 words):\\n\\nPrompt 1 dialogue (intro): 'Hello and welcome to Structure Properties' mold and leak training, focused on safe, practical responses in San Francisco buildings.' (19 words)\\nPrompt 2 dialogue (what mold is): 'Mold is a common fungus that thrives on moisture, appearing as fuzzy, powdery, or shiny patches with musty odors.' (19 words)\\nPrompt 3 dialogue (conditions and causes): 'In our San Francisco rentals, mold usually comes from humidity, condensation on single-pane windows, and unresolved plumbing or roof leaks.' (20 words)\\nPrompt 4 dialogue (legal responsibilities): 'Under California law, Structure Properties must maintain safe, habitable housing while residents manage ventilation, housekeeping, and reporting moisture problems early.' (20 words)\\nPrompt 5 dialogue (two-step response framework): 'Our leak response uses steps: first assess severity, safety, and materials, then follow source-specific actions for plumbing, roofs, or windows.' (20 words)\\nPrompt 6 dialogue (environmental testing and cost decisions): 'Environmental testing for lead, asbestos, and mold guides mitigation, while cost comparisons help decide between drying materials or removing them.' (20 words)\\nPrompt 7 dialogue (closing and responsibilities): 'Thank you for supporting Structure Properties' residents by identifying moisture early, documenting thoroughly, and choosing cost-effective solutions to protect homes.' (20 words)\\n\\nDRAFTS:\\n\\nPROMPT 1 DRAFT: Character 1 stands centered in Setting 1 facing the tripod camera with Tone 1. Natural office ambience with a soft HVAC hum and faint fluorescent light buzz. Character 1 smiles slightly and says the dialogue: 'Hello and welcome to Structure Properties' mold and leak training, focused on safe, practical responses in San Francisco buildings.'\\n\\nPROMPT 2 DRAFT: Character 1 stands in the same position in Setting 1 with Tone 2, using simple hand gestures. As Character 1 begins speaking, the video briefly overlays a cutaway of Setting 2 showing early mold spots, then returns to the training room. No music, only room ambience and a very faint imagined musty echo in the bathroom cutaway. Character 1 says the dialogue: 'Mold is a common fungus that thrives on moisture, appearing as fuzzy, powdery, or shiny patches with musty odors.'\\n\\nPROMPT 3 DRAFT: Character 1 remains in Setting 1 with Tone 2, slightly more serious expression. As they speak, quick cutaways show condensation forming on a single-pane window inside Setting 3, then a slow drip beside a pipe in Setting 4. Room ambience continues; subtle drip sound during leak shots. Character 1 says the dialogue: 'In our San Francisco rentals, mold usually comes from humidity, condensation on single-pane windows, and unresolved plumbing or roof leaks.'\\n\\nPROMPT 4 DRAFT: Character 1 is in Setting 1 with Tone 3, standing slightly closer to the camera with the flatscreen TV visible behind them. The TV shows a simple graphic of scales of justice and the words California Civil Code 1941.1. Ambient office sounds remain low. Character 1 says the dialogue: 'Under California law, Structure Properties must maintain safe, habitable housing while residents manage ventilation, housekeeping, and reporting moisture problems early.'\\n\\nPROMPT 5 DRAFT: Character 1 in Setting 1 with Tone 2, standing next to the whiteboard, which now displays a simple flowchart labeled Step 1 and Step 2. Quick overlay images show a small plumbing leak in Setting 2 and a stained ceiling in Setting 3. No music, only subtle marker squeak as they point. Character 1 says the dialogue: 'Our leak response uses steps: first assess severity, safety, and materials, then follow source-specific actions for plumbing, roofs, or windows.'\\n\\nPROMPT 6 DRAFT: Character 1 in Setting 1 with Tone 2, more analytical, gesturing toward the flatscreen TV which shows side-by-side cost comparison numbers and icons for drywall, flooring, and fans. Brief overlay of Setting 4 with water on the floor, then a dry, restored basement. Soft ambient hum, occasional distant office sounds. Character 1 says the dialogue: 'Environmental testing for lead, asbestos, and mold guides mitigation, while cost comparisons help decide between drying materials or removing them.'\\n\\nPROMPT 7 DRAFT: Character 1 in Setting 1 with Tone 1, slightly warmer expression, standing centered as if wrapping up the session. Behind them on the flatscreen TV is a simple Structure Properties logo and the words Thank You. Room ambience only. Character 1 says the dialogue: 'Thank you for supporting Structure Properties' residents by identifying moisture early, documenting thoroughly, and choosing cost-effective solutions to protect homes.'\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt1\",\n \"value\": \"Generate an 8-second training-style video featuring a single instructor. Show a blond haired blue eyed, 6 foot individual with a basic tapered haircut, dressed in a fitted blue polo shirt with a white embroidered Structure Properties logo on the left chest, wearing brown khaki pants and dark brown leather shoes. They stand comfortably in a small, brightly lit training room inside a modern office, with light gray walls, no windows, a 50-inch wall-mounted flatscreen TV turned off behind the speaker, a whiteboard mounted to one side, and a simple black tripod camera positioned in front of them. The camera is framed at chest-up, slowly dollying in for a subtle, professional feel. The instructor maintains a warm, confident, professional instructional tone with clear pacing and friendly but serious delivery. There is no background music, only natural office ambience: a soft HVAC hum and faint fluorescent light buzz. The instructor looks directly into the lens and clearly says, in one smooth line, 'Hello and welcome to Structure Properties' mold and leak training, focused on safe, practical responses in San Francisco buildings.' Ensure lip-sync matches the dialogue, with light, natural hand gestures and calm, attentive body language.\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt2\",\n \"value\": \"Generate an 8-second continuation of the same training, again in the identical environment. Show the same blond haired blue eyed, 6 foot individual with a basic tapered haircut, dressed in a fitted blue polo shirt with a white embroidered Structure Properties logo on the left chest, wearing brown khaki pants and dark brown leather shoes. They stand in the same small, brightly lit training room inside a modern office, with light gray walls, no windows, a 50-inch wall-mounted flatscreen TV turned off behind the speaker, a whiteboard mounted to one side, and a simple black tripod camera positioned in front of them. Start with a medium shot from the tripod camera\u2019s point of view. As the instructor begins speaking, briefly overlay a soft-focus cutaway (picture-in-picture or quick full-frame cut) of a compact San Francisco apartment bathroom with off-white tiled walls, a small frosted window, a white bathtub-shower combination, slightly peeling off-white paint on the ceiling, and faint gray-green mold spots forming near the tub surround and window frame. Then return to the instructor by the end of the line. Maintain a calm, precise, technical explanation tone emphasizing clarity and safety. Keep the same low office ambience; in the bathroom cutaway, subtly suggest a faint imagined musty atmosphere but no exaggerated sound. The instructor looks serious but approachable and says clearly, 'Mold is a common fungus that thrives on moisture, appearing as fuzzy, powdery, or shiny patches with musty odors.' Match lip-sync closely and include small, educational hand gestures timed with key phrases.\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt3\",\n \"value\": \"Create an 8-second training clip that feels like the next sentence in the same lesson. Again feature the same blond haired blue eyed, 6 foot individual with a basic tapered haircut, dressed in a fitted blue polo shirt with a white embroidered Structure Properties logo on the left chest, wearing brown khaki pants and dark brown leather shoes. They remain in the same small, brightly lit training room inside a modern office, with light gray walls, no windows, a 50-inch wall-mounted flatscreen TV turned off behind the speaker, a whiteboard mounted to one side, and a simple black tripod camera positioned in front of them. Begin with a medium shot, then as they speak, intercut quick, precise B-roll examples: first, a view inside an older San Francisco apartment living room with cream-colored walls, hardwood floors, tall single-pane windows showing a foggy street outside, a beige fabric sofa, and a section of ceiling near a corner discolored with yellow-brown water stains; second, a view of a dim basement storage area with exposed wooden joists, concrete floor, metal shelving, and a shallow pool of water reflecting flickering overhead fluorescent lights. Subtly emphasize condensation on the tall single-pane window and a slow drip into the shallow pool of water. Layer in very soft drip sounds during the B-roll while keeping the consistent office ambience underneath. The instructor maintains a calm, precise, technical explanation tone, using one or two measured hand gestures. They say clearly, 'In our San Francisco rentals, mold usually comes from humidity, condensation on single-pane windows, and unresolved plumbing or roof leaks.' Ensure the voice carries continuously over both the instructor shot and the B-roll, with accurate lip-sync when on the instructor\u2019s face.\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt4\",\n \"value\": \"Produce an 8-second clip that transitions into legal responsibilities while keeping visual and character continuity. Show the same blond haired blue eyed, 6 foot individual with a basic tapered haircut, dressed in a fitted blue polo shirt with a white embroidered Structure Properties logo on the left chest, wearing brown khaki pants and dark brown leather shoes. They are still in the same small, brightly lit training room inside a modern office, with light gray walls, no windows, a 50-inch wall-mounted flatscreen TV turned off behind the speaker, a whiteboard mounted to one side, and a simple black tripod camera positioned in front of them. Now frame them slightly closer, from mid-torso up, with the flatscreen TV clearly visible over one shoulder. On the TV screen, show a simple clean graphic of balanced scales of justice and the text California Civil Code 1941.1 in a subtle, professional font. The instructor\u2019s expression is slightly more serious but still reassuring, embodying a reassuring, solution-focused tone that emphasizes responsibility, partnership, and legal awareness. Maintain the same quiet office ambience with a gentle HVAC hum and no music. The instructor looks directly into the camera and says, with measured emphasis on key phrases, 'Under California law, Structure Properties must maintain safe, habitable housing while residents manage ventilation, housekeeping, and reporting moisture problems early.' Keep gestures modest and aligned with the explanation, and ensure precise lip-sync.\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt5\",\n \"value\": \"Generate an 8-second clip that explains the two-step response process while visually reinforcing structure. Continue using the same blond haired blue eyed, 6 foot individual with a basic tapered haircut, dressed in a fitted blue polo shirt with a white embroidered Structure Properties logo on the left chest, wearing brown khaki pants and dark brown leather shoes. They remain in the same small, brightly lit training room inside a modern office, with light gray walls, no windows, a 50-inch wall-mounted flatscreen TV turned off behind the speaker, a whiteboard mounted to one side, and a simple black tripod camera positioned in front of them. This time, position the instructor slightly to the side so the whiteboard is clearly visible. On the whiteboard, show a simple handwritten-style flowchart with the headings Step 1: Assess and Step 2: Source Response, with arrows connecting them. As the instructor talks, briefly overlay quick, semi-transparent examples: a compact San Francisco apartment bathroom with off-white tiled walls, a small frosted window, a white bathtub-shower combination, slightly peeling off-white paint on the ceiling, and faint gray-green mold spots forming near the tub surround and window frame; and an older San Francisco apartment living room with cream-colored walls, hardwood floors, tall single-pane windows showing a foggy street outside, a beige fabric sofa, and a section of ceiling near a corner discolored with yellow-brown water stains. The instructor uses a calm, precise, technical explanation tone, occasionally pointing at Step 1 and Step 2 on the whiteboard. Ambient sound remains subtle office noise; optionally include a faint marker squeak as they tap the board. The instructor clearly says, 'Our leak response uses steps: first assess severity, safety, and materials, then follow source-specific actions for plumbing, roofs, or windows.' Ensure mouth movements, pointing, and flowchart content align with the spoken words.\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt6\",\n \"value\": \"Create an 8-second training clip that focuses on environmental testing and cost decisions while preserving the same instructional setup. Show again the same blond haired blue eyed, 6 foot individual with a basic tapered haircut, dressed in a fitted blue polo shirt with a white embroidered Structure Properties logo on the left chest, wearing brown khaki pants and dark brown leather shoes. They are still in the same small, brightly lit training room inside a modern office, with light gray walls, no windows, a 50-inch wall-mounted flatscreen TV turned off behind the speaker, a whiteboard mounted to one side, and a simple black tripod camera positioned in front of them. Frame the shot so the instructor stands just to one side while the flatscreen TV is turned on, displaying simple icons labeled Lead, Asbestos, Mold, and side-by-side bar charts comparing costs for Drying vs Removal for materials like drywall and flooring. The instructor uses a calm, precise, technical explanation tone, slightly more analytical, with subtle hand movements toward the TV graphic. Maintain soft office ambience without music; faint keyboard tapping or distant hallway sounds can be barely audible. As the charts shift slightly, the instructor says, 'Environmental testing for lead, asbestos, and mold guides mitigation, while cost comparisons help decide between drying materials or removing them.' Ensure the charts and icons update subtly in sync with the concepts mentioned in the dialogue, and keep lip-sync accurate.\"\n }\n },\n {\n \"json\": {\n \"name\": \"prompt7\",\n \"value\": \"Produce an 8-second closing clip that clearly feels like the conclusion of the same training series. Once more, feature the same blond haired blue eyed, 6 foot individual with a basic tapered haircut, dressed in a fitted blue polo shirt with a white embroidered Structure Properties logo on the left chest, wearing brown khaki pants and dark brown leather shoes. They stand centered again in the same small, brightly lit training room inside a modern office, with light gray walls, no windows, a 50-inch wall-mounted flatscreen TV turned off behind the speaker, a whiteboard mounted to one side, and a simple black tripod camera positioned in front of them. This time, the flatscreen TV behind them is powered on, showing a clean Structure Properties logo above the words Thank You in a calm, professional font. The instructor\u2019s expression is warm and appreciative, embodying a warm, confident, professional instructional tone with clear pacing and a sense of wrap-up. Keep the same subtle office ambience, with no music or extra sound effects. Use a gentle, slow push-in from a medium shot toward a slightly closer framing as they finish speaking. The instructor looks directly into the lens and says, 'Thank you for supporting Structure Properties' residents by identifying moisture early, documenting thoroughly, and choosing cost-effective solutions to protect homes.' Emphasize sincere delivery, steady eye contact, and precise lip-sync to create a cohesive, polished training finale.\"\n }\n }\n ]\n}\n\n\n\n\n\n\u2014---\n\nBase video prompt after request below, following it as close as possible, only expanding on desriibing elements, ENSURING TO KEEP ELEMENT DESCRIPTIONS INDEPENDENTLY IN ALL PROMPTS:\n\n\n{{ $json.Input }}\n\nYOUR OUTPUT IS GOING TO BE PARSED AND WONT BE ACCEPTED IF YOU DONT REPLY IN THIS FORMAT:\n\n{\n\t\"items\": [\n\t\t{\n\t\t\t\"script\": \"Example script text\",\n\t\t\t\"prompt1\": \"First prompt\",\n\t\t\t\"prompt2\": \"Second prompt\",\n\t\t\t\"prompt3\": \"Third prompt\",\n\t\t\t\"prompt4\": \"Fourth prompt\",\n\t\t\t\"prompt5\": \"Fifth prompt\",\n\t\t\t\"prompt6\": \"Sixth prompt\",\n\t\t\t\"prompt7\": \"Seventh prompt\"\n\t\t}\n\t]\n}\n",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 3
},
{
"id": "dbc74086-3648-4e76-a2f7-b88c6cf395d1",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-416,
1520
],
"parameters": {
"jsonSchemaExample": "{\n\t\"items\": [\n\t\t{\n\t\t\t\"script\": \"Example script text\",\n\t\t\t\"prompt1\": \"First prompt\",\n\t\t\t\"prompt2\": \"Second prompt\",\n\t\t\t\"prompt3\": \"Third prompt\",\n\t\t\t\"prompt4\": \"Fourth prompt\",\n\t\t\t\"prompt5\": \"Fifth prompt\",\n\t\t\t\"prompt6\": \"Sixth prompt\",\n\t\t\t\"prompt7\": \"Seventh prompt\"\n\t\t}\n\t]\n}"
},
"typeVersion": 1.3
},
{
"id": "feccc0a1-bf1a-4dae-9ef4-4c7b0b61cbd3",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-608,
1520
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5.1",
"cachedResultName": "gpt-5.1"
},
"options": {
"timeout": 3600000
},
"builtInTools": {}
},
"typeVersion": 1.3
},
{
"id": "3b6114fa-de1e-49e9-87b0-9583a8a906f6",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
1216
],
"parameters": {
"color": 7,
"content": "## Fal\n\nFal.AI configuration:\n\nFal is an AI platform and we will be using their ffmpeg video combiner"
},
"typeVersion": 1
},
{
"id": "455af680-6890-4945-b85b-dd563c2272b9",
"name": "If1",
"type": "n8n-nodes-base.if",
"position": [
-112,
784
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "52c07df7-85c6-431d-9621-f01c8fa7dec3",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.data.text }}",
"rightValue": "RETRY"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "5f2af6a1-4aad-4fc8-a67d-54e9209154a3",
"name": "Save to Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
-592,
608
],
"parameters": {
"columns": {
"value": {
"Script": "={{ $('AI Agent').item.json.output.items[0].script }}",
"Prompt 1": "={{ $('AI Agent').item.json.output.items[0].prompt1 }}",
"Prompt 2": "={{ $('AI Agent').item.json.output.items[0].prompt2 }}",
"Prompt 3": "={{ $('AI Agent').item.json.output.items[0].prompt3 }}",
"Prompt 4": "={{ $('AI Agent').item.json.output.items[0].prompt4 }}",
"Prompt 5": "={{ $('AI Agent').item.json.output.items[0].prompt5 }}",
"Prompt 6": "={{ $('AI Agent').item.json.output.items[0].prompt6 }}",
"Prompt 7": "={{ $('AI Agent').item.json.output.items[0].prompt7 }}"
},
"schema": [
{
"id": "Script",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Script",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Prompt 1",
"type": "string",
"display": true,
"required": false,
"displayName": "Prompt 1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Prompt 2",
"type": "string",
"display": true,
"required": false,
"displayName": "Prompt 2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Prompt 3",
"type": "string",
"display": true,
"required": false,
"displayName": "Prompt 3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Prompt 4",
"type": "string",
"display": true,
"required": false,
"displayName": "Prompt 4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Prompt 5",
"type": "string",
"display": true,
"required": false,
"displayName": "Prompt 5",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Prompt 6",
"type": "string",
"display": true,
"required": false,
"displayName": "Prompt 6",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Prompt 7",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Prompt 7",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Script"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1tcRujkSHOF6Swtm-Xd7C9lLozJ5R3NvVkW_v7Ei7-zc/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1tcRujkSHOF6Swtm-Xd7C9lLozJ5R3NvVkW_v7Ei7-zc",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1tcRujkSHOF6Swtm-Xd7C9lLozJ5R3NvVkW_v7Ei7-zc/edit?usp=drivesdk",
"cachedResultName": "VEO Videos"
}
},
"typeVersion": 4.7
},
{
"id": "6a4693a8-117d-4fbd-af94-1aa222003985",
"name": "Send message and wait for response",
"type": "n8n-nodes-base.telegram",
"position": [
-320,
624
],
"parameters": {
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"message": "LOOK AT THE MOST RECENT SPREADHSEET INPUT AND THEN REPLY WITH: \"CONFIRM\" OR \"RETRY\"\n\n (insert sheets link)",
"options": {},
"operation": "sendAndWait",
"responseType": "freeText"
},
"typeVersion": 1.2
},
{
"id": "45b12586-fe78-41e7-89f9-b2048e2da508",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-240,
64
],
"parameters": {
"color": 7,
"height": 304,
"content": "## Notice\n\nDepending on your google API level, you can only run this once or twicer per day before reaching a limit, If you need more, you can configure fal.ai nodes instead of gemani, although it is more expensive."
},
"typeVersion": 1
},
{
"id": "688ae6a6-6a3d-4822-b1cc-bd88ab48878c",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1872,
640
],
"parameters": {
"width": 816,
"height": 1440,
"content": "## How It Works\n\n- This workflow creates a long-form video by combining multiple short clips into one final video \n- The process starts with a Telegram trigger \n - You send a message containing a video idea or request \n - The workflow immediately replies to confirm processing has started \n - You are warned not to send additional messages until completion \n- An AI agent takes your input and generates: \n - A full video script \n - Seven detailed, independent video prompts \n- Prompts are structured to maintain visual and narrative continuity \n - Each clip is generated separately but designed to flow together \n- Each prompt is sent to **Veo 3** \n - Veo 3 generates one 8-second video clip per prompt \n- After each clip is created: \n - It is uploaded to Google Drive \n - The file is made publicly accessible \n - Public URLs are required for Fal\u2019s ffmpeg merge process \n- As clips finish generating, progress updates are sent to Telegram \n- Once all seven clips are ready: \n - Their public URLs are merged using Fal\u2019s video combining service \n - The workflow periodically checks merge status until completion \n- The final output is a single video (~1 minute long) \n- When ready, the final video is sent directly back to you on Telegram \n- No automatic posting occurs \n - The video is delivered for review, download, or manual distribution \n\n---\n\n## Human in the Loop\n\n- Human confirmation is required before video generation begins \n- Progress updates keep you informed during generation \n- Final output is reviewed manually \n- No auto-posting or auto-publishing is performed \n\n---\n\n## Setup\n\n- Create a Telegram bot using **BotFather** \n - Connect it to n8n for message triggers and status updates \n- Enable the **Google Drive API** \n - Configure credentials in n8n \n - The upload folder must be public so Fal can access video URLs \n- (Optional) Enable the **Google Sheets API** \n - Used to store generated scripts and prompts \n - Allows manual review and confirmation before video creation \n- Enable the **Gemini** or **OpenAI API** \n - Used by the AI agent for script writing and prompt generation \n- Create an account on **fal.ai** \n - Generate an API key \n - Enter it in n8n using the format: \n - `Key YOUR_FAL_API_KEY` \n - A minimum deposit is required \n - Each workflow run costs only a fraction of a cent \n- No YouTube credentials are required \n - This workflow does not post videos automatically \n"
},
"typeVersion": 1
},
{
"id": "76dad4e5-27f8-442c-9d9b-fdf523c1bef4",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
-960,
400
],
"parameters": {
"color": 7,
"width": 960,
"height": 1360,
"content": "## Trigger ##"
},
"typeVersion": 1
},
{
"id": "c376146f-7e65-469c-8793-36022ba06c5f",
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
32,
0
],
"parameters": {
"color": 7,
"width": 928,
"height": 3040,
"content": "## Generation ##"
},
"typeVersion": 1
},
{
"id": "e115527d-7e56-45f4-b9a5-b8834f86614a",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
976,
1408
],
"parameters": {
"color": 7,
"width": 1264,
"height": 704,
"content": "## Get Video"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "c4e078ff-0f4a-4831-8f8c-0612e1c002fa",
"connections": {
"If": {
"main": [
[
{
"node": "HTTP Request2",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"If1": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
],
[
{
"node": "Generate a video",
"type": "main",
"index": 0
},
{
"node": "Generate a video4",
"type": "main",
"index": 0
},
{
"node": "Wait4",
"type": "main",
"index": 0
},
{
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow turns a single Telegram prompt into a fully generated, visually consistent, one-minute video using Veo 3. It’s built for creators, agencies, and brands that want fast, scalable short-form content without sacrificing quality.
Source: https://n8n.io/workflows/11540/ — 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.
This project is a template for building a complete academic virtual assistant using n8n. It connects to Telegram, answers frequently asked questions by querying MongoDB, keeps the community informed a
RAG CHATBOT Main. Uses telegram, telegramTrigger, lmChatOpenAi, n8n-nodes-mcp. Event-driven trigger; 87 nodes.
Digital marketers, content creators, social media managers, and businesses who want to use AI marketing automation for YouTube Shorts without spending hours on production. This AI workflow helps anyon