AutomationFlowsSocial Media › Clip YouTube Videos with Recap AI

Clip YouTube Videos with Recap AI

Original n8n title: The Recap AI - Youtube Video Clipper

The Recap AI - YouTube Video Clipper. Uses formTrigger, httpRequest, slack. Event-driven trigger; 12 nodes.

Event trigger★★★★☆ complexity12 nodesForm TriggerHTTP RequestSlack
Social Media Trigger: Event Nodes: 12 Complexity: ★★★★☆ Added:

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 →

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

Pro

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 →

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

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

Form Trigger, HTTP Request, Slack
Social Media

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.

Form Trigger, HTTP Request, Slack
Social Media

Marketing teams, agencies, and businesses who regularly create tens or hundreds of Facebook ads and store their creative assets in Google Drive.

Facebook Graph Api, Error Trigger, Stop And Error +4
Social Media

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

@Videodb/N8N Nodes Videodb, HTTP Request, Form Trigger +1
Social Media

Content Creator - Social Media Mockup Batch. Uses googleDriveTrigger, n8n-nodes-sudomock, editImage, googleDrive. Event-driven trigger; 19 nodes.

Google Drive Trigger, N8N Nodes Sudomock, Edit Image +4