{
  "name": "Create AI Viral Selfie videos 🎬 with celebrities 😎 using Google Veo 3.1",
  "nodes": [
    {
      "id": "d42314f7-87cd-45e3-b604-232ca73e71ba",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        208,
        496
      ]
    },
    {
      "id": "6e0746ba-f5bc-4b4a-8a53-e2dbb3bf246f",
      "name": "Wait 60 sec.",
      "type": "n8n-nodes-base.wait",
      "position": [
        1984,
        752
      ]
    },
    {
      "id": "33d8642a-8521-42c3-ad2a-bdf362a31add",
      "name": "Completed?",
      "type": "n8n-nodes-base.if",
      "position": [
        2352,
        752
      ]
    },
    {
      "id": "a8a11f61-a5a3-4bdf-86bf-9bd5d75c074b",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        640,
        496
      ]
    },
    {
      "id": "0a0dfdef-af99-40d3-885f-524eacd2985d",
      "name": "Get status2",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2160,
        192
      ]
    },
    {
      "id": "4dcffb39-1f81-445b-8801-47af38794b13",
      "name": "Completed?2",
      "type": "n8n-nodes-base.if",
      "position": [
        2336,
        192
      ]
    },
    {
      "id": "0450a28d-fb45-4366-a549-be3c1366d1b4",
      "name": "Upload Video",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        3264,
        -64
      ]
    },
    {
      "id": "24154120-815a-4305-b0f9-b918d7beb953",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3232,
        112
      ],
      "parameters": {
        "width": 468,
        "height": 200,
        "content": "Set YOUR_USERNAME and TITLE for [Upload-Post]((https://www.upload-post.com/?linkId=lp_144414&sourceId=n3witalia&tenantId=upload-post-app))"
      }
    },
    {
      "id": "ed4c91ae-1178-44c9-83f4-8c7476e5265b",
      "name": "Get prompts",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        432,
        496
      ]
    },
    {
      "id": "ebc715d6-7b98-4a87-aa73-44033615ddfe",
      "name": "Get prompt",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        992,
        752
      ]
    },
    {
      "id": "4fcfb5d1-88e8-4329-9494-5c367ac5fcd9",
      "name": "Set params",
      "type": "n8n-nodes-base.set",
      "position": [
        1296,
        752
      ]
    },
    {
      "id": "fa13d84d-6dbd-4a18-affc-010602754993",
      "name": "Generate clip",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1744,
        752
      ]
    },
    {
      "id": "daea484e-f46e-4eed-8e5a-de2699e82c29",
      "name": "Get status clip",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2176,
        752
      ]
    },
    {
      "id": "588c4651-8034-47f4-be16-ec3d48ae2b05",
      "name": "Get Clip Url",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2624,
        736
      ]
    },
    {
      "id": "c700d218-441d-41eb-b667-ce6d639bf2ab",
      "name": "Update video url",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1456,
        1200
      ]
    },
    {
      "id": "454add15-b35d-4e69-b6b7-8f6e635db63c",
      "name": "Get Video Url to merge",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1024,
        208
      ]
    },
    {
      "id": "9e785761-9beb-4742-9471-cbc8d48c7e72",
      "name": "Set VideoUrls Json",
      "type": "n8n-nodes-base.code",
      "position": [
        1312,
        208
      ]
    },
    {
      "id": "247925e3-9cba-4dfb-9294-a4b9fd230baf",
      "name": "Merge Videos",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1648,
        208
      ]
    },
    {
      "id": "5fb8fb51-4e13-4c87-8fda-19df0b0a8b7c",
      "name": "Wait 30 sec.",
      "type": "n8n-nodes-base.wait",
      "position": [
        1968,
        192
      ]
    },
    {
      "id": "fae2b0c5-bf03-455b-8726-bcda2cc72a4c",
      "name": "Get final video url",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2608,
        176
      ]
    },
    {
      "id": "98d1064a-9b2e-48aa-b082-9bba619d6039",
      "name": "Get final video file",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2912,
        176
      ]
    },
    {
      "id": "28cea9fc-6b54-4674-95da-a956efb17714",
      "name": "Upload to Youtube",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3264,
        176
      ]
    },
    {
      "id": "610fe9fa-e0d4-4170-9ac8-fd5232582e8f",
      "name": "Upload to Postiz",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3280,
        400
      ]
    },
    {
      "id": "22946484-88e3-48e6-83c0-b7a4123391c3",
      "name": "Upload to Social",
      "type": "n8n-nodes-postiz.postiz",
      "position": [
        3520,
        400
      ]
    },
    {
      "id": "38ee4936-0c2d-47cd-8673-b9cd1b300531",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3232,
        336
      ],
      "parameters": {
        "width": 468,
        "height": 200,
        "content": "Set Channel_ID and TITLE for [Postiz](https://affiliate.postiz.com/n3witalia) (TikTok, Instagram, Facebook, X, Youtube)"
      }
    },
    {
      "id": "a0e87d2f-1b13-4398-b291-b85dca86f865",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3232,
        -112
      ],
      "parameters": {
        "width": 468,
        "height": 200,
        "content": "Upload final video to Google Drive"
      }
    },
    {
      "id": "c012a049-15d5-4b69-bf10-8747b1abec4c",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        944,
        -624
      ],
      "parameters": {
        "width": 1120,
        "height": 592,
        "content": "## Create Viral Selfie Videos With Celebrities Using Veo 3.1 & Share Everywhere\n\nhis workflow demonstrates how to create **viral AI-generated selfie videos featuring famous characters** using a fully "
      }
    },
    {
      "id": "0a52a32e-aee2-4d2c-a276-69c9bd4720e3",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        368,
        256
      ],
      "parameters": {
        "width": 448,
        "height": 464,
        "content": "## STEP 1 - Prepare the Sheet\n- Clone [this sheet](https://docs.google.com/spreadsheets/d/1QLZmenUJ-vQAw2UzCe-zKTeWU9ybC1aVfi4ThVq3aUg/edit?usp=sharing) and fill the columns START, LAST, PROMPT and DU"
      }
    },
    {
      "id": "1d00df58-146c-4e2f-a964-413b22378cf4",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        944,
        544
      ],
      "parameters": {
        "width": 1888,
        "height": 464,
        "content": "## STEP 2 - Generate videos based on the provided prompt\nFor each row in the sheet, the workflow calls the fal.ai VEO 3.1 API to generate a video clip based on the provided prompt, start image, end im"
      }
    },
    {
      "id": "a7dd0284-ca9b-430a-8514-4bd4d88a2af3",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        944,
        1040
      ],
      "parameters": {
        "width": 1888,
        "height": 384,
        "content": "## STEP 3 - Update Sheet\nUpdate sheet with the generated video url"
      }
    },
    {
      "id": "67a94e91-1c05-4671-a75a-355d4976b544",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        944,
        16
      ],
      "parameters": {
        "width": 1888,
        "height": 496,
        "content": "## STEP 4 - Merge videos\nMerge the individual clips into a single, linear video using Fal AI’s ffmpeg API.\n\nIn the HTTP's nodes set \"Header Auth\" and set:\n- Name: \"Authorization\"\n- Value: \"Key YOURAPI"
      }
    },
    {
      "id": "ac917714-1a2c-4c21-a029-967f22a3f20a",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3200,
        -208
      ],
      "parameters": {
        "width": 528,
        "height": 784,
        "content": "## STEP 5 - Upload video\nUpload video to Google Drive and social media platforms"
      }
    },
    {
      "id": "8f030a75-2899-43ee-89ee-6c97b7943a79",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2096,
        -768
      ],
      "parameters": {
        "width": 736,
        "height": 736,
        "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": {
    "Completed?": {
      "main": [
        [
          {
            "node": "Get Clip Url",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 60 sec.",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get prompt": {
      "main": [
        [
          {
            "node": "Set params",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set params": {
      "main": [
        [
          {
            "node": "Generate clip",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Completed?2": {
      "main": [
        [
          {
            "node": "Get final video url",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 30 sec.",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get prompts": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get status2": {
      "main": [
        [
          {
            "node": "Completed?2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Clip Url": {
      "main": [
        [
          {
            "node": "Update video url",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Videos": {
      "main": [
        [
          {
            "node": "Wait 30 sec.",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload Video": {
      "main": [
        []
      ]
    },
    "Wait 30 sec.": {
      "main": [
        [
          {
            "node": "Get status2",
            "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 status clip": {
      "main": [
        [
          {
            "node": "Completed?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Get Video Url to merge",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update video url": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to Postiz": {
      "main": [
        [
          {
            "node": "Upload to Social",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to Youtube": {
      "main": [
        []
      ]
    },
    "Set VideoUrls Json": {
      "main": [
        [
          {
            "node": "Merge Videos",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get final video url": {
      "main": [
        [
          {
            "node": "Get final video file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get final video file": {
      "main": [
        [
          {
            "node": "Upload Video",
            "type": "main",
            "index": 0
          },
          {
            "node": "Upload to Youtube",
            "type": "main",
            "index": 0
          },
          {
            "node": "Upload to Postiz",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Video Url to merge": {
      "main": [
        [
          {
            "node": "Set VideoUrls Json",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Get prompts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}