{
  "name": "Extend and merge UGC viral videos using Kling 2.1, then publish on social media",
  "nodes": [
    {
      "id": "85057e26-b59b-4319-b173-fa2cac3e7732",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        64,
        496
      ]
    },
    {
      "id": "c496ec89-5771-47f8-a3a6-e2489a507ea0",
      "name": "Completed?1",
      "type": "n8n-nodes-base.if",
      "position": [
        1504,
        496
      ]
    },
    {
      "id": "4849480f-f3da-43bb-a8fd-67a3522e68da",
      "name": "Get Last frame",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1776,
        480
      ]
    },
    {
      "id": "bcaec2e1-ab42-4e97-a5c8-8e9a1c4090c8",
      "name": "Update video url",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1776,
        1024
      ]
    },
    {
      "id": "3a578528-f974-4499-8a07-a38038b3a75a",
      "name": "Extract last frame",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        896,
        496
      ]
    },
    {
      "id": "32e1ef51-0cac-47b7-b8a8-80049190cf2f",
      "name": "Wait 10 sec.",
      "type": "n8n-nodes-base.wait",
      "position": [
        1120,
        496
      ]
    },
    {
      "id": "7c36d533-d710-4fd2-a37c-782e6ada4cae",
      "name": "Get status Extract Frame",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1312,
        496
      ]
    },
    {
      "id": "5607b995-f5f2-452d-af91-e21b1aaa25b7",
      "name": "Set params",
      "type": "n8n-nodes-base.set",
      "position": [
        544,
        496
      ]
    },
    {
      "id": "df74f2a2-f598-489f-b43b-53782e44c432",
      "name": "Completed?5",
      "type": "n8n-nodes-base.if",
      "position": [
        1552,
        1584
      ]
    },
    {
      "id": "04530e5e-6fa0-4cb8-86b7-1bf39b6197d1",
      "name": "Upload Video2",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2592,
        1008
      ]
    },
    {
      "id": "93fc3621-b08e-426c-b765-f0ee7baad60d",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2560,
        1264
      ],
      "parameters": {
        "width": 468,
        "height": 216,
        "content": "Create a FREE account on [Upload-Post](https://www.upload-post.com/?linkId=lp_144414&sourceId=n3witalia&tenantId=upload-post-app) and Set YOUR_USERNAME and TITLE for Upload-Post"
      }
    },
    {
      "id": "843ef8f5-6ab2-45ea-b55a-13c61b44be5e",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2560,
        1600
      ],
      "parameters": {
        "width": 484,
        "height": 200,
        "content": "Create a FREE account on [Postiz](https://postiz.com/?ref=n3witalia) and Set Channel_ID and TITLE for Postiz (TikTok, Instagram, Facebook, X, Youtube)"
      }
    },
    {
      "id": "559f2cd0-5233-4fa4-b96b-bb0040a9fc98",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2560,
        960
      ],
      "parameters": {
        "width": 468,
        "height": 200,
        "content": "Upload final video to Google Drive"
      }
    },
    {
      "id": "897dd9a9-8adf-40f1-8145-a5c4375027b5",
      "name": "Generate clip",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        880,
        1040
      ]
    },
    {
      "id": "f3a2de88-886d-4a4e-9f7e-e09967958a3e",
      "name": "Get status clip",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1328,
        1040
      ]
    },
    {
      "id": "e8df586a-7470-48d2-b4a7-16bc715ad4b5",
      "name": "Wait 60 sec.",
      "type": "n8n-nodes-base.wait",
      "position": [
        1136,
        1040
      ]
    },
    {
      "id": "a8b2c3c5-cbe3-4b48-a58f-eec2e3b168ed",
      "name": "Completed?",
      "type": "n8n-nodes-base.if",
      "position": [
        1520,
        1040
      ]
    },
    {
      "id": "15a2a446-e193-40e2-90b2-86d7bdd5384e",
      "name": "Set VideoUrls Json",
      "type": "n8n-nodes-base.code",
      "position": [
        2256,
        1024
      ]
    },
    {
      "id": "cbf2490c-8ea2-4af6-ad72-a27503bf3044",
      "name": "Get videos to merge",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2016,
        1024
      ]
    },
    {
      "id": "3ee5d942-7ad2-4478-959a-53690596f573",
      "name": "Get final video file",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2256,
        1568
      ]
    },
    {
      "id": "71ef8725-1bba-4568-859d-19025a88ccd8",
      "name": "Get status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1376,
        1584
      ]
    },
    {
      "id": "d2f68b00-9dca-4a84-a34a-52338b9ab060",
      "name": "Get final video url",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1824,
        1568
      ]
    },
    {
      "id": "a99141d9-b745-4516-b448-7128825308c6",
      "name": "Update video url2",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2064,
        1568
      ]
    },
    {
      "id": "239477c1-c0ac-43e5-a051-1d831b357da7",
      "name": "Wait 30 sec.",
      "type": "n8n-nodes-base.wait",
      "position": [
        1184,
        1584
      ]
    },
    {
      "id": "1ad2efa2-2a23-4ab7-8cf1-d7081d139d19",
      "name": "Merge Videos",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        864,
        1584
      ]
    },
    {
      "id": "a9f82e50-f420-47f8-9c69-767ed2d203b3",
      "name": "Upload to Postiz",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2608,
        1664
      ]
    },
    {
      "id": "9fb2a1ee-8741-4aca-9e8d-b82f320539f3",
      "name": "Upload to Social",
      "type": "n8n-nodes-postiz.postiz",
      "position": [
        2896,
        1664
      ]
    },
    {
      "id": "fa657f93-b66a-447a-ae81-030ce7d03196",
      "name": "Upload to Youtube",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2592,
        1328
      ]
    },
    {
      "id": "620ee43e-7209-4fd4-8cc5-a099ebf70e7b",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        336
      ],
      "parameters": {
        "width": 1156,
        "height": 492,
        "content": "## STEP 2 - EXTRACT LAST FRAME FROM VIDEO\nCreate an account [here](https://fal.ai/) and obtain API KEY.\nIn the node \"Extract Last Frame\" set \"Header Auth\" and set:\n- Name: \"Authorization\"\n- Value: \"Ke"
      }
    },
    {
      "id": "04033b26-4c84-43f2-bdab-54627cde1065",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        864
      ],
      "parameters": {
        "width": 900,
        "height": 492,
        "content": "## STEP 3 - GENERATE EXTENDED VIDEO WITH KLING 2.1\nCreate an account on Runpod [here](https://runpod.io?ref=moqjqsgw) and obtain API KEY.\nIn the node \"Generate Clip\" set \"Header Auth\" and set:\n- Name:"
      }
    },
    {
      "id": "3151a1b5-48d0-4de5-82e5-58ad3e8e8288",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        1392
      ],
      "parameters": {
        "width": 1604,
        "height": 492,
        "content": "## STEP 4 - MERGE VIDEOS\nCreate an account [here](https://fal.ai/) and obtain API KEY.\nIn the node \"Merge Videos\" set \"Header Auth\" and set:\n- Name: \"Authorization\"\n- Value: \"Key YOURAPIKEY\""
      }
    },
    {
      "id": "ed077754-6c23-4185-88b4-3ab7b050f232",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1760,
        864
      ],
      "parameters": {
        "width": 676,
        "height": 492,
        "content": "## PREPARE VIDEOS TO MERGE\n"
      }
    },
    {
      "id": "26d8c032-8d90-4591-b99d-8818c5e9b6ba",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2464,
        864
      ],
      "parameters": {
        "width": 708,
        "height": 1020,
        "content": "## STEP 5 - UPLOAD TO GOOGLE DRIVE AND SOCIAL MEDIA\n"
      }
    },
    {
      "id": "16b1b296-b956-4c00-9455-bf641be349f3",
      "name": "Get video",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        304,
        496
      ]
    },
    {
      "id": "ba797a59-c99d-4b27-9fef-7d135ab6e61a",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        256,
        336
      ],
      "parameters": {
        "width": 564,
        "height": 492,
        "content": "## STEP 1 - SET PARAMS\n[Clone this Sheet](https://docs.google.com/spreadsheets/d/14zlCDJFLrJIhcq7HwFGdKAHIwvjmkwP-FSTHmLTj0ow/edit?usp=sharing) and fill the columns START, PROMPT and DURATION (in seco"
      }
    },
    {
      "id": "5f493393-29ac-40e6-9eea-83cc9fab5982",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        256,
        -128
      ],
      "parameters": {
        "width": 1760,
        "height": 432,
        "content": "## Extend and Merge UGC Viral Videos Using Kling 2.1, Then Publish on Social Media\n\nThis workflow automates the full pipeline for **extending short Viral UGC-style videos** using AI, merging them, and"
      }
    },
    {
      "id": "dea6f93c-b7df-4366-9a84-b0181a8f34b6",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2048,
        -128
      ],
      "parameters": {
        "width": 832,
        "height": 912,
        "content": "## My NEW Youtube Channel\n👉 [Subscribe to my new **YouTube channel**](https://youtube.com/@n3witalia). Here I’ll share videos and Shorts with practical tutorials and **FREE templates for n8n**.\n\n[![im"
      }
    }
  ],
  "connections": {
    "Get video": {
      "main": [
        [
          {
            "node": "Set params",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Completed?": {
      "main": [
        [
          {
            "node": "Update video url",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 60 sec.",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get status": {
      "main": [
        [
          {
            "node": "Completed?5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set params": {
      "main": [
        [
          {
            "node": "Extract last frame",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Completed?1": {
      "main": [
        [
          {
            "node": "Get Last frame",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 10 sec.",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Completed?5": {
      "main": [
        [
          {
            "node": "Get final video url",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 30 sec.",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Videos": {
      "main": [
        [
          {
            "node": "Wait 30 sec.",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 10 sec.": {
      "main": [
        [
          {
            "node": "Get status Extract Frame",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 30 sec.": {
      "main": [
        [
          {
            "node": "Get status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 60 sec.": {
      "main": [
        [
          {
            "node": "Get status clip",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate clip": {
      "main": [
        [
          {
            "node": "Wait 60 sec.",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Last frame": {
      "main": [
        [
          {
            "node": "Generate clip",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get status clip": {
      "main": [
        [
          {
            "node": "Completed?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update video url": {
      "main": [
        [
          {
            "node": "Get videos to merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to Postiz": {
      "main": [
        [
          {
            "node": "Upload to Social",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update video url2": {
      "main": [
        [
          {
            "node": "Get final video file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract last frame": {
      "main": [
        [
          {
            "node": "Wait 10 sec.",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set VideoUrls Json": {
      "main": [
        [
          {
            "node": "Merge Videos",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get final video url": {
      "main": [
        [
          {
            "node": "Update video url2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get videos to merge": {
      "main": [
        [
          {
            "node": "Set VideoUrls Json",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get final video file": {
      "main": [
        [
          {
            "node": "Upload Video2",
            "type": "main",
            "index": 0
          },
          {
            "node": "Upload to Youtube",
            "type": "main",
            "index": 0
          },
          {
            "node": "Upload to Postiz",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get status Extract Frame": {
      "main": [
        [
          {
            "node": "Completed?1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Get video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}