This workflow corresponds to n8n.io template #6669 — we link there as the canonical source.
This workflow follows the Agent → 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": "6YNP1fiUlbEPsnOx",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "\ud83d\udca5 Create and Auto-Post Viral AI Videos with VEO3 and Blotato to 9 Platforms _ VIDE",
"tags": [],
"nodes": [
{
"id": "3a24a31d-cc04-41f8-ac63-60ebd9e52a8f",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
140,
120
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "bee31eed-9f5f-4f83-b3b4-8862357bb327",
"name": "Think",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
280,
120
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d83ea141-8a83-434e-93ca-d2949975be28",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
420,
120
],
"parameters": {
"jsonSchemaExample": "{\n \"title\": \"string\",\n \"final_prompt\": \"string\"\n}\n"
},
"typeVersion": 1.3
},
{
"id": "d61326fc-3737-4101-8a8c-ce0b685ade2d",
"name": "Assign Social Media IDs",
"type": "n8n-nodes-base.set",
"position": [
700,
240
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "{\n \"instagram_id\": \"1111\",\n \"youtube_id\": \"1111\",\n \"threads_id\": \"1111\",\n \"tiktok_id\": \"1111\",\n \"facebook_id\": \"1111\",\n \"facebook_page_id\": \"1111\",\n \"twitter_id\": \"1111\",\n \"linkedin_id\": \"1111\",\n \"pinterest_id\": \"1111\",\n \"pinterest_board_id\": \"1111\",\n \"bluesky_id\": \"1111\"\n}\n"
},
"typeVersion": 3.4
},
{
"id": "23cb30e0-29db-44ac-ba88-b917500017be",
"name": "Upload Video to Blotato",
"type": "n8n-nodes-base.httpRequest",
"position": [
700,
400
],
"parameters": {
"url": "https://backend.blotato.com/v2/media",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "url",
"value": "={{ $('Save Caption Video to Google Sheets').item.json['URL VIDEO'] }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "blotato-api-key",
"value": "YOUR_API"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "6051250a-9cb8-4119-8544-9bcb0636f9b3",
"name": "INSTAGRAM",
"type": "n8n-nodes-base.httpRequest",
"position": [
960,
-100
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"post\": {\n \"accountId\": \"{{ $('Assign Social Media IDs').item.json.instagram_id }}\",\n \"target\": {\n \"targetType\": \"instagram\"\n },\n \"content\": {\n \"text\": \"{{ $('Save Rewritten Video to Google Sheets').item.json.Caption }}\",\n \"platform\": \"instagram\",\n \"mediaUrls\": [\n \"{{ $json.url }}\"\n ]\n }\n }\n}\n\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "blotato-api-key",
"value": "YOUR_API"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "83fa2f7f-30f6-4f6b-8792-9a84a37b050b",
"name": "YOUTUBE",
"type": "n8n-nodes-base.httpRequest",
"position": [
1180,
-100
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"post\": {\n \"accountId\": \"{{ $('Assign Social Media IDs').item.json.youtube_id }}\",\n \"target\": {\n \"targetType\": \"youtube\",\n \"title\": \"{{ $('Save Caption Video to Google Sheets').item.json.Title }}\",\n \"privacyStatus\": \"unlisted\",\n \"shouldNotifySubscribers\": \"false\"\n },\n \"content\": {\n \"text\": \"{{ $('Save Caption Video to Google Sheets').item.json.CAPTION }}\",\n \"platform\": \"youtube\",\n \"mediaUrls\": [\n \"{{ $json.url }}\"\n ]\n }\n }\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "blotato-api-key",
"value": "YOUR_API"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "722b97fd-b2ec-4939-b971-0d7380fdebf9",
"name": "TIKTOK",
"type": "n8n-nodes-base.httpRequest",
"position": [
1380,
-100
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"post\": {\n \"accountId\": \"{{ $('Assign Social Media IDs').item.json.tiktok_id }}\",\n \"target\": {\n \"targetType\": \"tiktok\",\n \"isYourBrand\": \"false\", \n \"disabledDuet\": \"false\",\n \"privacyLevel\": \"PUBLIC_TO_EVERYONE\",\n \"isAiGenerated\": \"true\",\n \"disabledStitch\": \"false\",\n \"disabledComments\": \"false\",\n \"isBrandedContent\": \"false\"\n \n },\n \"content\": {\n \"text\": \"{{ $('Save Rewritten Video to Google Sheets').item.json.Caption }}\",\n \"platform\": \"tiktok\",\n \"mediaUrls\": [\n \"{{ $json.url }}\"\n ]\n }\n }\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "blotato-api-key",
"value": "YOUR_API"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "941bf8e2-fb7d-4a4e-adf4-2a1d6e7abb42",
"name": "FACEBOOK",
"type": "n8n-nodes-base.httpRequest",
"position": [
960,
140
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"post\": {\n \"accountId\": \"{{ $('Assign Social Media IDs').item.json.facebook_id }}\",\n \"target\": {\n \"targetType\": \"facebook\",\n \"pageId\": \"{{ $('Assign Social Media IDs').item.json.facebook_page_id }}\"\n\n \n },\n \"content\": {\n \"text\": \"{{ $('Save Rewritten Video to Google Sheets').item.json.Caption }}\",\n \"platform\": \"facebook\",\n \"mediaUrls\": [\n \"{{ $json.url }}\"\n ]\n }\n }\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "blotato-api-key",
"value": "YOUR_API"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "99f7f86c-d672-4c7e-997d-675b529a42ad",
"name": "THREADS",
"type": "n8n-nodes-base.httpRequest",
"position": [
1180,
140
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"post\": {\n \"accountId\": \"{{ $('Assign Social Media IDs').item.json.threads_id }}\",\n \"target\": {\n \"targetType\": \"threads\"\n \n },\n \"content\": {\n \"text\": \"{{ $('Save Rewritten Video to Google Sheets').item.json.Caption }}\",\n \"platform\": \"threads\",\n \"mediaUrls\": [\n \"{{ $json.url }}\"\n ]\n }\n }\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "blotato-api-key",
"value": "YOUR_API"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "a1f282da-7e3e-4575-b0ca-8658c776aad8",
"name": "TWETTER",
"type": "n8n-nodes-base.httpRequest",
"position": [
1380,
140
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"post\": {\n \"accountId\": \"{{ $('Assign Social Media IDs').item.json.twitter_id }}\",\n \"target\": {\n \"targetType\": \"twitter\"\n \n },\n \"content\": {\n \"text\": \"{{ $('Save Rewritten Video to Google Sheets').item.json.Caption }}\",\n \"platform\": \"twitter\",\n \"mediaUrls\": [\n \"{{ $json.url }}\"\n ]\n }\n }\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "blotato-api-key",
"value": "=YOUR_API"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "cab59e45-cf4d-47ce-baaa-89f697df7d36",
"name": "LINKEDIN",
"type": "n8n-nodes-base.httpRequest",
"position": [
960,
380
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"post\": {\n \"accountId\": \"{{ $('Assign Social Media IDs').item.json.linkedin_id }}\",\n \"target\": {\n \"targetType\": \"linkedin\"\n \n },\n \"content\": {\n \"text\": \"{{ $('Save Rewritten Video to Google Sheets').item.json.Caption }}\",\n \"platform\": \"linkedin\",\n \"mediaUrls\": [\n \"{{ $json.url }}\"\n ]\n }\n }\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "blotato-api-key",
"value": "YOUR_API"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "6afa2d8e-2c5f-4bab-9119-ecb24f9d5324",
"name": "BLUESKY",
"type": "n8n-nodes-base.httpRequest",
"position": [
1180,
380
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"jsonBody": "= {\n \"post\": {\n \"accountId\": \"{{ $('Assign Social Media IDs').item.json.bluesky_id }}\",\n \"target\": {\n \"targetType\": \"bluesky\"\n \n },\n \"content\": {\n \"text\": \"{{ $('Save Rewritten Video to Google Sheets').item.json.Caption }}\",\n \"platform\": \"bluesky\",\n \"mediaUrls\": [\n \"https://pbs.twimg.com/media/GE8MgIiWEAAfsK3.jpg\"\n ]\n }\n }\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "blotato-api-key",
"value": "YOUR_API"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "472f11a9-cb24-4f86-a1fe-85ccb2f2d4ce",
"name": "PINTEREST",
"type": "n8n-nodes-base.httpRequest",
"position": [
1380,
380
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"post\": {\n \"accountId\": \"{{ $('Assign Social Media IDs').item.json.pinterest_id }}\",\n \"target\": {\n \"targetType\": \"pinterest\",\n \"boardId\": \"{{ $('Assign Social Media IDs').item.json.pinterest_board_id }}\" \n },\n \"content\": {\n \"text\": \"{{ $('Save Rewritten Video to Google Sheets').item.json.Caption }}\",\n \"platform\": \"pinterest\",\n \"mediaUrls\": [\n \"https://pbs.twimg.com/media/GE8MgIiWEAAfsK3.jpg\"\n ]\n }\n }\n}\n\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "blotato-api-key",
"value": "YOUR_API"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "d4cd677b-4f29-42a7-8604-31c9dc5cef85",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
620,
-200
],
"parameters": {
"color": 3,
"width": 960,
"height": 820,
"content": "# \ud83d\udfe5 STEP 3 \u2014 Auto-Publish to 9 Social Media Platforms\n"
},
"typeVersion": 1
},
{
"id": "c28e07f7-a015-41c4-9954-f10eea999496",
"name": "Send Video URL via Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
700,
-100
],
"parameters": {
"text": "=Url VIDEO : {{ $json['URL VIDEO'] }}",
"chatId": "={{ $('Telegram Trigger: Receive Video Idea').item.json.message.chat.id }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "b413ac75-1eb6-4dc2-b361-88711716a41b",
"name": "Send Final Video Preview",
"type": "n8n-nodes-base.telegram",
"position": [
700,
80
],
"parameters": {
"file": "={{ $('Save Caption Video to Google Sheets').item.json['URL VIDEO'] }}",
"chatId": "={{ $json.result.chat.id }}",
"operation": "sendVideo",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "bb7f1769-3b80-4833-b645-71626c6b01eb",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-600,
-200
],
"parameters": {
"width": 1180,
"height": 460,
"content": "# \ud83d\udfeb STEP 1 \u2014 Generate the Perfect Video Ad Script"
},
"typeVersion": 1
},
{
"id": "e4cd7813-f9b7-4374-b55b-274079eff95f",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-600,
300
],
"parameters": {
"color": 4,
"width": 1180,
"height": 320,
"content": "# \ud83d\udfe6 STEP 2 \u2014 Generate the Full Video with VEO3"
},
"typeVersion": 1
},
{
"id": "734b05cc-ad1a-4485-87d5-c560958ad80c",
"name": "Telegram Trigger: Receive Video Idea",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-520,
-100
],
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "7d148aac-728d-4686-9935-bea9158f2e9b",
"name": "Read Video Parameters from Google Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
-300,
-100
],
"parameters": {
"sheetName": {
"__rl": true,
"mode": "id",
"value": ""
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "fb6ac68e-170d-4af4-8869-722f5c5c43a8",
"name": "Set Master Prompt",
"type": "n8n-nodes-base.set",
"position": [
-100,
-100
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "cc2e0500-57b1-4615-82cb-1c950e5f2ec4",
"name": "json_master",
"type": "string",
"value": "={\n \"description\": \"Brief narrative description of the scene, focusing on key visual storytelling and product transformation.\",\n \"style\": \"cinematic | photorealistic | stylized | gritty | elegant\",\n \"camera\": {\n \"type\": \"fixed | dolly | Steadicam | crane combo\",\n \"movement\": \"describe any camera moves like slow push-in, pan, orbit\",\n \"lens\": \"optional lens type or focal length for cinematic effect\"\n },\n \"lighting\": {\n \"type\": \"natural | dramatic | high-contrast\",\n \"sources\": \"key lighting sources (sunset, halogen, ambient glow...)\",\n \"FX\": \"optional VFX elements like fog, reflections, flares\"\n },\n \"environment\": {\n \"location\": \"describe location or room (kitchen, desert, basketball court...)\",\n \"set_pieces\": [\n \"list of key background or prop elements\",\n \"e.g. hardwood floors, chain-link fence, velvet surface\"\n ],\n \"mood\": \"describe the ambient atmosphere (moody, clean, epic...)\"\n },\n \"elements\": [\n \"main physical items involved (product box, accessories, vehicles...)\",\n \"include brand visibility (logos, packaging, texture...)\"\n ],\n \"subject\": {\n \"character\": {\n \"description\": \"optional \u2013 physical description, outfit\",\n \"pose\": \"optional \u2013 position or gesture\",\n \"lip_sync_line\": \"optional \u2013 spoken line if there\u2019s a voiceover\"\n },\n \"product\": {\n \"brand\": \"Brand name\",\n \"model\": \"Product model or name\",\n \"action\": \"description of product transformation or assembly\"\n }\n },\n \"motion\": {\n \"type\": \"e.g. transformation, explosion, vortex\",\n \"details\": \"step-by-step visual flow of how elements move or evolve\"\n },\n \"VFX\": {\n \"transformation\": \"optional \u2013 describe style (neon trails, motion blur...)\",\n \"impact\": \"optional \u2013 e.g. shockwave, glow, distortion\",\n \"particles\": \"optional \u2013 embers, sparks, thread strands...\",\n \"environment\": \"optional \u2013 VFX affecting the scene (ripples, wind...)\"\n },\n \"audio\": {\n \"music\": \"optional \u2013 cinematic score, trap beat, ambient tone\",\n \"sfx\": [\n \"list of sound effects (zip, pop, woosh...)\"\n ],\n \"ambience\": \"optional \u2013 background soundscape (traffic, wind...)\",\n \"voiceover\": {\n \"delivery\": \"tone and style (confident, whisper, deep...)\",\n \"line\": \"text spoken if applicable\"\n }\n },\n \"ending\": \"Final shot description \u2013 what is seen or felt at the end (freeze frame, logo pulse, glow...)\",\n \"text\": \"none | overlay | tagline | logo pulse at end only\",\n \"format\": \"16:9 | 4k | vertical\",\n \"keywords\": [\n \"brand\",\n \"scene style\",\n \"motion type\",\n \"camera style\",\n \"sound mood\",\n \"target theme\"\n ]\n}\n"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "9c5a3e25-0d01-4336-a6ec-72ab35ed92f9",
"name": "AI Agent: Generate Video Script",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
220,
-100
],
"parameters": {
"text": "={{ $('Telegram Trigger: Receive Video Idea').item.json.message.text }}",
"options": {
"systemMessage": "=system_prompt:\n ## SYSTEM PROMPT: Structured Video Ad Prompt Generator\n A - Ask:\n Generate a structured video ad prompt for cinematic generation, strictly based on the master schema provided in: {{ $json.json_master }}.\n The final result must be a JSON object with exactly two top-level keys: `title` and `final_prompt`.\n\n G - Guidance:\n role: Creative Director\n output_count: 1\n character_limit: None\n constraints:\n - The output must be valid JSON.\n - The `title` field should contain a short, descriptive and unique title (max 15 words).\n - The `final_prompt` field must contain a **single-line JSON string** that follows the exact structure of {{ $json.json_master }} with all fields preserved.\n - Do not include any explanations, markdown, or extra text \u2014 only the JSON object.\n - Escape all inner quotes in the `final_prompt` string so it is valid as a stringified JSON inside another JSON.\n tool_usage:\n - Ensure consistent alignment across all fields (camera, lighting, motion, etc.).\n - Maintain full structure even for optional fields (use \"none\", \"\", or [] as needed).\n\n N - Notation:\n format: JSON\n expected_output:\n {\n \"title\": \"A unique short title for the scene\",\n \"final_prompt\": \"{...stringified JSON of the full prompt...}\"\n }\n"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "01cfad33-3671-4671-b2d3-2db8f2be6923",
"name": "Generate Video with VEO3",
"type": "n8n-nodes-base.httpRequest",
"position": [
-500,
400
],
"parameters": {
"url": "https://api.kie.ai/api/v1/veo/generate",
"body": "={\n \"prompt\": {{ $json.output.final_prompt }},\n \"model\": \"{{ $('Read Video Parameters from Google Sheet').item.json.model }}\",\n \"aspectRatio\": \"16:9\"\n}",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "raw",
"authentication": "genericCredentialType",
"rawContentType": "application/json",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "63135ebc-4394-4b25-a1ab-4109219e7331",
"name": "Wait for VEO3 Rendering",
"type": "n8n-nodes-base.wait",
"position": [
-280,
400
],
"parameters": {
"unit": "minutes",
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "4f7858bd-35b5-40c3-aaad-c547a2b04ac5",
"name": "Download Video from VEO3",
"type": "n8n-nodes-base.httpRequest",
"position": [
-80,
400
],
"parameters": {
"url": "https://api.kie.ai/api/v1/veo/record-info",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "taskId",
"value": "={{ $('Generate Video with VEO3').item.json.data.taskId }}"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "16e899cf-0a46-41b9-8eff-dfad29acc2c7",
"name": "Rewrite Caption with GPT-4o",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
80,
400
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "GPT-4O"
},
"options": {},
"messages": {
"values": [
{
"content": "=You are rewriting a TikTok video script, caption, and overlay \u2014\nnot inventing a new one. You must follow this format and obey\nthese rules strictly.\n---\n### CONTEXT:\nHere is the content idea to use:\n{{ $('Telegram Trigger: Receive Video Idea').item.json.message.text }}\nand the Title is : {{ $('AI Agent: Generate Video Script').item.json.output.title }}\n\n\nWrite the caption text using the topic.\n\n---\n- MUST be under 200 characters (yes \"Characters\" not wordcount)\nthis is an absolute MUST, no more than 200 characters!!! \n\n### FINAL OUTPUT FORMAT (no markdown formatting):\n\nDO NOT return any explanations. Only return the Caption Text\n"
}
]
}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.8
},
{
"id": "2a8539e3-f8cd-4322-bd19-c2006840d1c8",
"name": "Save Caption Video to Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
380,
400
],
"parameters": {
"columns": {
"value": {
"Title": "={{ $('AI Agent: Generate Video Script').item.json.output.title }}",
"Prompt": "={{ $('AI Agent: Generate Video Script').item.json.output.final_prompt }}",
"CAPTION": "={{ $json.message.content }}",
"Subject": "={{ $('Telegram Trigger: Receive Video Idea').item.json.message.text }}",
"URL VIDEO": "={{ $('Download Video from VEO3').item.json.data.response.resultUrls[0] }}"
},
"schema": [
{
"id": "Title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Subject",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Subject",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Prompt",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL VIDEO",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL VIDEO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "CAPTION",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "CAPTION",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "id",
"value": "="
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "9622c800-2c3e-43d4-a9d6-37e81972a273",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-600,
-300
],
"parameters": {
"color": 5,
"width": 2180,
"height": 80,
"content": "# Create and Auto-Post Viral AI Videos with VEO3 and Blotato to 9 Platforms (By Dr. Firas) - **Documentation** : [NOTION](https://automatisation.notion.site/Create-and-Auto-Post-Viral-AI-Videos-with-VEO3-and-Blotato-to-9-Platforms-23f3d6550fd98037ab1ee9f803400666?source=copy_link)\n\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "c2f4f1fa-fe16-490b-884d-efde99737cea",
"connections": {
"Think": {
"ai_tool": [
[
{
"node": "AI Agent: Generate Video Script",
"type": "ai_tool",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent: Generate Video Script",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Set Master Prompt": {
"main": [
[
{
"node": "AI Agent: Generate Video Script",
"type": "main",
"index": 0
}
]
]
},
"Assign Social Media IDs": {
"main": [
[
{
"node": "Upload Video to Blotato",
"type": "main",
"index": 0
}
]
]
},
"Upload Video to Blotato": {
"main": [
[
{
"node": "INSTAGRAM",
"type": "main",
"index": 0
},
{
"node": "YOUTUBE",
"type": "main",
"index": 0
},
{
"node": "TIKTOK",
"type": "main",
"index": 0
},
{
"node": "FACEBOOK",
"type": "main",
"index": 0
},
{
"node": "THREADS",
"type": "main",
"index": 0
},
{
"node": "TWETTER",
"type": "main",
"index": 0
},
{
"node": "LINKEDIN",
"type": "main",
"index": 0
},
{
"node": "BLUESKY",
"type": "main",
"index": 0
},
{
"node": "PINTEREST",
"type": "main",
"index": 0
}
]
]
},
"Wait for VEO3 Rendering": {
"main": [
[
{
"node": "Download Video from VEO3",
"type": "main",
"index": 0
}
]
]
},
"Download Video from VEO3": {
"main": [
[
{
"node": "Rewrite Caption with GPT-4o",
"type": "main",
"index": 0
}
]
]
},
"Generate Video with VEO3": {
"main": [
[
{
"node": "Wait for VEO3 Rendering",
"type": "main",
"index": 0
}
]
]
},
"Send Final Video Preview": {
"main": [
[
{
"node": "Assign Social Media IDs",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent: Generate Video Script",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Rewrite Caption with GPT-4o": {
"main": [
[
{
"node": "Save Caption Video to Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Send Video URL via Telegram": {
"main": [
[
{
"node": "Send Final Video Preview",
"type": "main",
"index": 0
}
]
]
},
"AI Agent: Generate Video Script": {
"main": [
[
{
"node": "Generate Video with VEO3",
"type": "main",
"index": 0
}
]
]
},
"Save Caption Video to Google Sheets": {
"main": [
[
{
"node": "Send Video URL via Telegram",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger: Receive Video Idea": {
"main": [
[
{
"node": "Read Video Parameters from Google Sheet",
"type": "main",
"index": 0
}
]
]
},
"Read Video Parameters from Google Sheet": {
"main": [
[
{
"node": "Set Master Prompt",
"type": "main",
"index": 0
}
]
]
}
}
}
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.
googleSheetsOAuth2ApihttpHeaderAuthopenAiApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
Source: https://n8n.io/workflows/6669/ — 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.
BoomerBobBot.TP. Uses agent, telegramTrigger, telegram, memoryBufferWindow. Event-driven trigger; 95 nodes.
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.
RAG CHATBOT Main. Uses telegram, telegramTrigger, lmChatOpenAi, n8n-nodes-mcp. Event-driven trigger; 87 nodes.
Creators, marketers, and brands that want to turn a single product photo into premium motion clips, then optionally publish to Instagram/TikTok/YouTube via LATE. No editing skills required.