This workflow corresponds to n8n.io template #5916 — 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 →
{
"meta": {
"tags": [
"ai",
"video",
"content-creation",
"social-media",
"automation",
"asmr"
],
"templateId": "ai-viral-video-factory",
"description": "AI-powered workflow for generating viral ASMR content with automated social media publishing",
"templateCredsSetupCompleted": false
},
"name": "AI Viral Video Factory - ASMR viiral Content Generator",
"nodes": [
{
"id": "567d5588-ca94-43c7-b856-17239da45750",
"name": "Section: Input and Ideation",
"type": "n8n-nodes-base.stickyNote",
"position": [
260,
1660
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b3e014f3-849a-4532-b406-18f3cb6305d9",
"name": "Trigger: Start Daily Content Generation",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
440,
1840
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "aabf432b-b4d4-4e56-9710-52495f08d007",
"name": "AI Agent: Generate Creative Video Idea",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
700,
1840
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "09e27c25-772b-41e5-8255-723d23398a64",
"name": "Tool: Inject Creative Perspective (Idea)",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
780,
2060
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1f1985b1-d1eb-4c65-9d99-f96542273dc6",
"name": "LLM: Generate Raw Idea (GPT-4.1)",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
660,
2060
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "a2c57dca-ed2e-4712-a735-8da0c727470f",
"name": "Parse AI Output (Idea, Environment, Sound)",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
900,
2060
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "20db6d62-9db9-4942-a820-b520356f3209",
"name": "Save Idea & Metadata to Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
1100,
1840
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "49139fc9-2030-4d10-a9a7-4fd3a3779005",
"name": "AI Agent: Generate Detailed Video Prompts",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1360,
1840
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "4c34c0b0-5c13-4d37-8b51-a209e598513a",
"name": "LLM: Draft Video Prompt Details (GPT-4.1)",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1320,
2060
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "5a7828fd-629c-45d4-9ff2-4b57be2eca33",
"name": "Tool: Refine and Validate Prompts",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
1440,
2060
],
"parameters": {},
"typeVersion": 1
},
{
"id": "bddb974b-e541-4f02-8595-45f76820b38e",
"name": "Parse Structured Video Prompt Output",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1560,
2060
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "443d3b99-1e6c-423c-b8ca-1c5a4c3ba180",
"name": "Parse Scene Prompts into Individual Items",
"type": "n8n-nodes-base.code",
"position": [
1760,
1840
],
"parameters": {},
"typeVersion": 2
},
{
"id": "78fc7648-9741-48c9-8127-2bdab7070ba7",
"name": "Generate Video Clips (Wavespeed AI)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1980,
1840
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "1bc37dc5-fd16-4dc0-a153-11d19d8d4068",
"name": "Generate ASMR Sound (Fal AI)",
"type": "n8n-nodes-base.httpRequest",
"position": [
3080,
1640
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "37f9678e-e5cb-444c-ba88-c73cc04f4f39",
"name": "Extract Video URL from Generation Response",
"type": "n8n-nodes-base.code",
"position": [
2860,
1640
],
"parameters": {},
"typeVersion": 2
},
{
"id": "d472b385-a76f-459a-8cc9-fcbd50db4977",
"name": "Merge Clips into Final Video (Fal AI)",
"type": "n8n-nodes-base.httpRequest",
"position": [
3960,
1390
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "277e1e53-68b8-4a75-b525-aebc0213dc1e",
"name": "Wait for Video Processing (20s)",
"type": "n8n-nodes-base.wait",
"position": [
4480,
1280
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "f8b31fab-43f2-4cb1-8d7b-6d9fae331e50",
"name": "Save Final Video URL to Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
4620,
1120
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "89155cba-d20f-4d2a-9ea0-1193ef394016",
"name": "Configure Social Media Account IDs",
"type": "n8n-nodes-base.set",
"position": [
5060,
1115
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "503d2982-3d10-4bb1-a560-2539c00c8b4a",
"name": "Retrieve Final Video Data",
"type": "n8n-nodes-base.googleSheets",
"position": [
4840,
1120
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "85f2509a-9ef3-4e9b-a555-02eba572d443",
"name": "Upload Video to Blotato",
"type": "n8n-nodes-base.httpRequest",
"position": [
5280,
1120
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "9d229118-b3b8-46fe-9e8d-19f86e9f00a0",
"name": "Publish to Instagram",
"type": "n8n-nodes-base.httpRequest",
"position": [
5500,
860
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "75718ac7-7c63-4be8-a90d-1644515444ca",
"name": "Publish to TikTok",
"type": "n8n-nodes-base.httpRequest",
"position": [
5500,
1040
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "c1dbd008-961b-4151-8bab-5667bca24ee2",
"name": "Check if Video Generation Complete",
"type": "n8n-nodes-base.if",
"position": [
2200,
1840
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "75e2f437-c33d-4c5c-9309-cd7542e579cf",
"name": "Wait for Video Generation (20s)",
"type": "n8n-nodes-base.wait",
"position": [
2420,
1840
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "240fd8cb-42e3-49cf-8962-9833e69f3ae7",
"name": "Poll Video Generation Status",
"type": "n8n-nodes-base.httpRequest",
"position": [
2640,
1915
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "db5bfeff-ab06-47da-8a12-0f6f4c9fd5a0",
"name": "Build Video Status Check URL",
"type": "n8n-nodes-base.set",
"position": [
2420,
1640
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "595ba371-1878-4c60-8cef-ec9f37e84ad4",
"name": "Fetch Generated Video from Fal.ai Queue",
"type": "n8n-nodes-base.code",
"position": [
2640,
1640
],
"parameters": {},
"typeVersion": 2
},
{
"id": "4b121172-57c3-423b-8815-12b445add1f4",
"name": "Fetch Final Merged Video from Fal.ai",
"type": "n8n-nodes-base.code",
"position": [
4400,
1120
],
"parameters": {},
"typeVersion": 2
},
{
"id": "69c4a2fd-d016-423a-9c43-417d35ee0c42",
"name": "Check if Sound Generation Complete",
"type": "n8n-nodes-base.if",
"position": [
3300,
1640
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "f8f1eae5-a74b-49be-81fd-2d13e75441c7",
"name": "Wait for Sound Generation (20s)",
"type": "n8n-nodes-base.wait",
"position": [
3740,
1590
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "5d77d63c-2e46-4598-831b-058b4156dc96",
"name": "Check if Merge Complete",
"type": "n8n-nodes-base.if",
"position": [
4140,
1240
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "a25c95a2-771a-40a3-9c9b-0de56c919b87",
"name": "Poll Sound Generation Status",
"type": "n8n-nodes-base.httpRequest",
"position": [
3960,
1665
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "f9fca20b-20df-44f6-bcda-98e334e65e24",
"name": "Fetch Generated Audio from Fal.ai Queue",
"type": "n8n-nodes-base.code",
"position": [
3520,
1540
],
"parameters": {},
"typeVersion": 2
},
{
"id": "91b4ebb1-1509-4623-ab2c-e94a126c0fa8",
"name": "Poll Merge Status",
"type": "n8n-nodes-base.httpRequest",
"position": [
4280,
1340
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "628bb8b3-ba34-4e62-9d6c-076b76414bd4",
"name": "Section: Video Creation",
"type": "n8n-nodes-base.stickyNote",
"position": [
1900,
1620
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "d4f71583-7092-4524-93f0-52f25d6d2547",
"name": "Section: Sound Creation",
"type": "n8n-nodes-base.stickyNote",
"position": [
3000,
1540
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "9be25ca2-aee5-4a53-bc55-311becbc387f",
"name": "Section: Merge Video and Sound",
"type": "n8n-nodes-base.stickyNote",
"position": [
3880,
1100
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "09feb406-f890-4eb1-8627-f566c9fa019a",
"name": "Section: Social Media Publishing",
"type": "n8n-nodes-base.stickyNote",
"position": [
4980,
300
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"settings": {
"executionOrder": "v1"
},
"versionId": null,
"staticData": {
"node:Trigger: Start Daily Content Generation": {
"recurrenceRules": []
}
},
"connections": {
"Poll Merge Status": {
"main": [
[
{
"node": "Check if Merge Complete",
"type": "main",
"index": 0
}
]
]
},
"Check if Merge Complete": {
"main": [
[
{
"node": "Fetch Final Merged Video from Fal.ai",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait for Video Processing (20s)",
"type": "main",
"index": 0
}
]
]
},
"Upload Video to Blotato": {
"main": [
[
{
"node": "Publish to Instagram",
"type": "main",
"index": 0
},
{
"node": "Publish to TikTok",
"type": "main",
"index": 0
}
]
]
},
"Retrieve Final Video Data": {
"main": [
[
{
"node": "Configure Social Media Account IDs",
"type": "main",
"index": 0
}
]
]
},
"Build Video Status Check URL": {
"main": [
[
{
"node": "Fetch Generated Video from Fal.ai Queue",
"type": "main",
"index": 0
}
]
]
},
"Generate ASMR Sound (Fal AI)": {
"main": [
[
{
"node": "Check if Sound Generation Complete",
"type": "main",
"index": 0
}
]
]
},
"Poll Sound Generation Status": {
"main": [
[
{
"node": "Check if Sound Generation Complete",
"type": "main",
"index": 0
}
]
]
},
"Poll Video Generation Status": {
"main": [
[
{
"node": "Check if Video Generation Complete",
"type": "main",
"index": 0
}
]
]
},
"Save Final Video URL to Sheets": {
"main": [
[
{
"node": "Retrieve Final Video Data",
"type": "main",
"index": 0
}
]
]
},
"Wait for Sound Generation (20s)": {
"main": [
[
{
"node": "Poll Sound Generation Status",
"type": "main",
"index": 0
}
]
]
},
"Wait for Video Generation (20s)": {
"main": [
[
{
"node": "Poll Video Generation Status",
"type": "main",
"index": 0
}
]
]
},
"Wait for Video Processing (20s)": {
"main": [
[
{
"node": "Poll Merge Status",
"type": "main",
"index": 0
}
]
]
},
"LLM: Generate Raw Idea (GPT-4.1)": {
"ai_languageModel": [
[
{
"node": "AI Agent: Generate Creative Video Idea",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Tool: Refine and Validate Prompts": {
"ai_tool": [
[
{
"node": "AI Agent: Generate Detailed Video Prompts",
"type": "ai_tool",
"index": 0
}
]
]
},
"Check if Sound Generation Complete": {
"main": [
[
{
"node": "Fetch Generated Audio from Fal.ai Queue",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait for Sound Generation (20s)",
"type": "main",
"index": 0
}
]
]
},
"Check if Video Generation Complete": {
"main": [
[
{
"node": "Build Video Status Check URL",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait for Video Generation (20s)",
"type": "main",
"index": 0
}
]
]
},
"Configure Social Media Account IDs": {
"main": [
[
{
"node": "Upload Video to Blotato",
"type": "main",
"index": 0
}
]
]
},
"Generate Video Clips (Wavespeed AI)": {
"main": [
[
{
"node": "Check if Video Generation Complete",
"type": "main",
"index": 0
}
]
]
},
"Fetch Final Merged Video from Fal.ai": {
"main": [
[
{
"node": "Save Final Video URL to Sheets",
"type": "main",
"index": 0
}
]
]
},
"Parse Structured Video Prompt Output": {
"ai_outputParser": [
[
{
"node": "AI Agent: Generate Detailed Video Prompts",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Merge Clips into Final Video (Fal AI)": {
"main": [
[
{
"node": "Check if Merge Complete",
"type": "main",
"index": 0
}
]
]
},
"Save Idea & Metadata to Google Sheets": {
"main": [
[
{
"node": "AI Agent: Generate Detailed Video Prompts",
"type": "main",
"index": 0
}
]
]
},
"AI Agent: Generate Creative Video Idea": {
"main": [
[
{
"node": "Save Idea & Metadata to Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Fetch Generated Audio from Fal.ai Queue": {
"main": [
[
{
"node": "Merge Clips into Final Video (Fal AI)",
"type": "main",
"index": 0
}
]
]
},
"Fetch Generated Video from Fal.ai Queue": {
"main": [
[
{
"node": "Extract Video URL from Generation Response",
"type": "main",
"index": 0
}
]
]
},
"Trigger: Start Daily Content Generation": {
"main": [
[
{
"node": "AI Agent: Generate Creative Video Idea",
"type": "main",
"index": 0
}
]
]
},
"Tool: Inject Creative Perspective (Idea)": {
"ai_tool": [
[
{
"node": "AI Agent: Generate Creative Video Idea",
"type": "ai_tool",
"index": 0
}
]
]
},
"AI Agent: Generate Detailed Video Prompts": {
"main": [
[
{
"node": "Parse Scene Prompts into Individual Items",
"type": "main",
"index": 0
}
]
]
},
"LLM: Draft Video Prompt Details (GPT-4.1)": {
"ai_languageModel": [
[
{
"node": "AI Agent: Generate Detailed Video Prompts",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Parse Scene Prompts into Individual Items": {
"main": [
[
{
"node": "Generate Video Clips (Wavespeed AI)",
"type": "main",
"index": 0
}
]
]
},
"Extract Video URL from Generation Response": {
"main": [
[
{
"node": "Generate ASMR Sound (Fal AI)",
"type": "main",
"index": 0
}
]
]
},
"Parse AI Output (Idea, Environment, Sound)": {
"ai_outputParser": [
[
{
"node": "AI Agent: Generate Creative Video Idea",
"type": "ai_outputParser",
"index": 0
}
]
]
}
},
"triggerCount": 1
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This n8n workflow is a fully automated pipeline that takes a creative concept and transforms it into a polished, platform-ready short-form video. It ideates, generates video and audio using AI, merges them, and publishes the final content to your social media accounts! Automated…
Source: https://n8n.io/workflows/5916/ — 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.
3-Generate_AI_Viral_Videos_with_Seedance_and_Upload_to_TikTok__YouTube___Instagram. Uses agent, toolThink, lmChatOpenAi, outputParserStructured. Scheduled trigger; 41 nodes.
This template is ideal for creators, content marketers, social media managers, and AI enthusiasts who want to automate the production of short-form, visually captivating videos for platforms like TikT
💥 Generate AI Videos with Seedance & Blotato and Upload to TikTok, YouTube & Instagram -vide. Uses agent, toolThink, lmChatOpenAi, outputParserStructured. Scheduled trigger; 40 nodes.
💥 Generate AI Videos with Seedance & Blotato and Upload to TikTok, YouTube & Instagram - version II - vide. Uses toolThink, outputParserStructured, googleSheets, lmChatOpenAi. Scheduled trigger; 40 no
Automate your cross-platform publishing workflow by automatically uploading Instagram videos to YouTube with AI-optimized titles and tags. 🚀🎬 This workflow runs every six hours, fetches newly posted I