AutomationFlowsSocial Media › Viral Video Creator: Fal.ai AI Videos → Tiktok, Youtube & Instagram Automation

Viral Video Creator: Fal.ai AI Videos → Tiktok, Youtube & Instagram Automation

ByReddit Dev @harryhaz on n8n.io

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…

Cron / scheduled trigger★★★★★ complexityAI-powered39 nodesAgentTool ThinkOpenAI ChatOutput Parser StructuredGoogle SheetsHTTP Request
Social Media Trigger: Cron / scheduled Nodes: 39 Complexity: ★★★★★ AI nodes: yes Added:

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 →

Download .json
{
  "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
}
Pro

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 →

More Social Media workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Social Media

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

Tool Think, Output Parser Structured, Google Sheets +4
Social Media

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

HTTP Request, Facebook Graph Api, Agent +5
Social Media

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

@Blotato/N8N Nodes Blotato, Google Sheets, OpenAI +8
Social Media

Youtube Video Creator. Uses googleSheets, chainLlm, lmChatOpenAi, outputParserStructured. Scheduled trigger; 21 nodes.

Google Sheets, Chain Llm, OpenAI Chat +3