This workflow corresponds to n8n.io template #12054 — we link there as the canonical source.
This workflow follows the Form Trigger → 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 →
{
"nodes": [
{
"id": "3cf5ece7-2bd7-4d07-8693-8139f9e9e6e6",
"name": "Configuration",
"type": "n8n-nodes-base.set",
"position": [
1216,
544
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "db577529-a0b0-4cdd-9c2d-27adcf2ee302",
"name": "vizard_api_key",
"type": "string",
"value": "API_KEY_HERE"
},
{
"id": "bc7aa714-a297-47df-91c8-6ab246521809",
"name": "video_type",
"type": "string",
"value": "2"
},
{
"id": "677c5107-634d-4c9a-921c-c82c99938d7f",
"name": "video_length",
"type": "string",
"value": "[0]"
},
{
"id": "aa6cb6f8-6db8-42de-ba31-e0e11630f29f",
"name": "video_ratio",
"type": "string",
"value": "1"
},
{
"id": "1d7cda63-cd0d-4c45-8df2-97e8e108c39a",
"name": "video_url",
"type": "string",
"value": "={{ $json['URL Youtube (Bisa di custom mau URL apapun)'] }}"
},
{
"id": "c027906c-eafa-4596-8979-dfc045707abd",
"name": "video_lang",
"type": "string",
"value": "=auto"
},
{
"id": "ccc22ee8-7d4e-4204-9fad-91820185b63d",
"name": "viral_score",
"type": "number",
"value": "={{ $json['Skor Viral (0-100)'] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ef345fa8-3a00-45bd-bb29-c2f1f0e268d3",
"name": "Get Status",
"type": "n8n-nodes-base.httpRequest",
"position": [
2064,
64
],
"parameters": {
"url": "=https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/query/{{ $json.projectId }}",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "VIZARDAI_API_KEY",
"value": "={{ $('Configuration').item.json.vizard_api_key }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "950e47bc-e0d4-4d13-a82c-6c2585524a91",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
1856,
96
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "f82fef94-2bd9-481f-927c-549d2a83abda",
"name": "Check Status",
"type": "n8n-nodes-base.switch",
"position": [
2304,
80
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Success",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "2ecbce10-5138-4833-9c77-0206f38652af",
"operator": {
"type": "number",
"operation": "equals"
},
"leftValue": "={{ $json.code }}",
"rightValue": 2000
}
]
},
"renameOutput": true
},
{
"outputKey": "Processing",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c1bad68b-0775-4f12-861d-3d465ee57852",
"operator": {
"type": "number",
"operation": "equals"
},
"leftValue": "={{ $json.code }}",
"rightValue": 1000
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra",
"renameFallbackOutput": "Failed"
}
},
"typeVersion": 3.3
},
{
"id": "18e12e7d-bd6c-44ed-a522-4fe010ba6e30",
"name": "Split Clips",
"type": "n8n-nodes-base.splitOut",
"position": [
2592,
96
],
"parameters": {
"options": {},
"fieldToSplitOut": "videos"
},
"typeVersion": 1
},
{
"id": "a1dd71a7-c42b-4d85-856a-889d6f298d10",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
992,
544
],
"parameters": {
"options": {
"customCss": ":root {\n\t--font-family: 'Inter', 'Open Sans', system-ui, sans-serif;\n\t--font-weight-normal: 400;\n\t--font-weight-bold: 600;\n\n\t--font-size-body: 12px;\n\t--font-size-label: 14px;\n\t--font-size-test-notice: 12px;\n\t--font-size-input: 14px;\n\t--font-size-header: 20px;\n\t--font-size-paragraph: 14px;\n\t--font-size-link: 12px;\n\t--font-size-error: 12px;\n\n\t--font-size-html-h1: 28px;\n\t--font-size-html-h2: 20px;\n\t--font-size-html-h3: 16px;\n\t--font-size-html-h4: 14px;\n\t--font-size-html-h5: 12px;\n\t--font-size-html-h6: 10px;\n\t--font-size-subheader: 14px;\n\n\t/* Colors \u2014 Pastel Red / White / Black */\n\t--color-background: #0c0c10;\n\n\t--color-test-notice-text: #e57373;\n\t--color-test-notice-bg: rgba(229, 115, 115, 0.12);\n\t--color-test-notice-border: rgba(229, 115, 115, 0.35);\n\n\t--color-card-bg: #15151a;\n\t--color-card-border: rgba(255, 255, 255, 0.08);\n\t--color-card-shadow: rgba(0, 0, 0, 0.6);\n\n\t--color-link: #ffffff;\n\t--color-header: #ffffff;\n\t--color-header-subtext: #b6b6c2;\n\t--color-label: #d4d4dc;\n\n\t--color-input-border: rgba(255, 255, 255, 0.14);\n --color-input-text: #000000;\n\t--color-focus-border: #e57373;\n\n\t--color-submit-btn-bg: #e57373;\n\t--color-submit-btn-text: #ffffff;\n\n\t--color-error: #ef5350;\n\t--color-required: #e57373;\n\n\t--color-clear-button-bg: rgba(255, 255, 255, 0.12);\n\n\t--color-html-text: #e2e2ea;\n\t--color-html-link: #e57373;\n\n\t/* Border Radii */\n\t--border-radius-card: 12px;\n\t--border-radius-input: 10px;\n\t--border-radius-clear-btn: 50%;\n\t--card-border-radius: 12px;\n\n\t/* Spacing */\n\t--padding-container-top: 28px;\n\t--padding-card: 28px;\n\t--padding-test-notice-vertical: 12px;\n\t--padding-test-notice-horizontal: 24px;\n\t--margin-bottom-card: 18px;\n\t--padding-form-input: 14px;\n\t--card-padding: 28px;\n\t--card-margin-bottom: 18px;\n\n\t/* Dimensions */\n\t--container-width: 448px;\n\t--submit-btn-height: 50px;\n\t--checkbox-size: 18px;\n\n\t/* Others */\n\t--box-shadow-card: \n\t\t0px 10px 28px rgba(0, 0, 0, 0.65),\n\t\t0 0 0 1px rgba(255, 255, 255, 0.04);\n\n\t--opacity-placeholder: 0.45;\n}\n",
"buttonLabel": "Generate Short Video",
"appendAttribution": false
},
"formTitle": "AI Clipper Video",
"formFields": {
"values": [
{
"fieldLabel": "URL Youtube (Bisa di custom mau URL apapun)",
"requiredField": true
},
{
"fieldType": "number",
"fieldLabel": "Skor Viral (0-100)",
"requiredField": true
}
]
},
"formDescription": "Auto Clipping, Auto Edit, Auto Post\nBukan zaman nya lagi buat manual-manual an"
},
"typeVersion": 2.3
},
{
"id": "502a587d-7f27-4b8f-85c8-3dba1f47424f",
"name": "Filter by Viral Score",
"type": "n8n-nodes-base.filter",
"position": [
2800,
96
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "6c00620e-694f-4414-acd8-c46ef6235b24",
"operator": {
"type": "number",
"operation": "gte"
},
"leftValue": "={{ $json.viralScore }}",
"rightValue": "={{ $('Configuration').item.json.viral_score }}"
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "58229a8e-c25a-4ec4-bdc6-612eb9587acc",
"name": "Append Source (Success)",
"type": "n8n-nodes-base.googleSheets",
"position": [
2304,
480
],
"parameters": {
"columns": {
"value": {
"Status": "Success",
"Keywords": "={{ $('Configuration').item.json.keywords }}",
"Language": "={{ $('Configuration').item.json.video_lang }}",
"Project ID": "={{ $json.projectId }}",
"Source URL": "={{ $('Configuration').item.json.video_url }}",
"Project Name": "={{ $('Configuration').item.json.project_name }}"
},
"schema": [
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Source URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Source URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Project Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Language",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Language",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Keywords",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Keywords",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project ID",
"type": "string",
"display": true,
"required": false,
"displayName": "Project ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Error Message",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Error Message",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Source URL"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bYilqYnDEdkkIwFUMf2HEIItSBSFH1CQ4F7KJBC0zG4/edit#gid=0",
"cachedResultName": "Source"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1bYilqYnDEdkkIwFUMf2HEIItSBSFH1CQ4F7KJBC0zG4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bYilqYnDEdkkIwFUMf2HEIItSBSFH1CQ4F7KJBC0zG4/edit?usp=drivesdk",
"cachedResultName": "Auto Clipping Video with Vizard AI"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "ea21e989-f502-497c-a912-8b740fbf51bf",
"name": "Append Source (Failed) 2",
"type": "n8n-nodes-base.googleSheets",
"position": [
2080,
480
],
"parameters": {
"columns": {
"value": {
"Status": "Failed",
"Keywords": "={{ $('Configuration').item.json.keywords }}",
"Language": "={{ $('Configuration').item.json.video_lang }}",
"Project ID": "={{ $json.projectId }}",
"Source URL": "={{ $('Configuration').item.json.video_url }}",
"Project Name": "={{ $('Configuration').item.json.project_name }}",
"Error Message": "={{ $json.errMsg }}"
},
"schema": [
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Source URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Source URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Project Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Language",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Language",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Keywords",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Keywords",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project ID",
"type": "string",
"display": true,
"required": false,
"displayName": "Project ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Error Message",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Error Message",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Source URL"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bYilqYnDEdkkIwFUMf2HEIItSBSFH1CQ4F7KJBC0zG4/edit#gid=0",
"cachedResultName": "Source"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1bYilqYnDEdkkIwFUMf2HEIItSBSFH1CQ4F7KJBC0zG4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bYilqYnDEdkkIwFUMf2HEIItSBSFH1CQ4F7KJBC0zG4/edit?usp=drivesdk",
"cachedResultName": "Auto Clipping Video with Vizard AI"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "b14cac2d-8692-42df-8432-23a5271307e9",
"name": "Append Source (Failed) ",
"type": "n8n-nodes-base.googleSheets",
"position": [
1872,
480
],
"parameters": {
"columns": {
"value": {
"Status": "Failed",
"Keywords": "={{ $('Configuration').item.json.keywords }}",
"Language": "={{ $('Configuration').item.json.video_lang }}",
"Source URL": "={{ $('Configuration').item.json.video_url }}",
"Error Message": "={{ $json.errMsg }}"
},
"schema": [
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Source URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Source URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project Name",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Project Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Language",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Language",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Keywords",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Keywords",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project ID",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Project ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Error Message",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Error Message",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Source URL"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bYilqYnDEdkkIwFUMf2HEIItSBSFH1CQ4F7KJBC0zG4/edit#gid=0",
"cachedResultName": "Source"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1bYilqYnDEdkkIwFUMf2HEIItSBSFH1CQ4F7KJBC0zG4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bYilqYnDEdkkIwFUMf2HEIItSBSFH1CQ4F7KJBC0zG4/edit?usp=drivesdk",
"cachedResultName": "Auto Clipping Video with Vizard AI"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "972d3be0-a368-427b-84ed-8e5fc09f08fa",
"name": "AI Clipper",
"type": "n8n-nodes-base.httpRequest",
"position": [
1408,
192
],
"parameters": {
"url": "https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/create",
"method": "POST",
"options": {},
"jsonBody": "={\n \"videoUrl\": \"{{ $json.video_url }}\",\n \"videoType\": 2,\n \"preferLength\": [1,2],\n \"projectName\": \"test\",\n\"lang\":\"auto\"\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "VIZARDAI_API_KEY",
"value": "={{ $json.vizard_api_key }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "b82af3a4-8103-4040-b5fd-5a5783b56660",
"name": "Success?",
"type": "n8n-nodes-base.if",
"position": [
1632,
192
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "6b74dbe5-9f05-4f35-bfce-434636bb0a93",
"operator": {
"type": "number",
"operation": "equals"
},
"leftValue": "={{ $json.code }}",
"rightValue": 2000
}
]
}
},
"typeVersion": 2.2
},
{
"id": "171b53a7-7ce0-46c9-aee5-7e93233801d2",
"name": "Post to Tiktok",
"type": "n8n-nodes-base.httpRequest",
"position": [
3024,
96
],
"parameters": {
"url": "https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/publish",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "finalVideoId",
"value": "={{ $json.videoId }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "VIZARDAI_API_KEY",
"value": "={{ $('Configuration').item.json.vizard_api_key }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "6ff0c51e-5761-48fc-9fc5-bc467c9955a4",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
608,
-160
],
"parameters": {
"width": 672,
"height": 528,
"content": "## Auto-clip long videos into viral short clips using Vizard AI\n\nThis workflow turns long-form YouTube or video URLs into short, high-viral-potential clips, then automatically publishes them to social platforms and logs results in Google Sheets.\n\n## Who\u2019s it for?\nContent creators, social media managers, and marketers who want to scale short-form video production automatically.\n\n## How it works\n1. Collect a video URL and viral score via form or schedule.\n2. Create a clipping project in Vizard AI.\n3. Poll project status until processing is complete.\n4. Filter clips by viral score and limit quantity.\n5. Publish selected clips and log results to Google Sheets.\n\n## How to set up\nConnect Vizard AI, Google Sheets, and social credentials. Configure thresholds and limits in the Set Configuration node, then activate the workflow.\n"
},
"typeVersion": 1
},
{
"id": "c730c5f8-5c4f-451e-82de-96627ee3e364",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1344,
16
],
"parameters": {
"color": 6,
"width": 1136,
"height": 352,
"content": "## Video Generation Logic using Vizard AI\nIt calls Vizard AI to generate the short clips and for every 5 seconds it will check \nif the process succeeded or fail"
},
"typeVersion": 1
},
{
"id": "9ff35fae-5e0f-4c26-bd80-26ad9b032a72",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1824,
400
],
"parameters": {
"color": 4,
"width": 672,
"height": 272,
"content": "## Track Everything in Google Sheet"
},
"typeVersion": 1
},
{
"id": "86c9d83a-9370-46a0-bcbd-2a4f5d9e39f7",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2512,
16
],
"parameters": {
"color": 2,
"width": 736,
"height": 256,
"content": "## Upload to social media (Customizable)"
},
"typeVersion": 1
},
{
"id": "5e8dee96-53bd-4895-b29b-f9c1af7a4150",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1136,
432
],
"parameters": {
"color": 3,
"height": 272,
"content": "## Put your Vizard AI API Key Here"
},
"typeVersion": 1
}
],
"connections": {
"Wait": {
"main": [
[
{
"node": "Get Status",
"type": "main",
"index": 0
}
]
]
},
"Success?": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
],
[
{
"node": "Append Source (Failed) ",
"type": "main",
"index": 0
}
]
]
},
"AI Clipper": {
"main": [
[
{
"node": "Success?",
"type": "main",
"index": 0
}
]
]
},
"Get Status": {
"main": [
[
{
"node": "Check Status",
"type": "main",
"index": 0
}
]
]
},
"Split Clips": {
"main": [
[
{
"node": "Filter by Viral Score",
"type": "main",
"index": 0
}
]
]
},
"Check Status": {
"main": [
[
{
"node": "Append Source (Success)",
"type": "main",
"index": 0
},
{
"node": "Split Clips",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait",
"type": "main",
"index": 0
}
],
[
{
"node": "Append Source (Failed) 2",
"type": "main",
"index": 0
}
]
]
},
"Configuration": {
"main": [
[
{
"node": "AI Clipper",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Configuration",
"type": "main",
"index": 0
}
]
]
},
"Filter by Viral Score": {
"main": [
[
{
"node": "Post to Tiktok",
"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.
googleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow turns long-form YouTube or video URLs into short, high-viral-potential clips, then automatically publishes them to social platforms and logs results in Google Sheets.
Source: https://n8n.io/workflows/12054/ — 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.
Overview 🌐
Splitout Code. Uses splitOut, httpRequest, googleSheets, stickyNote. Event-driven trigger; 36 nodes.
This n8n workflow is designed for Customer Success Managers (CSM), marketers, sales teams, and data administrators who need to automate the process of uploading and processing CSV data in HubSpot. It
The SEO On Page API is a powerful tool for keyword research, competitor analysis, backlink insights, and overall SEO optimization. With multiple endpoints, you can instantly gather actionable SEO data
Demonstration video