This workflow follows the Form Trigger → HTTP Request 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 →
{
"name": "The Recap AI - YouTube Video Clipper",
"nodes": [
{
"parameters": {
"formTitle": "YouTube Video Clipper",
"formFields": {
"values": [
{
"fieldLabel": "YouTube Video Url",
"placeholder": "https://www.youtube.com/watch?v=DB9mjd-65gw",
"requiredField": true
}
]
},
"options": {}
},
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2.2,
"position": [
-180,
0
],
"id": "8ec0c272-cdd2-4398-8799-035b4e9cbb57",
"name": "form_trigger"
},
{
"parameters": {
"method": "POST",
"url": "https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/create",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"lang\": \"en\",\n \"preferLength\": [\n 0\n ],\n \"videoUrl\": \"{{ $json['YouTube Video Url'] }}\",\n \"videoType\": 2,\n \"maxClipNumber\": 8\n}",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
100,
0
],
"id": "2ab8e9a6-6a75-40c9-9f9c-3512fa1208af",
"name": "submit_video",
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"amount": 10
},
"type": "n8n-nodes-base.wait",
"typeVersion": 1.1,
"position": [
380,
0
],
"id": "cfddcedd-19ab-45a2-b746-657c580082b2",
"name": "wait"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "0583b406-8a93-4582-9229-7f68aa461320",
"leftValue": "={{ $json.code }}",
"rightValue": 2000,
"operator": {
"type": "number",
"operation": "equals"
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
940,
100
],
"id": "42c02942-9d9e-42e0-b931-cf3feb354394",
"name": "check_status"
},
{
"parameters": {
"authentication": "oAuth2",
"select": "channel",
"channelId": {
"__rl": true,
"value": "C08KC39K8DR",
"mode": "list",
"cachedResultName": "ai-tools-content"
},
"text": "=<{{ $('form_trigger').item.json['YouTube Video Url'] }}|Video Clipper Results>",
"otherOptions": {
"includeLinkToWorkflow": false
}
},
"type": "n8n-nodes-base.slack",
"typeVersion": 2.3,
"position": [
-180,
560
],
"id": "01e39b0c-8226-4f1d-a6c4-eb2826219859",
"name": "send_initial_msg",
"credentials": {
"slackOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "dd18de51-6e46-48a5-8df6-3fbb6b03474b",
"name": "videos",
"value": "={{ $('check_status').item.json.videos }}",
"type": "array"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
100,
560
],
"id": "72cf4174-306f-4ed9-8b94-1ec43209a84b",
"name": "set_videos"
},
{
"parameters": {
"url": "=https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/query/{{ $json.projectId }}",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
660,
0
],
"id": "985bc5e1-00f3-4023-a6e0-a98c9ad025d9",
"name": "get_clipping_status",
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"fieldToSplitOut": "videos",
"options": {}
},
"type": "n8n-nodes-base.splitOut",
"typeVersion": 1,
"position": [
380,
560
],
"id": "72bd9d52-762a-4f46-861a-461bddaae842",
"name": "split_videos"
},
{
"parameters": {
"authentication": "oAuth2",
"select": "channel",
"channelId": {
"__rl": true,
"value": "C08KC39K8DR",
"mode": "list",
"cachedResultName": "ai-tools-content"
},
"text": "=*{{ $json.title }} | ({{ $json.viralScore }} / 10)*\n```\n{{ $json.videoUrl }}\n```\n---",
"otherOptions": {
"includeLinkToWorkflow": false,
"thread_ts": {
"replyValues": {
"thread_ts": "={{ $('send_initial_msg').item.json.message.ts }}"
}
}
}
},
"type": "n8n-nodes-base.slack",
"typeVersion": 2.3,
"position": [
940,
560
],
"id": "17d6d975-63f3-452d-9ddc-952ff97d9600",
"name": "send_video_msg",
"credentials": {
"slackOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "loose",
"version": 2
},
"conditions": [
{
"id": "1ca8f8e1-04f4-44fd-9a2d-7e656b08ff81",
"leftValue": "={{ $json.viralScore }}",
"rightValue": 9,
"operator": {
"type": "number",
"operation": "gte"
}
}
],
"combinator": "and"
},
"looseTypeValidation": true,
"options": {}
},
"type": "n8n-nodes-base.filter",
"typeVersion": 2.2,
"position": [
660,
560
],
"id": "800c0992-1bc3-4b9e-9328-459290f465b0",
"name": "filter_viral_score"
},
{
"parameters": {
"content": "## 1. Analyze Long Form YouTube Video & Generate Viral Clips\n- Provide YouTube Video Urls as Input\n- Send API request to Vizard AI to submit the video to analyze and generate the clips\n- Poll the Vizard `/query` endpoint",
"height": 560,
"width": 1380,
"color": 5
},
"type": "n8n-nodes-base.stickyNote",
"position": [
-200,
-200
],
"typeVersion": 1,
"id": "115d57c2-5326-4e9d-b1f6-5ab50a6a74aa",
"name": "Sticky Note"
},
{
"parameters": {
"content": "## 2. Share Best Viral Clips In Slack\n- Filter video clip results that have a viral score of at least 9 out of 10\n- Share video title and link to download in slack thread for further review\n- This can be extended even further to auto-generate captions using a LLM and auto-posting to social media channels via blotato",
"height": 360,
"width": 1380,
"color": 6
},
"type": "n8n-nodes-base.stickyNote",
"position": [
-200,
380
],
"typeVersion": 1,
"id": "84f43084-3d5d-4af1-b191-ac6b95ab00e7",
"name": "Sticky Note1"
}
],
"connections": {
"form_trigger": {
"main": [
[
{
"node": "submit_video",
"type": "main",
"index": 0
}
]
]
},
"submit_video": {
"main": [
[
{
"node": "wait",
"type": "main",
"index": 0
}
]
]
},
"wait": {
"main": [
[
{
"node": "get_clipping_status",
"type": "main",
"index": 0
}
]
]
},
"check_status": {
"main": [
[
{
"node": "send_initial_msg",
"type": "main",
"index": 0
}
],
[
{
"node": "wait",
"type": "main",
"index": 0
}
]
]
},
"send_initial_msg": {
"main": [
[
{
"node": "set_videos",
"type": "main",
"index": 0
}
]
]
},
"get_clipping_status": {
"main": [
[
{
"node": "check_status",
"type": "main",
"index": 0
}
]
]
},
"set_videos": {
"main": [
[
{
"node": "split_videos",
"type": "main",
"index": 0
}
]
]
},
"split_videos": {
"main": [
[
{
"node": "filter_viral_score",
"type": "main",
"index": 0
}
]
]
},
"filter_viral_score": {
"main": [
[
{
"node": "send_video_msg",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "117cda19-70c4-426a-a9a5-04a0d6034916",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "y7hQeDrKG6Dh0GRo",
"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.
httpHeaderAuthslackOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
Effortlessly transform lengthy YouTube videos into concise, shareable clips with this workflow, saving hours of manual editing for content creators and marketers. It automates the process by taking a video URL via a simple form submission, processing it through an external clipping service, and delivering polished short videos ready for social media or team sharing. The key step involves checking the clipping status in a loop until completion, ensuring reliable results without constant oversight, and integrates seamlessly with Slack to notify you of progress and final outputs.
Use this workflow when you need quick, automated clips from educational or promotional YouTube videos to boost engagement on platforms like Twitter or Instagram. Avoid it for real-time processing demands or videos under two minutes, where full uploads suffice. Common variations include swapping Slack for email notifications or adding transcription steps for subtitled clips.
About this workflow
The Recap AI - YouTube Video Clipper. Uses formTrigger, httpRequest, slack. Event-driven trigger; 12 nodes.
Source: https://github.com/VasilisPlavos/Learn/blob/906c45384956c575c32f82e5baef5b2f4bfcc9bb/automations/n8n/lucaswalter-n8n-ai-automations/viral_youtube_video_clipper.json — 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.
Content creators, AI video enthusiasts, and digital marketers who want to analyze successful short-form videos and understand their production techniques. Perfect for anyone looking to reverse-enginee
Content creators, social media managers, and marketing teams who want to automatically extract the most engaging clips from long-form YouTube videos and identify content with high viral potential.
Marketing teams, agencies, and businesses who regularly create tens or hundreds of Facebook ads and store their creative assets in Google Drive.
This n8n template demonstrates how to generate subtitle overlays for YouTube videos and save the final files to Google Drive. It is useful when you want accessible video outputs without manually editi
Content Creator - Social Media Mockup Batch. Uses googleDriveTrigger, n8n-nodes-sudomock, editImage, googleDrive. Event-driven trigger; 19 nodes.