This workflow corresponds to n8n.io template #5553 — 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": "oW5or2qZRuchKfZq",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "marketplace",
"tags": [
{
"id": "AmeRLyBG6s0JYLEf",
"name": "content-package",
"createdAt": "2025-07-01T09:26:32.574Z",
"updatedAt": "2025-07-01T09:26:32.574Z"
}
],
"nodes": [
{
"id": "b25cf191-cea8-4fea-a6e6-2115736b92e8",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
140
],
"parameters": {
"height": 80,
"content": "[Spreadsheets (TEMPLATE)](https://docs.google.com/spreadsheets/d/14Qe2rz2BYykBEnGzab-TSm-RP8TTpkjbh4e6GAMPX74/edit?usp=sharing)"
},
"typeVersion": 1
},
{
"id": "e4f2c9fa-ca6d-498c-bd11-94f5386e3856",
"name": "Generate Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
800,
380
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/veo3",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "prompt",
"value": "={{ $json.output.replace(/\\n/g, '').replace(/\"/g, '') }}"
},
{
"name": "aspect_ratio",
"value": "9:16"
},
{
"name": "generate_audio",
"value": "true"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "121edf42-082b-426e-9d75-2218d86af35d",
"name": "Get Result",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
1120,
380
],
"parameters": {
"url": "=https://queue.fal.run/fal-ai/veo3/requests/{{ $json.request_id }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "a57e1518-0fa3-4ff5-a751-83ee47adb302",
"name": "Result",
"type": "n8n-nodes-base.set",
"position": [
1500,
360
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "c66c7c13-57ca-4191-9af3-5ab306dfedfc",
"name": "Video URL",
"type": "string",
"value": "={{ $json.video.url }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "cf7c47e0-4be7-4087-b88d-660b5d5b8c91",
"name": "Get Past Objects",
"type": "n8n-nodes-base.googleSheets",
"position": [
680,
20
],
"parameters": {
"sheetName": {
"__rl": true,
"mode": "list",
"value": ""
},
"documentId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "7344c73c-b8e2-4227-a1bb-ff7dbed19ceb",
"name": "Prompt Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
480,
380
],
"parameters": {
"text": "={{ $json.output?.object || \"Please generate an ASMR video prompt for an object.\" }}\n",
"options": {
"systemMessage": "=# Overview\nYou are an AI agent that specializes in generating text-to-video prompts optimized for ASMR-style videos using Google Veo 3. These videos must be 9:16 aspect ratio.\n\nYou will receive the name of a glass object (e.g. \"glass apple\", \"glass mushroom\", \"glass croissant\"). Your task is to generate a hyper-realistic, sensory-rich video prompt of that object being cut in a close-up ASMR scene.\n\n## Core Requirements:\n- The video must feel cinematic and photorealistic.\n- Scene is a static, close-up shot of a dark wooden cutting board and a large, heavy steel knife.\n- Cutting must look physically possible \u2014 glass should break cleanly, not shatter, with smooth, controlled slices.\n- The video starts immediately with the cutting action.\n- The object must retain some color (e.g. red glass apple, green glass pear) \u2014 not fully transparent \u2014 to create visual contrast.\n- No humans visible. Only one hand holding the knife, the other stabilizing the object.\n- The cut should include **four distinct ASMR sound layers**:\n 1. The sharp tap of the knife touching the glass \n 2. The smooth, controlled slicing sound through the glass \n 3. The soft thud as the knife hits the board \n 4. The delicate clink as the cut piece lands on the board \n- The **initial knife-glass contact should sound especially crisp and prominent**, like metal striking polished glass.\n\n## Prompt Requirements\n1. **Scene Description**: Detail the board material (e.g. walnut), light setup (e.g. soft top-down), and camera style.\n2. **Object Detail**: Describe the object\u2019s color, shape, texture, and reflective qualities.\n3. **Cutting Action**: Describe the cut from start to finish with a smooth break \u2014 no splintering or shattering.\n4. **Sound Design**: Use vivid language to highlight the four-layer audio experience:\n - Knife-glass contact\n - The clean slice through colored glass\n - The thud of knife on wood\n - The glass piece gently hitting the board\n5. **Ambience**: Total silence except for cutting sounds. No music, talking, or background noise.\n\n## Format Output Like This:\n\n**Subject**: A hyper-detailed [glass object] resting on a dark wooden cutting board. \n**Setting**: Static close-up, soft natural lighting, minimal background. \n**Action**: A large steel knife slowly slices through the [glass object], breaking it into perfect segments with a deliberate, cinematic cut. \n**Style**: Cinematic ASMR realism, photorealistic lighting and textures. \n**Sound**: Four high-fidelity sound layers in each cut \u2014 (1) ultra high definition sound as the knife makes contact with the glass, (2) a clean, smooth slicing sound, (3) a muted wooden thud, and (4) a precise clink as each piece lands. The initial tap should be especially sharp and prominent, emphasizing the contact of steel on glass. No other audio. \n**Camera Motion**: Fixed camera with slight focus shifts during movement. \n**Composition**: Centered object, knife enters from edge. \n**Ambiance**: Pin-drop silence around the cutting sounds. \n**Aspect Ratio**: Always 9:16\n\nMake the viewer feel immersed \u2014 like they can hear and feel every slice. Visually surreal, physically satisfying."
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "77328344-41b3-40e9-b9e6-a233bc217f2b",
"name": "Idea Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1220,
20
],
"parameters": {
"text": "=Objects: {{ $json.objects.join(\", \") }}",
"options": {
"systemMessage": "=### Role\n\nYou are a creative AI agent tasked with selecting visually compelling **fruits** for ASMR-style glass cutting videos.\n\n### Instructions\n\nGiven a list of 7 fruits already used, your job is to suggest **1 new fruit** that:\n\n* **Is not on the list**\n* Has a **distinct and recognizable shape**\n* Is **physically reasonable** to cut (as if made of glass)\n* Would look **aesthetic and satisfying** in a translucent, colored glass style\n\n### Constraints\n\n* Do **not** repeat any fruit from the input list\n* Do **not** add commentary or explanation\u2014just return the fruit name\n\n## Output Format \nOutput a JSON object with the following structure:\n\n{\n \"object\": \"Glass [Object name]\",\n \"caption\": \"Glass [Object name] ASMR\"\n}\n\nReplace `[object name]` with the newly generated fruit. Do not include any punctuation or commentary.\n\n## Example Output \n{\n \"object\": \"Glass Apple\",\n \"caption\": \"Glass Apple ASMR\"\n}"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "6e5799da-6cea-4d90-b9a8-b3393a0496ce",
"name": "Aggregate",
"type": "n8n-nodes-base.aggregate",
"position": [
860,
20
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "9c2e25d9-7544-4ea8-b1be-f4256596e302",
"name": "Set Object List",
"type": "n8n-nodes-base.set",
"position": [
1040,
20
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "cf818c10-ad6d-4349-830f-393529a79d62",
"name": "objects",
"type": "array",
"value": "=[\"{{ $json.data[0].Object }}\",\"{{ $json.data[1].Object }}\",\"{{ $json.data[2].Object }}\",\"{{ $json.data[3].Object }}\",\"{{ $json.data[4].Object }}\",\"{{ $json.data[5].Object }}\",\"{{ $json.data[6].Object }}\"]"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "29f221f8-61af-4acf-b580-078606fe8864",
"name": "YouTube",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
1100,
960
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"post\": {\n \"target\": {\n \"targetType\": \"youtube\",\n \"title\": \"{{ $('Idea Agent').item.json.output.caption }}\",\n \"privacyStatus\": \"public\",\n \"shouldNotifySubscribers\": false\n },\n \"content\": {\n \"text\": \"{{ $('Idea Agent').item.json.output.caption }}\",\n \"platform\": \"youtube\",\n \"mediaUrls\": [\"{{ $json.url }}\"]\n },\n \"accountId\": \"YOUR ACCOUNT ID\"\n }\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "5b11e906-5aad-4aae-bb90-f59d1858d63f",
"name": "TikTok",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
1160,
800
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"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 },\n \"content\": {\n \"text\": \"{{ $('Idea Agent').item.json.output.caption }}\",\n \"platform\": \"tiktok\",\n \"mediaUrls\": [\"{{ $json.url }}\"]\n },\n \"accountId\": \"YOUR ACCOUNT ID\"\n }\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "4fbf4d3b-0be7-4171-acb9-9f8770c6d2ae",
"name": "Instagram",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
880,
1040
],
"parameters": {
"url": "https://backend.blotato.com/v2/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"post\": {\n \"target\": {\n \"targetType\": \"instagram\"\n },\n \"content\": {\n \"text\": \"{{ $('Idea Agent').item.json.output.caption }}\",\n \"platform\": \"instagram\",\n \"mediaUrls\": [\"{{ $json.url }}\"]\n },\n \"accountId\": \"YOUR ACCOUNT ID\"\n }\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "35324a74-b928-470f-b8fa-e659faafff40",
"name": "Delete First Row",
"type": "n8n-nodes-base.googleSheets",
"position": [
1700,
400
],
"parameters": {
"operation": "delete",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "",
"cachedResultName": ""
},
"documentId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "cbb33a74-8520-40d0-9e9b-8b45442831aa",
"name": "Append Object",
"type": "n8n-nodes-base.googleSheets",
"position": [
1880,
440
],
"parameters": {
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "url",
"value": "",
"cachedResultUrl": "",
"cachedResultName": ""
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "7480c5c1-dabc-46f8-a106-624e57721bc9",
"name": "Object & Caption",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1460,
240
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "a0ff5656-43ea-4727-8f41-eed566d45f87",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
420,
280
],
"parameters": {
"color": 5,
"width": 1600,
"height": 300,
"content": "# Video Generation"
},
"typeVersion": 1
},
{
"id": "240c6798-91ff-478f-adbc-7ec9adc803ef",
"name": "Upload",
"type": "n8n-nodes-base.httpRequest",
"position": [
680,
840
],
"parameters": {
"url": "https://backend.blotato.com/v2/media",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "url",
"value": "=\"url\": \"={{ $json['Video URL'] }}\"\n"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "1af8c872-4931-4f1a-b770-340ca15d2a1c",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1300,
240
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "a04cf79f-0d2d-45f4-aa76-df5a1e29a8b3",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
480,
20
],
"parameters": {},
"typeVersion": 1
},
{
"id": "dcb2f6d1-7c32-4cd1-b532-621c9b0aece9",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
420,
620
],
"parameters": {
"color": 3,
"width": 1140,
"height": 560,
"content": "# Posting to Socials \n > if you want to post it yourself just simply remove this node and find your video inside your google drive ready to be posted!\n- Create an account on https://www.blotato.com/\nKeep last node intergrated for automatic production!\n"
},
"typeVersion": 1
},
{
"id": "7cbccde0-7fe9-4237-b455-b05ce02f8ae8",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
420,
-80
],
"parameters": {
"color": 2,
"width": 1140,
"height": 300,
"content": "# Idea Agent"
},
"typeVersion": 1
},
{
"id": "8bb2de42-66a7-43d8-9675-bc206f765275",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
260
],
"parameters": {
"color": 5,
"height": 320,
"content": "\ud83d\udd27 Generate Video (FalAI)\nNode: \u201cGenerate Video (FalAI)\u201d\n\nThis node sends your prompt to FalAI to generate the video.\n\nMUST EDIT:\n\nConnect a Header Auth credential in n8n.\n\nHeader Name \u2192 Authorization\n\nHeader Value \u2192 key YOUR_FALAI_API_KEY (exact word \u201ckey\u201d included)."
},
"typeVersion": 1
},
{
"id": "44b7ec16-2b2e-4ff1-8000-6ffe91427d41",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2040,
280
],
"parameters": {
"color": 5,
"height": 220,
"content": "\ud83d\udd27 Get Result (FalAI)\nNode: \u201cGet Result (FalAI)\u201d\n\nThis node polls FalAI to check video status.\n\nMUST EDIT:\n\nConnect the same Header Auth credential as in \u201cGenerate Video.\u201d\n\"Authorization\""
},
"typeVersion": 1
},
{
"id": "42f2e1ec-124c-4208-9834-ff49d2d7718c",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
620
],
"parameters": {
"color": 3,
"height": 380,
"content": " Upload (Blotato)\nNode: \u201cUpload\u201d\n\nUploads the generated video URL to Blotato\u2019s API.\n\nMUST EDIT:\n!!!!!!!!!!!!!!!!!!!!!!!\nCreate a NEW Header Auth credential in n8n:\nSelect Header Auth Cred dropdown and create a new one so your not using your FalAI credentials.\n\nName \u2192 blotato-api-key\n\nValue \u2192 your actual API key nothing else\n"
},
"typeVersion": 1
},
{
"id": "6170d3f3-5464-4660-9710-32889e0d3424",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
-80
],
"parameters": {
"height": 200,
"content": "20MINUTE SETUP ASMR Step 1.\nDownload the googlesheet template create a copy and name it something unique like \"yourname ASMR' youll use this name to find it in the dropdown in the sheets nodes so your agent can access your ideas."
},
"typeVersion": 1
},
{
"id": "388d7b58-db34-4f04-8db0-ec0f75f678e4",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
1020
],
"parameters": {
"color": 3,
"content": "Nodes: \u201cPost to TikTok,\u201d \u201cPost to Instagram,\u201d \u201cPost to YouTube\u201d\n\nThese nodes send the uploaded video to specific social platforms via Blotato.\n\nMUST EDIT:\n\nEnter your Blotato accountId in the JSON body:\n\njson\nCopy\nEdit\n\"accountId\": \"YOUR_ACCOUNT_ID\"\nUse the same Blotato header auth credential:\n\nName \u2192 blotato-api-key\n\nValue \u2192 your Blotato API key\n\n\u26a0\ufe0f Important:\n\nMedia URL must be filled. Otherwise, Blotato posts fail silently or with 401 errors."
},
"typeVersion": 1
},
{
"id": "73dd17ab-f4f4-437f-818e-0d4da792040a",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
1600,
-160
],
"parameters": {
"height": 420,
"content": "Google Sheets Nodes\nNodes: \u201cGet Past Objects,\u201d \u201cAppend Object,\u201d \u201cDelete First Row\u201d\n\nThese nodes store and manage your list of generated ASMR objects and videos.\n\nMUST EDIT:\n\nConnect your Google Sheets OAuth2 credential in each node.\n\nUpdate:\n\nsheetId \u2192 your personal sheet ID / end of your sheet url\n\nrange \u2192 correct sheet and columns \"yourname ASMR\" \"sheet1\"\n\nConfirm your sheet has matching columns:\n\nColumn A \u2192 Object\n\nColumn B \u2192 Video URL\n\n\u26a0\ufe0f Important:\n\nA wrong sheet ID or range will cause errors like:\n\n404 - Sheet not found"
},
"typeVersion": 1
},
{
"id": "27737220-6f61-4b79-8848-68f9be2a86e3",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
-300
],
"parameters": {
"color": 4,
"width": 560,
"height": 200,
"content": "OVERVIEW ON STEPS - 15-20 Min Setup with incredible potential\n\nConnect this node to your own credential:\n- FalAI \u2192 Header Auth \u2192 Authorization: key YOUR_FAL_API_KEY\n- Blotato \u2192 Header Auth \u2192 blotato-api-key: YOUR_BLOTATO_API_KEY\n- Google Sheets \u2192 Connect your Google account\nThen start posting with a simple click - Use the n8n helper on ChatGPT for any questions during setup it has 100% effectiveness at debugging this workflow\n"
},
"typeVersion": 1
},
{
"id": "8a36933d-265e-4e39-a7ae-1ee7357c0fec",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
2040,
520
],
"parameters": {
"color": 5,
"height": 500,
"content": "Once youve Connected your Google Sheets credentials\n\nClick the \u201cAppend Object\u201d node\n\nSelect your Google Sheet from:\n\nDocument \u2192 Pick by URL or ID\n\nSheet \u2192 Pick the tab name\n\nFill in the missing the columns with the info below: Use expression in top right of the box instead of fixed\n\nObject : {{ $('Idea Agent').item.json.output.object }}\n\nURL : {{ $('Result').item.json['Video URL'] }}\n\nDONE!!"
},
"typeVersion": 1
},
{
"id": "861fed8a-e3e6-4006-8003-acb65b40cde3",
"name": "1 Minute - Video taking longer please wait",
"type": "n8n-nodes-base.wait",
"position": [
1280,
420
],
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "ffd8d118-e6db-4bb4-aaa2-b0c06bc7222e",
"name": "5 Minutes - Wait for Video",
"type": "n8n-nodes-base.wait",
"position": [
960,
320
],
"parameters": {
"unit": "minutes"
},
"typeVersion": 1.1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "bca990fc-b00c-4966-88d2-7eecf8b893bb",
"connections": {
"Result": {
"main": [
[
{
"node": "Delete First Row",
"type": "main",
"index": 0
}
]
]
},
"Upload": {
"main": [
[
{
"node": "YouTube",
"type": "main",
"index": 0
},
{
"node": "Instagram",
"type": "main",
"index": 0
},
{
"node": "TikTok",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Set Object List",
"type": "main",
"index": 0
}
]
]
},
"Get Result": {
"main": [
[
{
"node": "Result",
"type": "main",
"index": 0
}
],
[
{
"node": "1 Minute - Video taking longer please wait",
"type": "main",
"index": 0
}
]
]
},
"Idea Agent": {
"main": [
[
{
"node": "Prompt Agent",
"type": "main",
"index": 0
}
]
]
},
"Prompt Agent": {
"main": [
[
{
"node": "Generate Video",
"type": "main",
"index": 0
}
]
]
},
"Append Object": {
"main": [
[
{
"node": "Upload",
"type": "main",
"index": 0
}
]
]
},
"Generate Video": {
"main": [
[
{
"node": "5 Minutes - Wait for Video",
"type": "main",
"index": 0
}
]
]
},
"Set Object List": {
"main": [
[
{
"node": "Idea Agent",
"type": "main",
"index": 0
}
]
]
},
"Delete First Row": {
"main": [
[
{
"node": "Append Object",
"type": "main",
"index": 0
}
]
]
},
"Get Past Objects": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Prompt Agent",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Idea Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"5 Minutes - Wait for Video": {
"main": [
[
{
"node": "Get Result",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Get Past Objects",
"type": "main",
"index": 0
}
]
]
},
"1 Minute - Video taking longer please wait": {
"main": [
[
{
"node": "Get Result",
"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.
googleSheetsOAuth2ApihttpHeaderAuthopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
🎬 Create Unlimited Viral ASMR Videos — Fully Automated! Tired of spending hours brainstorming viral content, writing prompts, and juggling video uploads?
Source: https://n8n.io/workflows/5553/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.
Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.
This template is designed for marketers, content creators, and e-commerce brands who want to automate the creation of professional ad videos at scale. It’s ideal for teams looking to generate consiste
Digistars - Scrape & Crawl. Uses httpRequest, n8n-nodes-firecrawl-scraper, googleSheets, lmChatOpenAi. Event-driven trigger; 63 nodes.
This comprehensive n8n workflow automates the entire Meta (Facebook/Instagram) advertising process, from asset analysis to ad creation. It combines AI-powered content analysis with automated ad deploy