{
  "id": "mTKVksq42UUvTYMR",
  "name": "Generate viral TikTok/IG reel clips from YouTube videos with Vizard AI",
  "tags": [],
  "nodes": [
    {
      "id": "b1aa676f-2066-4197-b754-9ad6919c079d",
      "name": "form_trigger",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -2800,
        784
      ],
      "parameters": {
        "options": {},
        "formTitle": "YouTube Video Clipper",
        "formFields": {
          "values": [
            {
              "fieldLabel": "YouTube Video Url",
              "placeholder": "https://www.youtube.com/watch?v=DB9mjd-65gw",
              "requiredField": true
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7e1dd914-cb7b-44af-a26b-c1d535a3f333",
      "name": "Get Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1760,
        704
      ],
      "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": "cf25e3f0-134d-46a1-b873-16a4c008ebf8",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1968,
        736
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "d24c89b5-3523-4a5b-81e6-86307c252e17",
      "name": "Check Status",
      "type": "n8n-nodes-base.switch",
      "position": [
        -1520,
        720
      ],
      "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": "fd1a89ba-2adc-4202-8721-9b84342faac9",
      "name": "AI Clipper",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2384,
        896
      ],
      "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": "26100b60-0cf2-4c8c-bf6b-9f2041c067b7",
      "name": "Success?",
      "type": "n8n-nodes-base.if",
      "position": [
        -2192,
        832
      ],
      "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": "0d937ef3-c757-4315-8ee4-8e7a0c008641",
      "name": "Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        -2576,
        752
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "db577529-a0b0-4cdd-9c2d-27adcf2ee302",
              "name": "vizard_api_key",
              "type": "string",
              "value": "[ENTER_YOUR_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['YouTube Video Url'] }}"
            },
            {
              "id": "c027906c-eafa-4596-8979-dfc045707abd",
              "name": "video_lang",
              "type": "string",
              "value": "=auto"
            },
            {
              "id": "8beb29bd-1d06-4717-9c16-ccd94eb2ac6f",
              "name": "export_mode",
              "type": "string",
              "value": "download"
            },
            {
              "id": "58162138-a6f9-4350-b45b-2e885aab85e3",
              "name": "viral_score_threshold",
              "type": "number",
              "value": 5
            },
            {
              "id": "447e7b7b-cd1d-4b3a-a3e5-b22221aee35b",
              "name": "schedule_time",
              "type": "number",
              "value": null
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "440e66d7-9380-43ba-8f86-80bb8bc116a0",
      "name": "Retrieve Social Media Account",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1312,
        608
      ],
      "parameters": {
        "url": "https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/social-accounts",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "VIZARDAI_API_KEY",
              "value": "={{ $('Configuration').item.json.vizard_api_key }}"
            }
          ]
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "0eec0cfe-f0a9-491d-a42d-3476361c0b55",
      "name": "ViralSocre Filter",
      "type": "n8n-nodes-base.code",
      "position": [
        -1104,
        608
      ],
      "parameters": {
        "jsCode": "const threshold = $('Configuration').first().json.viral_score_threshold;\n\nreturn $('Get Status').first().json.videos\n  .filter(video => Number(video.viralScore) > threshold)\n  .map(video => ({\n    json: video\n  }));"
      },
      "typeVersion": 2
    },
    {
      "id": "be162893-8d9c-4cf4-9cea-c5225247dd31",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        -896,
        608
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 3,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "67af30b5-97f8-443c-841b-4d9cefa8ad62",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('Configuration').item.json.export_mode }}",
                    "rightValue": "auto_publish"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 3,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "fda82684-15c8-478d-9c9a-0bcc181ba61a",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('Configuration').item.json.export_mode }}",
                    "rightValue": "download"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.4
    },
    {
      "id": "de546357-eb29-421a-ac0e-42e897950231",
      "name": "Download",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -592,
        704
      ],
      "parameters": {
        "url": "={{ $('ViralSocre Filter').item.json.videoUrl }}",
        "options": {}
      },
      "typeVersion": 4.3
    },
    {
      "id": "17f7580a-2101-4069-b689-53a76fe864a3",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -624,
        496
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "6c0c2556-b0de-4c10-aa5e-db81a222f5f4",
              "operator": {
                "type": "number",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $('Configuration').item.json.schedule_time }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "39d34de4-01b7-4196-aa90-13517a747193",
      "name": "Scheduled Publish",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -384,
        384
      ],
      "parameters": {
        "url": "https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/publish-video",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "finalVideoId",
              "value": "={{ $('ViralSocre Filter').item.json.videoId }}"
            },
            {
              "name": "socialAccountId",
              "value": "={{ $('Retrieve Social Media Account').item.json.publishAccounts[0].id }}"
            },
            {
              "name": "post"
            },
            {
              "name": "title",
              "value": "= {{ $('ViralSocre Filter').item.json.title }}"
            },
            {
              "name": "publishTime",
              "value": "={{ $('Configuration').item.json.schedule_time }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "VIZARDAI_API_KEY",
              "value": "={{ $('Configuration').item.json.vizard_api_key }}"
            }
          ]
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "16666e7b-03a7-4811-b4ed-62928404087f",
      "name": "Instant Post",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -368,
        560
      ],
      "parameters": {
        "url": "https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/publish-video",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "finalVideoId",
              "value": "={{ $('ViralSocre Filter').item.json.videoId }}"
            },
            {
              "name": "socialAccountId",
              "value": "={{ $('Retrieve Social Media Account').item.json.publishAccounts[0].id }}"
            },
            {
              "name": "post"
            },
            {
              "name": "title",
              "value": "= {{ $('ViralSocre Filter').item.json.title }}"
            },
            {
              "name": "publishTime",
              "value": "={{ $('Configuration').item.json.schedule_time }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "VIZARDAI_API_KEY",
              "value": "={{ $('Configuration').item.json.vizard_api_key }}"
            }
          ]
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "c58d0607-73b8-4fbc-9bae-4a15c4d2ce85",
      "name": "Main Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3568,
        560
      ],
      "parameters": {
        "width": 704,
        "height": 672,
        "content": "## Viral Clip Generator for YouTube Videos\n\nAutomatically extract viral moments from YouTube videos and publish to TikTok, Instagram Reels, and other social platforms using Vizard AI.\n\n### How it works\n\n1. **Submit URL**: Enter a YouTube video link via the form trigger\n2. **AI Analysis**: Vizard AI processes the video and identifies viral-worthy clips\n3. **Quality Filter**: Clips are scored 0-10 for viral potential; only those above your threshold proceed\n4. **Smart Export**: Clips are either downloaded for review or auto-published to your connected social accounts\n\n### Setup\n\n- **Get Vizard API key** from vizard.ai\n- Open **Configuration** node and replace `[ENTER_YOUR_API_KEY_HERE]` with your actual key\n- Set **viral_score_threshold** (default: 5, range: 0-10)\n- Choose **export_mode**: `download` or `auto_publish`\n- Optional: Set **schedule_time** as Unix timestamp for delayed posting\n\n### Customization\n\n- Adjust threshold (7-8 for top clips only, 3-4 for more volume)\n- Modify `preferLength` in AI Clipper node for different clip durations\n- Connect social accounts in Vizard dashboard for auto-publishing\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7b98b7ea-6cd3-4170-9e12-016b1bd63cdb",
      "name": "Processing Section",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2240,
        640
      ],
      "parameters": {
        "color": 7,
        "width": 888,
        "height": 384,
        "content": "## 2. AI Video Processing & Status Monitoring\n\nPolls for completion, validates success"
      },
      "typeVersion": 1
    },
    {
      "id": "12c203c6-52a6-4acf-bac0-d2b4d6953fa9",
      "name": "Export Section",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1328,
        352
      ],
      "parameters": {
        "color": 7,
        "width": 1160,
        "height": 512,
        "content": "## 3. Filtering & Export\n\nFilters clips by viral score, routes to download or social publishing"
      },
      "typeVersion": 1
    },
    {
      "id": "da847e92-1e9e-4ee4-937c-4689c72c677c",
      "name": "Processing Section1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2816,
        640
      ],
      "parameters": {
        "color": 7,
        "width": 552,
        "height": 384,
        "content": "## 1. Get video URL and AI clipping\n\nSubmits video to Vizard AI"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e3b3e817-142d-4037-8f3a-c134bd8c4d2d",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Scheduled Publish",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Instant Post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "Get Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Download",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Success?": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Clipper": {
      "main": [
        [
          {
            "node": "Success?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Status": {
      "main": [
        [
          {
            "node": "Check Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Status": {
      "main": [
        [
          {
            "node": "Retrieve Social Media Account",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "form_trigger": {
      "main": [
        [
          {
            "node": "Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Configuration": {
      "main": [
        [
          {
            "node": "AI Clipper",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ViralSocre Filter": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Retrieve Social Media Account": {
      "main": [
        [
          {
            "node": "ViralSocre Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}