AutomationFlowsAI & RAG › Fb Ad Spy: Ai-powered Competitor Ad Intelligence & Auto-video Remixer

Fb Ad Spy: Ai-powered Competitor Ad Intelligence & Auto-video Remixer

ByKoulikas Giannis @giannis on n8n.io

Scrape ads – Pulls Facebook Ad Library data for "ai automation" keywords using Apify Filter & sort – Filters ads by page likes (>1,000) and separates into videos, images, and text ads Analyze creative – For videos: uploads to Gemini for detailed description. For images:…

Event trigger★★★★★ complexityAI-powered66 nodesHTTP RequestGoogle DriveOpenAIGoogle SheetsJwtGoogle Cloud Storage
AI & RAG Trigger: Event Nodes: 66 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #15144 — we link there as the canonical source.

This workflow follows the Google Drive → Google Sheets 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
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "bb3804fa-18d2-4a3c-bd6f-17bbd2af16b6",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -368,
        64
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "bda4755e-8002-4670-a2d6-62703410f465",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        192,
        528
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "7a0b35c3-7ff4-439d-9271-b03bc9ddbc85",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        544
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "84d09491-db90-4965-b5cf-c7860fef6446",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1088,
        1136
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "241f2ac9-947c-487b-a593-1d853760aa41",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1536,
        480
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "1df7e655-28c7-414e-bc92-30b2da006aca",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        96
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "0ed500bc-278d-4ef0-8a40-1a312fd7ead1",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2256,
        128
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "3f8f54d4-a7db-49ec-831a-06575f4e3eb5",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5600,
        64
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d89cd705-4f45-4f29-83ad-0b2535f23ed5",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        6272,
        112
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "107a5cfa-8293-433d-b88c-a6928c82e6e5",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        6944,
        64
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "421a6748-0cd8-48ab-81be-3045504737b0",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        8288,
        128
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "00a89ceb-e9b8-47a8-989a-3df3c3d073c1",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        7616,
        64
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "077710d4-2fcc-4e76-b757-d1343574bfe8",
      "name": "On Manual Start",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        240,
        656
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c2166203-58bb-4800-93b0-6336433e0482",
      "name": "Filter by Ad Likes",
      "type": "n8n-nodes-base.filter",
      "position": [
        912,
        656
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "a0ee79a8-27f5-4bd1-b6b3-31d13668e109",
      "name": "Wait Before Processing Text Ads",
      "type": "n8n-nodes-base.wait",
      "position": [
        2160,
        1248
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "7355857d-f886-4396-b993-c090b3329777",
      "name": "Wait Before Image Creation",
      "type": "n8n-nodes-base.wait",
      "position": [
        3056,
        592
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "8331585a-1d38-41aa-a258-762ce09e8644",
      "name": "Download Video Content",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1680,
        208
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "6d887073-a799-4041-a2a9-5997ed49c0ad",
      "name": "Save Video to Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1984,
        208
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "1913035b-9713-4564-ad2f-acb5aa97e445",
      "name": "Wait Before Video Processing",
      "type": "n8n-nodes-base.wait",
      "position": [
        4528,
        240
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "638865ff-bc32-486f-bde4-71652ac8027b",
      "name": "Scrape Ad Library Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        464,
        656
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "e76c7203-7102-4b98-bdc3-d11af4c4e7c6",
      "name": "Batch Image Ads Processing",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1584,
        656
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "b63e5c92-a07a-424b-9c56-676b816e15eb",
      "name": "Batch Text Ads Processing",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1360,
        1312
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "a230ad77-25ad-4b9e-a94c-a0f7d1419906",
      "name": "Batch Video Ads Processing",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1360,
        288
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "11433aac-c6f8-48cc-9995-7ea26b8133ab",
      "name": "Initiate Gemini Upload",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2304,
        240
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "3b512368-8b2c-41d4-970d-bd626b0dc69e",
      "name": "Retrieve Video from Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2592,
        240
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "2ca3abd9-1bcc-45cf-a4bb-e37e7a3c5f7c",
      "name": "Submit Video to Gemini",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2832,
        240
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "a49a6ec1-f81e-4131-88a7-746a046c54a6",
      "name": "Analyze Video in Gemini",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3280,
        240
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 4.2,
      "waitBetweenTries": 15
    },
    {
      "id": "cdb1f78a-23d2-48f1-9d62-bf0db510e143",
      "name": "Summarize Video with AI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        3504,
        240
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "f9c33232-867f-41ec-8e91-7a95cb4eb0a5",
      "name": "Record Video Data in Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        4304,
        240
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "e48a756e-098f-4342-bfb6-eaa495df64bd",
      "name": "Analyze Image with AI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2192,
        592
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "bf019375-2d66-4107-bbb0-3a90d8998f5f",
      "name": "Summarize Image with AI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2432,
        592
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "061f947e-a674-4e53-b1ea-280aed785e2a",
      "name": "Record Image Data in Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2832,
        592
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "3d8e0081-1d36-426c-978f-b6085cf03654",
      "name": "Summarize Text with AI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1584,
        1248
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "b2f34f8f-f736-4b7a-8559-628c6d3ca664",
      "name": "Record Text Data in Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1984,
        1248
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "12aa472e-f368-47d2-962e-890b2d0d9de1",
      "name": "Wait for Analysis Completion",
      "type": "n8n-nodes-base.wait",
      "position": [
        3056,
        240
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "72e03c91-e79d-42c8-b20f-c7ffaabd8a41",
      "name": "Convert Media Into File",
      "type": "n8n-nodes-base.convertToFile",
      "notes": "At this step, the video should be generated and ready to convert to 9:16 aspect ratio",
      "position": [
        6320,
        240
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.1
    },
    {
      "id": "11699cad-b8a4-4924-a319-a47b974c351a",
      "name": "Query Server Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        5872,
        176
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "57b19de0-2644-422c-8181-e452b979c22d",
      "name": "Start Video Generation Process",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        5424,
        240
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "7fd00704-f5bd-4d09-a6bd-9f7947b416fb",
      "name": "Create JWT Token",
      "type": "n8n-nodes-base.jwt",
      "position": [
        4976,
        240
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7fc9a6a7-7e28-4ce1-9c1c-30af31eda80f",
      "name": "Obtain OAuth Token",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        5200,
        240
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "08baf989-372c-4b96-9308-bc211e895d72",
      "name": "Check Rendering Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        7216,
        176
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "69edd123-a943-4226-9bef-c23c9945ebcd",
      "name": "Verify Status OK",
      "type": "n8n-nodes-base.if",
      "position": [
        7440,
        240
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "b0d335f5-4f32-43c3-9515-40b9ca87d366",
      "name": "Await Rendering Completion",
      "type": "n8n-nodes-base.wait",
      "position": [
        6992,
        240
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "784ffc2e-baf1-4c01-9090-7d19a96bba06",
      "name": "Download Finalized Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        8576,
        240
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "055ecd77-3cf0-48d0-bad0-821bf8c10a30",
      "name": "Save File to Cloud Storage",
      "type": "n8n-nodes-base.googleCloudStorage",
      "position": [
        6544,
        240
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 2000
    },
    {
      "id": "5b740d4d-78de-43fc-afb9-a6c8f1232274",
      "name": "Transform Video to 9:16 Ratio",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        6768,
        240
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "e69090fc-ae6d-4add-93d7-af957e382ba4",
      "name": "Verify Captions Presence",
      "type": "n8n-nodes-base.if",
      "position": [
        8336,
        240
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "0e710161-bc3b-4245-9ba5-151a96beb25d",
      "name": "Insert Video Captions",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        7664,
        240
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "49948fd1-6841-47bb-b74b-275a940a10ea",
      "name": "Await Caption Completion",
      "type": "n8n-nodes-base.wait",
      "position": [
        7888,
        240
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "80baec02-38bf-45f4-abc7-028a376cee4e",
      "name": "Verify Caption Completion",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        8112,
        176
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "a8fff3f0-a9c7-4d8f-8fd2-411936f1d764",
      "name": "Evaluate Condition Route",
      "type": "n8n-nodes-base.switch",
      "position": [
        6096,
        240
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "f33506fa-831a-4e16-ab45-569715d196b6",
      "name": "Pause for 20 Seconds",
      "type": "n8n-nodes-base.wait",
      "position": [
        5648,
        240
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "9e3987a4-3a64-4209-b675-8eb8c4f21add",
      "name": "Modify Google Sheet Entry",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        9008,
        320
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "21ab5b35-efd5-4e18-84c3-4374180b725c",
      "name": "Upload Final Output to Cloud",
      "type": "n8n-nodes-base.googleCloudStorage",
      "position": [
        8784,
        240
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 2000
    },
    {
      "id": "d1d0ba62-fe12-4cb5-98ce-843b0e9c44d3",
      "name": "Configure API Parameters",
      "type": "n8n-nodes-base.set",
      "position": [
        4752,
        240
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "ec7c11af-2150-4410-81a3-e43127a7ef40",
      "name": "Create Video Prompt with AI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        3904,
        240
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "1de09b9e-60d5-4eba-a829-f8c500fa4ac8",
      "name": "Generate Image with AI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        3280,
        656
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "81188c94-0e3f-4bff-9ea5-79b1a09c983b",
      "name": "Apply Filter to Video Ads",
      "type": "n8n-nodes-base.filter",
      "position": [
        1136,
        288
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "29eba8fc-502d-446a-af16-b585803bb8b2",
      "name": "Apply Filter to Image Ads",
      "type": "n8n-nodes-base.filter",
      "position": [
        1136,
        656
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "f58337c7-5cb1-4164-95bf-17f0b349600d",
      "name": "Apply Multi-Condition Filter to Text Ads",
      "type": "n8n-nodes-base.filter",
      "position": [
        1136,
        1312
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "8f1011a1-5098-4f24-957e-862632ea4580",
      "name": "Distribute Ad Cards",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        688,
        656
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e57a653e-e713-472f-8b80-57abf7d1afbd",
      "name": "Separate Video Resources",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        688,
        320
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "48db4fc8-dd5a-4604-a5e3-e0508508fb46",
      "name": "Fetch Image From URL",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1920,
        592
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "645e8066-e27c-4664-8623-35be0a220677",
      "name": "Extract Batch of Ad Cards",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        688,
        944
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "59fc96fc-5d0b-4e87-95d3-2c582fc27083",
      "name": "Filter Ads by Likes",
      "type": "n8n-nodes-base.filter",
      "position": [
        912,
        944
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "90e7fa9c-9ff0-4c43-99d1-000e7375971c",
      "name": "Filter Videos by Likes",
      "type": "n8n-nodes-base.filter",
      "position": [
        912,
        320
      ],
      "parameters": {},
      "typeVersion": 2.2
    }
  ],
  "connections": {
    "On Manual Start": {
      "main": [
        [
          {
            "node": "Scrape Ad Library Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create JWT Token": {
      "main": [
        [
          {
            "node": "Obtain OAuth Token",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify Status OK": {
      "main": [
        [
          {
            "node": "Insert Video Captions",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Await Rendering Completion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter by Ad Likes": {
      "main": [
        [
          {
            "node": "Apply Filter to Image Ads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Obtain OAuth Token": {
      "main": [
        [
          {
            "node": "Start Video Generation Process",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Distribute Ad Cards": {
      "main": [
        [
          {
            "node": "Filter by Ad Likes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Ads by Likes": {
      "main": [
        [
          {
            "node": "Apply Multi-Condition Filter to Text Ads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Query Server Status": {
      "main": [
        [
          {
            "node": "Evaluate Condition Route",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Image From URL": {
      "main": [
        [
          {
            "node": "Analyze Image with AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pause for 20 Seconds": {
      "main": [
        [
          {
            "node": "Query Server Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze Image with AI": {
      "main": [
        [
          {
            "node": "Summarize Image with AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Insert Video Captions": {
      "main": [
        [
          {
            "node": "Await Caption Completion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Rendering Status": {
      "main": [
        [
          {
            "node": "Verify Status OK",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Video Content": {
      "main": [
        [
          {
            "node": "Save Video to Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Videos by Likes": {
      "main": [
        [
          {
            "node": "Apply Filter to Video Ads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Image with AI": {
      "main": [
        [
          {
            "node": "Batch Image Ads Processing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Initiate Gemini Upload": {
      "main": [
        [
          {
            "node": "Retrieve Video from Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape Ad Library Data": {
      "main": [
        [
          {
            "node": "Distribute Ad Cards",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract Batch of Ad Cards",
            "type": "main",
            "index": 0
          },
          {
            "node": "Separate Video Resources",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Submit Video to Gemini": {
      "main": [
        [
          {
            "node": "Wait for Analysis Completion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Text with AI": {
      "main": [
        [
          {
            "node": "Record Text Data in Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze Video in Gemini": {
      "main": [
        [
          {
            "node": "Summarize Video with AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Media Into File": {
      "main": [
        [
          {
            "node": "Save File to Cloud Storage",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Image with AI": {
      "main": [
        [
          {
            "node": "Record Image Data in Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Video with AI": {
      "main": [
        [
          {
            "node": "Create Video Prompt with AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Await Caption Completion": {
      "main": [
        [
          {
            "node": "Verify Caption Completion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Configure API Parameters": {
      "main": [
        [
          {
            "node": "Create JWT Token",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Finalized Video": {
      "main": [
        [
          {
            "node": "Upload Final Output to Cloud",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Evaluate Condition Route": {
      "main": [
        [
          {
            "node": "Convert Media Into File",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Pause for 20 Seconds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Separate Video Resources": {
      "main": [
        [
          {
            "node": "Filter Videos by Likes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify Captions Presence": {
      "main": [
        [
          {
            "node": "Download Finalized Video",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Await Caption Completion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Apply Filter to Image Ads": {
      "main": [
        [
          {
            "node": "Batch Image Ads Processing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Apply Filter to Video Ads": {
      "main": [
        [
          {
            "node": "Batch Video Ads Processing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Batch Text Ads Processing": {
      "main": [
        [],
        [
          {
            "node": "Summarize Text with AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Batch of Ad Cards": {
      "main": [
        [
          {
            "node": "Filter Ads by Likes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Modify Google Sheet Entry": {
      "main": [
        [
          {
            "node": "Batch Video Ads Processing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Retrieve Video from Drive": {
      "main": [
        [
          {
            "node": "Submit Video to Gemini",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify Caption Completion": {
      "main": [
        [
          {
            "node": "Verify Captions Presence",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Await Rendering Completion": {
      "main": [
        [
          {
            "node": "Check Rendering Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Batch Image Ads Processing": {
      "main": [
        [],
        [
          {
            "node": "Fetch Image From URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Batch Video Ads Processing": {
      "main": [
        [],
        [
          {
            "node": "Download Video Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Record Text Data in Sheets": {
      "main": [
        [
          {
            "node": "Wait Before Processing Text Ads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save File to Cloud Storage": {
      "main": [
        [
          {
            "node": "Transform Video to 9:16 Ratio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Video to Google Drive": {
      "main": [
        [
          {
            "node": "Initiate Gemini Upload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait Before Image Creation": {
      "main": [
        [
          {
            "node": "Generate Image with AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Video Prompt with AI": {
      "main": [
        [
          {
            "node": "Record Video Data in Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Record Image Data in Sheets": {
      "main": [
        [
          {
            "node": "Wait Before Image Creation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Record Video Data in Sheets": {
      "main": [
        [
          {
            "node": "Wait Before Video Processing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload Final Output to Cloud": {
      "main": [
        [
          {
            "node": "Modify Google Sheet Entry",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait Before Video Processing": {
      "main": [
        [
          {
            "node": "Configure API Parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for Analysis Completion": {
      "main": [
        [
          {
            "node": "Analyze Video in Gemini",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transform Video to 9:16 Ratio": {
      "main": [
        [
          {
            "node": "Await Rendering Completion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start Video Generation Process": {
      "main": [
        [
          {
            "node": "Pause for 20 Seconds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait Before Processing Text Ads": {
      "main": [
        [
          {
            "node": "Batch Text Ads Processing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Apply Multi-Condition Filter to Text Ads": {
      "main": [
        [
          {
            "node": "Batch Text Ads Processing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Scrape ads – Pulls Facebook Ad Library data for "ai automation" keywords using Apify Filter & sort – Filters ads by page likes (>1,000) and separates into videos, images, and text ads Analyze creative – For videos: uploads to Gemini for detailed description. For images:…

Source: https://n8n.io/workflows/15144/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

The Problem That it Solves

Google Drive Trigger, OpenAI, Google Drive +5
AI & RAG

This workflow converts emailed timesheets into structured invoice rows in Google Sheets and stores them in the correct Google Drive folder structure.

Gmail Trigger, OpenAI, Google Sheets +2
AI & RAG

Content creators, YouTubers, and social media managers who want to repurpose long form videos into short clips without doing it manually. Works on self hosted n8n instances.

Google Drive Trigger, Google Drive, N8N Nodes Renderio +3
AI & RAG

[Template] Viral Video Factory - Fal.ai + GPT-4. Uses googleDrive, httpRequest, openAi, googleSheets. Event-driven trigger; 39 nodes.

Google Drive, HTTP Request, OpenAI +1
AI & RAG

This workflow automates the entire process of creating short, cinematic, fact-based videos ready for social media. It takes a single concept, generates a script and visuals, creates video clips, adds

Google Drive, HTTP Request, OpenAI +1