AutomationFlowsAI & RAG › Automated ASMR Video Creation with Veo3

Automated ASMR Video Creation with Veo3

Original n8n title: Asmr + Veo3

ASMR + Veo3. Uses httpRequest, googleSheets, toolThink, agent. Scheduled trigger; 26 nodes.

Cron / scheduled trigger★★★★☆ complexityAI-powered26 nodesHTTP RequestGoogle SheetsTool ThinkAgentOpenAI ChatOutput Parser Structured
AI & RAG Trigger: Cron / scheduled Nodes: 26 Complexity: ★★★★☆ AI nodes: yes Added:

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
{
  "name": "ASMR + Veo3",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        140,
        -640
      ],
      "id": "ef62ad1c-e73e-4675-ac26-9b0893de3a51",
      "name": "Schedule Trigger"
    },
    {
      "parameters": {
        "url": "={{ $json.response_url }}",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        2260,
        -840
      ],
      "id": "789a4c43-171d-4cee-a105-fc748b75accf",
      "name": "Get Video",
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://backend.blotato.com/v2/posts",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"post\": {\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      \"autoAddMusic\": true\n    },\n  \"content\": {\n    \"text\": \"{{ $('Generate Video Idea').first().json.output.caption }}\",\n    \"platform\": \"tiktok\",\n    \"mediaUrls\": [\"{{ $json.url }}\"]\n    },\n    \"accountId\": \"5757\"\n  }\n}\n",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1720,
        -420
      ],
      "id": "dd8628ea-9f21-412b-95cd-799c354cb409",
      "name": "Publish on TikTok",
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://backend.blotato.com/v2/posts",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"post\": {\n    \"target\": {\n      \"targetType\": \"youtube\",\n      \"title\": \"{{ $('Generate Video Idea').item.json.output.caption }}\",\n      \"privacyStatus\": \"public\",\n      \"shouldNotifySubscribers\": false\n    },\n    \"content\": {\n      \"text\": \"\",\n      \"platform\": \"youtube\",\n      \"mediaUrls\": [\"{{ $('Upload to Blotato').item.json.url }}\"]\n    },\n    \"accountId\": \"4416\"\n  }\n}\n",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1900,
        -420
      ],
      "id": "7ba14d4e-ceb4-4c11-b35c-9ec43f80fb7f",
      "name": "Publish on Youtube Shorts",
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://backend.blotato.com/v2/media",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.video.url }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        2620,
        -840
      ],
      "id": "77256c25-08f4-4839-9ffd-6296f2345942",
      "name": "Upload to Blotato",
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://backend.blotato.com/v2/posts",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"post\": {\n    \"target\": {\n      \"targetType\": \"linkedin\"\n    },\n    \"content\": {\n      \"text\": \"{{ $('Generate Video Idea').item.json.output.caption }}\",\n      \"platform\": \"linkedin\",\n      \"mediaUrls\": [\"{{ $('Upload to Blotato').item.json.url }}\"]\n    },\n    \"accountId\": \"3159\"\n  }\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        2080,
        -420
      ],
      "id": "c2644c87-90a6-44a9-91ee-091a575de93e",
      "name": "Linkedin",
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "9bc6644d-ae52-45e5-b522-b4784851efa9",
              "name": " List",
              "value": "={{ $json['Object Type'] }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        680,
        -640
      ],
      "id": "58385483-7a27-4c5d-8c47-f2fa89cd4bff",
      "name": "Edit Fields"
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "1qTB8_Wl7lSCxqCnuX--Nimi0vubiSFOWIRCk_QMRFv0",
          "mode": "list",
          "cachedResultName": "n8n ASMR Videos",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qTB8_Wl7lSCxqCnuX--Nimi0vubiSFOWIRCk_QMRFv0/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qTB8_Wl7lSCxqCnuX--Nimi0vubiSFOWIRCk_QMRFv0/edit#gid=0"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.6,
      "position": [
        320,
        -640
      ],
      "id": "50f05fcf-1587-4414-9b39-9adb09a692de",
      "name": "Get Past Videos",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "Object Type"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [
        500,
        -640
      ],
      "id": "b29fe16d-e9a7-4eac-bf35-e4fb7159b4af",
      "name": "Aggregate"
    },
    {
      "parameters": {
        "description": "=** Purpose **\n\n- Use this Think Node to manage the entire prompt creation process for glass fruit ASMR-style video concepts. This node is designed to help you think through each creative decision before the actual prompt is written.\n- Your job is to simulate a creative director\u2019s thinking phase \u2014 guiding yourself step by step through what the video should feel like, look like, and focus on, before it becomes a final prompt.\n\n\n** What You\u2019re Creating **\nYou're imagining a short, cinematic ASMR video where a realistic, glass-like fruit is being cut. These videos should be visually satisfying, immersive, and designed for short-form viral appeal.\n\n\n** Step-by-Step Thinking Process **\n\n1. Fruit Concept\n\n- What is the name of the fruit?\n- What color and texture would it have if made of glass?\n- How would light behave through it (e.g., translucent, tinted, reflective)?\n\n** Visual Mood **\n\n- What is the overall aesthetic? (e.g. sleek, minimal, cozy, ultra-clean?)\n- What's the surface beneath the fruit? (e.g. marble, wood, slate)\n- What colors dominate the scene?\n\n** Cutting Action **\n\n- How does the knife enter the scene? From what side? Fast or slow?\n- What type of cut is being made? (e.g. vertical slice, diagonal split)\n- What should the breaking or slicing moment look like?\n\n** Camera Details **\n\n- What is the camera angle and lens type? (e.g. macro close-up, slight overhead)\n- Is there any camera motion? (e.g. slow dolly in, steady pan, subtle shake)\n- How focused or shallow is the depth of field?\n\n** Lighting & Atmosphere **\n\n- What kind of lighting is used? (e.g. soft studio light, spotlight, diffused glow)\n- Are there any reflections or shadows?\n- Is there movement in the background? (e.g. fabric, dust, light flicker)\n\n** ASMR Sensory Hints **\n\n- What kind of sensation or reaction should this video trigger in the viewer?\n- Should it feel cold and clean, or warm and soothing?\n- What moment should feel the most satisfying?\n\n** End Goal **\nOnce you've thought through all the above, pass your decisions into the Prompt Generation Node to create the final cinematic prompt for the video tool."
      },
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "typeVersion": 1,
      "position": [
        1340,
        -460
      ],
      "id": "605cd1a0-a38b-489a-b370-1c3b940265bd",
      "name": "Think"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=List of exisiting objects videos: {{ $json[' List'] }}",
        "hasOutputParser": true,
        "options": {
          "systemMessage": "=** Purpose **\nYou generate creative ASMR video ideas featuring unique fruits imagined as if they were made of translucent colored glass and sliced in close-up. These videos should feel visually satisfying, aesthetic, and designed to go viral in the ASMR/glass-cutting community.\n\n** Output Requirements **\nYour response must include:\n\nobject \u2013 The name of the selected fruit, prefixed by \u201cGlass\u201d (e.g., \u201cGlass Mango\u201d).\ncaption \u2013 A simple, soothing ASMR-style label like \u201cGlass Mango ASMR\u201d.\n\nDo not include punctuation, extra commentary, or repeated fruits from the provided list.\n\n** JSON Output Parser **\nEvery output must strictly follow this format:\n\n{\n\"object\": \"\",\n\"caption\": \"\"\n}\n\n** Sample Outputs **\n\nExample 1\n{\n\"object\": \"Glass Apple\",\n\"caption\": \"Glass Apple ASMR\"\n}\n\nExample 2\n{\n\"object\": \"Glass Starfruit\",\n\"caption\": \"Glass Starfruit ASMR\"\n}\n\nExample 3\n{\n\"object\": \"Glass Passionfruit\",\n\"caption\": \"Glass Passionfruit ASMR\"\n}\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.9,
      "position": [
        860,
        -640
      ],
      "id": "9c69fce7-81bf-43d5-a58b-ff4ab47cf870",
      "name": "Generate Video Idea"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        820,
        -460
      ],
      "id": "6a1d181e-b80a-4b1a-822d-37d096a2a452",
      "name": "OpenAI Chat Model2",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        1200,
        -460
      ],
      "id": "9e410f12-d544-425a-a49a-85ca0d650d3f",
      "name": "OpenAI Chat Model3",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsonSchemaExample": "{\n\"object\": \"\",\n\"caption\": \"\"\n}"
      },
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "typeVersion": 1.3,
      "position": [
        1040,
        -460
      ],
      "id": "8003734f-d055-4571-909f-dc0cbbebcbc8",
      "name": "Structured Output Parser"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Create a prompt for the video based on the following information:\n\nObject: {{ $json.output.object }}\nCaption: {{ $json.output.caption }}",
        "hasOutputParser": true,
        "options": {
          "systemMessage": "=** Purpose **\nYou are a professional prompt generator for AI video tools that produce cinematic, close-up ASMR-style visuals. Your job is to take a fruit-based concept and turn it into a richly visual, camera-aware, sensorial prompt for generating a viral, high-quality short-form video.\n\nThese videos should mimic the feel of popular ASMR content: hyper-detailed slicing of glass-textured fruits, ultra-close framing, soft lighting, and satisfying sounds and visuals.\n\n\n** Prompt Structure Guidelines **\nEach prompt should be cinematic and immersive. Include:\n\nScene setup \u2013 Describe the environment (e.g. cutting board, counter texture, lighting around the area).\n\nFruit details \u2013 Describe the fruit in hyper-realistic, glass-like detail: its translucency, color, texture, and how it interacts with light.\n\nCutting moment \u2013 Include how the knife enters frame, the motion (e.g. slow vertical slice, gentle sawing), and the way the fruit reacts (cracks, splits, reflections).\n\nCamera movement \u2013 Add one cinematic camera motion (e.g. macro close-up pan, slow zoom-in, dolly slide).\n\nLighting & mood \u2013 Emphasize soft studio light, reflections, shadows on the surface, maybe slight glow through the glass.\n\nStyle & realism \u2013 Mention ASMR softness, ultra-sharp macro depth, slight audio presence (cutting sound implied visually), and viral-worthy visual tone.\n\n\n** Input **\nYou will receive:\n\n- object (e.g. \"Glass Mango\")\n- caption (e.g. \"Glass Mango ASMR\")\n\nReturn only the complete, vivid video prompt \u2014 no extra comments or formatting.\n\n\n** Example Output **\nA crystal-clear glass mango rests on a cool slate cutting board under soft top-down studio lights. Its amber and orange hues glow slightly as light refracts through its curved surface. The camera slowly zooms in from an angle, focusing on delicate reflections and subtle surface texture. A sharp kitchen knife enters the frame from the right in ultra-slow motion, slicing through the fruit with a satisfying crack. Shards split cleanly, with light scattering across the board. Glass-like juice glimmers at the edge. The scene is clean, quiet, and deeply satisfying \u2014 perfect for an ASMR loop. Shot in ultra-high detail with soft macro depth and a smooth dolly movement."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.9,
      "position": [
        1220,
        -640
      ],
      "id": "9808dd8c-74a0-4a32-92f5-a28195b063f2",
      "name": "Generate Prompt"
    },
    {
      "parameters": {
        "jsonSchemaExample": "{\n\t\"prompt\": \"\"\n}"
      },
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "typeVersion": 1.3,
      "position": [
        1460,
        -460
      ],
      "id": "88175e50-89fa-4f25-88e7-74f4ceb05c82",
      "name": "Structured Output Parser1"
    },
    {
      "parameters": {
        "amount": 20
      },
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        2440,
        -840
      ],
      "id": "97dbe230-ec7f-4c93-975b-b6e636a74542",
      "name": "Wait 20 Seconds"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/veo3",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "prompt",
              "value": "={{ $('Generate Prompt').item.json.output.prompt.replace(/\\n/g, '').replace(/\\*/g, '') }}"
            },
            {
              "name": "generate_audio",
              "value": "true"
            },
            {
              "name": "aspect_ratio",
              "value": "9:16"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1900,
        -840
      ],
      "id": "9bab9bca-260b-4c39-b98b-ec5b8de848fd",
      "name": "Create Video",
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "documentId": {
          "__rl": true,
          "value": "1qTB8_Wl7lSCxqCnuX--Nimi0vubiSFOWIRCk_QMRFv0",
          "mode": "list",
          "cachedResultName": "n8n ASMR Videos",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qTB8_Wl7lSCxqCnuX--Nimi0vubiSFOWIRCk_QMRFv0/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qTB8_Wl7lSCxqCnuX--Nimi0vubiSFOWIRCk_QMRFv0/edit#gid=0"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Status": "done",
            "URL": "={{ $('Upload to Blotato').item.json.url }}",
            "Object Type": "={{ $('Generate Video Idea').item.json.output.object }}"
          },
          "matchingColumns": [
            "Object Type"
          ],
          "schema": [
            {
              "id": "Object Type",
              "displayName": "Object Type",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "URL",
              "displayName": "URL",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "displayName": "Status",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.6,
      "position": [
        2620,
        -420
      ],
      "id": "a791c702-753c-4746-bb14-0c85cd2430b5",
      "name": "Update row in sheet",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "1qTB8_Wl7lSCxqCnuX--Nimi0vubiSFOWIRCk_QMRFv0",
          "mode": "list",
          "cachedResultName": "n8n ASMR Videos",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qTB8_Wl7lSCxqCnuX--Nimi0vubiSFOWIRCk_QMRFv0/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qTB8_Wl7lSCxqCnuX--Nimi0vubiSFOWIRCk_QMRFv0/edit#gid=0"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Object Type": "={{ $('Generate Video Idea').item.json.output.object }}",
            "Status": "In progress"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "Object Type",
              "displayName": "Object Type",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "URL",
              "displayName": "URL",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "displayName": "Status",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.6,
      "position": [
        1720,
        -840
      ],
      "id": "892beb93-d5fd-4292-9a65-f88321117fdc",
      "name": "Append row in sheet",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://backend.blotato.com/v2/posts",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"post\": {\n    \"target\": {\n      \"targetType\": \"instagram\"\n    },\n    \"content\": {\n      \"text\": \"{{ $('Generate Video Idea').item.json.output.caption }}\",\n      \"platform\": \"instagram\",\n      \"mediaUrls\": [\"{{ $('Upload to Blotato').item.json.url }}\"]\n    },\n    \"accountId\": \"5370\"\n  }\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        2260,
        -420
      ],
      "id": "ca319802-b621-4c13-8ab7-41e0609162a5",
      "name": "Instagram",
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://backend.blotato.com/v2/posts",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"post\": {\n    \"accountId\": \"3991\",\n    \"target\": {\n      \"targetType\": \"facebook\",\n      \"pageId\": \"692981360555594\"\n    },\n    \"content\": {\n      \"text\": \"{{ $('Generate Video Idea').item.json.output.caption }}\",\n      \"mediaUrls\": [\"{{ $('Upload to Blotato').item.json.url }}\"],\n      \"platform\": \"facebook\"\n    }\n  }\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        2440,
        -420
      ],
      "id": "a6c41236-f786-42a5-aa67-f3a827dfe9f9",
      "name": "Facebook",
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "amount": 4
      },
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        2080,
        -840
      ],
      "id": "6e4ac3be-2fcf-4159-bae1-40ec0feb32aa",
      "name": "Wait 4 Minutes"
    },
    {
      "parameters": {
        "content": "# Generate Idea",
        "height": 780,
        "width": 1600
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        0,
        -940
      ],
      "id": "20cc4f7b-1c0b-4883-b58a-f663c5a43840",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "content": "# Create Video",
        "height": 380,
        "width": 1220,
        "color": 5
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        1620,
        -940
      ],
      "id": "335bf38f-cdc4-4a90-a41f-740ce8b2ea0f",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "content": "# Publish to Social Media",
        "height": 380,
        "width": 1220,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        1620,
        -540
      ],
      "id": "e37359af-1683-4888-b3be-3aef0f3d0d16",
      "name": "Sticky Note2"
    }
  ],
  "connections": {
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get Past Videos",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Video": {
      "main": [
        [
          {
            "node": "Wait 20 Seconds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Publish on TikTok": {
      "main": [
        [
          {
            "node": "Publish on Youtube Shorts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to Blotato": {
      "main": [
        [
          {
            "node": "Publish on TikTok",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Publish on Youtube Shorts": {
      "main": [
        [
          {
            "node": "Linkedin",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Past Videos": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Generate Video Idea",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Think": {
      "ai_tool": [
        [
          {
            "node": "Generate Prompt",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Generate Video Idea": {
      "main": [
        [
          {
            "node": "Generate Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Video Idea",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model3": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Prompt",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Generate Video Idea",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser1": {
      "ai_outputParser": [
        [
          {
            "node": "Generate Prompt",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Generate Prompt": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 20 Seconds": {
      "main": [
        [
          {
            "node": "Upload to Blotato",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Linkedin": {
      "main": [
        [
          {
            "node": "Instagram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Video": {
      "main": [
        [
          {
            "node": "Wait 4 Minutes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update row in sheet": {
      "main": [
        []
      ]
    },
    "Append row in sheet": {
      "main": [
        [
          {
            "node": "Create Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Instagram": {
      "main": [
        [
          {
            "node": "Facebook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Facebook": {
      "main": [
        [
          {
            "node": "Update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 4 Minutes": {
      "main": [
        [
          {
            "node": "Get Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "9df62e1b-fefa-46f9-9cf6-dc2a9b36096d",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "NApMyGXpUjJQ7OYn",
  "tags": []
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

How this works

This workflow automates the creation and distribution of ASMR videos enhanced with Google's Veo3 AI for dynamic visuals, saving creators hours of manual editing and uploading. It suits ASMR enthusiasts or content producers aiming to build a multi-platform presence without technical hassle, leveraging integrations like Google Sheets for tracking past videos and HTTP requests for seamless publishing. The key step involves the AI agent processing ASMR audio through Veo3 to generate engaging clips, followed by automated uploads to platforms such as TikTok, YouTube Shorts, LinkedIn, and Blotato.

Use this workflow for regularly scheduled ASMR content drops, like weekly relaxing videos, to maintain audience engagement across social channels. Avoid it for one-off projects or non-video content, as it relies on cron triggers for batch processing. Common variations include customising the Google Sheets template for metadata or adding filters to exclude underperforming video ideas before generation.

About this workflow

ASMR + Veo3. Uses httpRequest, googleSheets, toolThink, agent. Scheduled trigger; 26 nodes.

Source: https://github.com/Khuzaima-AI-2112/n8n-automation-templates/blob/master/02_Visuals-&-Social-Media/13_ASMR-video-generator/ASMR+++Veo3.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

Generate creative ASMR cutting video concepts with GPT-5.1, create high-quality video clips using Sora v2, stitch them together with Cloudinary, and automatically post to Twitter/X—transforming ideas

OpenAI Chat, HTTP Request, Agent +3
AI & RAG

ASMR. Uses googleSheets, outputParserStructured, httpRequest, lmChatOpenAi. Scheduled trigger; 35 nodes.

Google Sheets, Output Parser Structured, HTTP Request +5
AI & RAG

//ASMR AI Workflow

HTTP Request, Tool Think, OpenAI Chat +6
AI & RAG

This template is ideal for content creators, social media managers, YouTubers, and digital marketers who want to generate high-quality videos daily using AI and distribute them effortlessly across mul

Google Sheets, HTTP Request, Agent +3
AI & RAG

This workflow is designed for social media managers, content creators, digital marketers, and entrepreneurs who want to automate the entire lifecycle of creating and publishing short-form video conten

Tool Think, Output Parser Structured, Google Sheets +6