AutomationFlowsAI & RAG › Copy Viral Reels with Gemini AI

Copy Viral Reels with Gemini AI

ByMark Shcherbakov @lowcodingdev on n8n.io

I prepared a detailed guide that shows the whole process of building an AI tool to analyze Instagram Reels using n8n.

Cron / scheduled trigger★★★★☆ complexity29 nodesHTTP RequestAirtableExecute Workflow Trigger
AI & RAG Trigger: Cron / scheduled Nodes: 29 Complexity: ★★★★☆ Added:

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

This workflow follows the Airtable → Execute Workflow Trigger 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": "7594b4b8-506e-4f87-b921-ad376c9b85f2",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        1260,
        0
      ],
      "parameters": {
        "amount": 60
      },
      "typeVersion": 1.1
    },
    {
      "id": "0a9e1ed8-2fbe-421a-89a1-663709cbcaaf",
      "name": "Set Prompt",
      "type": "n8n-nodes-base.set",
      "position": [
        1420,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a21fe2d1-533b-4f09-94aa-9312c3dd05b8",
              "name": "prompt",
              "type": "string",
              "value": "=Analyze reels: 1. How it starts  2. How it ends 3. What is going on video.  For us important to understand main params of the video to be able reproduct it. Params: 1. Background 2. Pose 3. Text 4. Clothes 5. Context 6. People/participants/roles  Example of result: Example 1: - Girl in the frame in evening dress - Party - Text: \u201cLet's already admit that the most important ponte of a man is a gorgeous wife by his side\u201d - Formatting: White text in the center on the background of a dynamic frame.  Example 2: - Behind-the-scenes moments from the shooting of the video - A girl with a beautiful figure, large breasts in a swimsuit and bathing skirt - Text below \u201cWhen at 35 you explain to your man that you need a hand in the frame for the strongest part\u201d."
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "78f145dc-cfd4-41b6-86d0-f1036adb6ef5",
      "name": "Gemini - Generate Upload URL",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        580,
        0
      ],
      "parameters": {
        "url": "https://generativelanguage.googleapis.com/upload/v1beta/files",
        "method": "POST",
        "options": {
          "response": {
            "response": {
              "fullResponse": true
            }
          }
        },
        "jsonBody": "={\n\"file\": {\n\"display_name\": \"{{ $json.Video[0].filename }}\"\n}\n}",
        "sendBody": true,
        "sendQuery": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "key",
              "value": "<your_token_here>"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Goog-Upload-Protocol",
              "value": "resumable"
            },
            {
              "name": "X-Goog-Upload-Command",
              "value": "start"
            },
            {
              "name": "X-Goog-Upload-Header-Content-Length",
              "value": "={{ $json.Video[0].size }}"
            },
            {
              "name": "X-Goog-Upload-Header-Content-Type",
              "value": "={{ $json.Video[0].type }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "d93b28b4-2dec-45e8-87a3-81e6b5392885",
      "name": "Gemini - Upload File",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        920,
        0
      ],
      "parameters": {
        "url": "={{ $('Gemini - Generate Upload URL').item.json.headers['x-goog-upload-url'] }}",
        "method": "POST",
        "options": {
          "response": {}
        },
        "sendBody": true,
        "sendQuery": true,
        "contentType": "binaryData",
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "key",
              "value": "<your_token_here>"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Length",
              "value": "={{ $('Get Video').item.json.Video[0].size }}"
            },
            {
              "name": "X-Goog-Upload-Offset",
              "value": "0"
            },
            {
              "name": "X-Goog-Upload-Command",
              "value": "upload, finalize"
            }
          ]
        },
        "inputDataFieldName": "data"
      },
      "typeVersion": 4.2
    },
    {
      "id": "a5092a20-d120-47a3-a139-4b7698d4ccba",
      "name": "Gemini - Ask Questions",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1620,
        0
      ],
      "parameters": {
        "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro:generateContent",
        "method": "POST",
        "options": {
          "response": {}
        },
        "jsonBody": "={\n   \"contents\": [\n      {\n         \"parts\": [\n            {\n               \"text\": \"{{ $json.prompt }}\"\n            },\n            {\n               \"file_data\": {\n                  \"mime_type\": \"{{ $('Save Values').item.json.mimeType }}\",\n                  \"file_uri\": \"{{ $('Save Values').item.json.gemini_file_url }}\"\n               }\n            }\n         ]\n      }\n   ]\n}\n",
        "sendBody": true,
        "sendQuery": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "key",
              "value": "<your_token_here>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "300d5f57-27ac-4cc5-95ba-df5086a9a57b",
      "name": "Save Values",
      "type": "n8n-nodes-base.set",
      "position": [
        1100,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "4fb7b732-17f9-41a2-986d-5d62b1331242",
              "name": "gemini_file_url",
              "type": "string",
              "value": "={{ $json.file.uri }}"
            },
            {
              "id": "5f3018b4-571f-433c-a07b-2fb86f63b9b6",
              "name": "mimeType",
              "type": "string",
              "value": "={{ $json.file.mimeType }}"
            },
            {
              "id": "c5532f11-ec31-49f8-aa26-7f42b7d24fa4",
              "name": "airtable_rec_id",
              "type": "string",
              "value": "={{ $('Get Video').item.json.id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e78d9080-0115-47db-b3c0-8ef8fb5944b1",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        -800
      ],
      "parameters": {
        "width": 2180,
        "height": 380,
        "content": "## Scenario 1"
      },
      "typeVersion": 1
    },
    {
      "id": "e2dd16b8-e565-4010-a274-a6b4aabcd35a",
      "name": "Apify - Fetch Reels",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        760,
        -700
      ],
      "parameters": {
        "url": "https://api.apify.com/v2/acts/apify~instagram-scraper/run-sync-get-dataset-items",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n    \"addParentData\": false,\n    \"directUrls\": [\n        \"https://www.instagram.com/{{ $json['Instagram Username'] }}/\"\n    ],\n    \"enhanceUserSearchWithFacebookPage\": false,\n    \"isUserReelFeedURL\": false,\n    \"isUserTaggedFeedURL\": false,\n    \"onlyPostsNewerThan\": \"{{ new Date().toISOString().slice(0, 10).replace(/-\\d+$/, '-01') }}\",\n    \"resultsLimit\": 20,\n    \"resultsType\": \"stories\"\n}",
        "sendBody": true,
        "sendQuery": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "token",
              "value": "<your_token_here>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "b29c8e1f-0b36-4e8b-bf07-dd9c04f24a66",
      "name": "Sort",
      "type": "n8n-nodes-base.sort",
      "position": [
        1180,
        -700
      ],
      "parameters": {
        "options": {},
        "sortFieldsUi": {
          "sortField": [
            {
              "order": "descending",
              "fieldName": "views"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b5aa98b2-22f1-474d-92b0-892c8b227322",
      "name": "Limit",
      "type": "n8n-nodes-base.limit",
      "position": [
        1380,
        -700
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "bc40f3f8-58cd-4790-975f-2f6e9761ef54",
      "name": "Save Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        960,
        -700
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "={\n  \"url\": {{ JSON.stringify($json.videoUrl) }}\n,\n  \"views\": {{ $json.videoViewCount }},\n\"caption\": {{ JSON.stringify($json.caption) }}\n,\n\"creator\": \"{{ $('Loop Over Items').item.json.Name }}\"\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "0623571f-cef0-4a1d-9bed-a397ed264ac4",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        500,
        -700
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "7d675702-a9c4-4440-b44d-30ee8e36d206",
      "name": "Execute Workflow1",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1860,
        -700
      ],
      "parameters": {
        "options": {},
        "workflowId": {
          "__rl": true,
          "mode": "list",
          "value": "6gkO35O8e27oFfyq",
          "cachedResultName": "Gemini - Video Analysis 2"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "30692806-c116-46de-8407-66ac94470cc4",
      "name": "Download File",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        760,
        0
      ],
      "parameters": {
        "url": "={{ $('Get Video').item.json.Video[0].url }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0d130bb6-c445-4b7e-8628-442b26d4654a",
      "name": "Create Video",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1640,
        -700
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appndgSF4faN4jPXi",
          "cachedResultUrl": "https://airtable.com/appndgSF4faN4jPXi",
          "cachedResultName": "Philipp's Base"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbldgihe8Tx1DsAWq",
          "cachedResultUrl": "https://airtable.com/appndgSF4faN4jPXi/tbldgihe8Tx1DsAWq",
          "cachedResultName": "Videos"
        },
        "columns": {
          "value": {
            "Video": "={{ [ {\"url\":$json.url} ] }}",
            "Views": "={{ $json.views }}",
            "Caption": "={{ $json.caption }}",
            "Creator": "={{ [$json.creator] }}"
          },
          "schema": [
            {
              "id": "Caption",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Caption",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video",
              "type": "array",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Video",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Guideline",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Guideline",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Creation Date",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "Creation Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Creator",
              "type": "array",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Creator",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Views",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Views",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Name"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {
          "typecast": true
        },
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "c59bbd59-1f64-4606-a074-1303f423408c",
      "name": "Get Video",
      "type": "n8n-nodes-base.airtable",
      "position": [
        380,
        0
      ],
      "parameters": {
        "id": "={{ $json.id }}",
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appndgSF4faN4jPXi",
          "cachedResultUrl": "https://airtable.com/appndgSF4faN4jPXi",
          "cachedResultName": "Philipp's Base"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbldgihe8Tx1DsAWq",
          "cachedResultUrl": "https://airtable.com/appndgSF4faN4jPXi/tbldgihe8Tx1DsAWq",
          "cachedResultName": "Videos"
        },
        "options": {}
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "f588e905-464b-4a24-b8cd-69b6c176b1c8",
      "name": "Set Guideline",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1800,
        0
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appndgSF4faN4jPXi",
          "cachedResultUrl": "https://airtable.com/appndgSF4faN4jPXi",
          "cachedResultName": "Philipp's Base"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbldgihe8Tx1DsAWq",
          "cachedResultUrl": "https://airtable.com/appndgSF4faN4jPXi/tbldgihe8Tx1DsAWq",
          "cachedResultName": "Videos"
        },
        "columns": {
          "value": {
            "id": "={{ $('Get Video').first().json.id }}",
            "Guideline": "={{ $json.candidates[0].content.parts[0].text }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Video",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Guideline",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Guideline",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "54d5c8ab-1e69-4c73-a869-8aaccc306fea",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        -120
      ],
      "parameters": {
        "width": 2180,
        "height": 380,
        "content": "## Scenario 2"
      },
      "typeVersion": 1
    },
    {
      "id": "7de49be9-cdcd-41f1-a996-79b31bf795a7",
      "name": "Search Creators",
      "type": "n8n-nodes-base.airtable",
      "position": [
        280,
        -700
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appndgSF4faN4jPXi",
          "cachedResultUrl": "https://airtable.com/appndgSF4faN4jPXi",
          "cachedResultName": "Philipp's Base"
        },
        "limit": null,
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl8uSud7C0kZe3RO",
          "cachedResultUrl": "https://airtable.com/appndgSF4faN4jPXi/tbl8uSud7C0kZe3RO",
          "cachedResultName": "Creators"
        },
        "options": {},
        "operation": "search",
        "returnAll": false
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "bdda9fe7-e1a5-4e9e-b562-577b97424152",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        60,
        -700
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "months"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ad77267d-3bba-463a-b9d2-f5aeb444e746",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        -800
      ],
      "parameters": {
        "color": 6,
        "width": 220,
        "height": 80,
        "content": "### Replace Apify token"
      },
      "typeVersion": 1
    },
    {
      "id": "9f444c18-d8b9-4544-9f7e-7ca2a97b4efe",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        520,
        -120
      ],
      "parameters": {
        "color": 6,
        "width": 200,
        "height": 80,
        "content": "### Replace Google token"
      },
      "typeVersion": 1
    },
    {
      "id": "48b0acfb-cb7e-4ea5-b0fa-779a2adaf82a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        -120
      ],
      "parameters": {
        "color": 6,
        "width": 200,
        "height": 80,
        "content": "### Replace Google token"
      },
      "typeVersion": 1
    },
    {
      "id": "ce2c2e36-faf2-4b32-a67d-d4229d8de4cf",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1580,
        -120
      ],
      "parameters": {
        "color": 6,
        "width": 200,
        "height": 80,
        "content": "### Replace Google token"
      },
      "typeVersion": 1
    },
    {
      "id": "0eb22e2b-19ab-4e09-9917-cf6dcff6cc1e",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1360,
        -120
      ],
      "parameters": {
        "color": 6,
        "width": 200,
        "height": 80,
        "content": "### Set own prompt for analysis"
      },
      "typeVersion": 1
    },
    {
      "id": "2ab98afe-0846-4ece-a559-1cbcbfbb7af9",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -780,
        -800
      ],
      "parameters": {
        "color": 7,
        "width": 636.2128494576581,
        "height": 497.1532689930921,
        "content": "![5min Logo](https://res.cloudinary.com/de9jgixzm/image/upload/v1739773200/Skool%20Assets/ejm3hqnvhgwpnu2fv92s.png)\n## Copy Viral Reels with Gemini AI\n**Made by [Mark Shcherbakov](https://www.linkedin.com/in/marklowcoding/) from community [5minAI](https://www.skool.com/5minai)**\n\nAnalyzing video performance on Instagram can be tedious and time-consuming, requiring multiple steps and data extraction. This workflow automates the process of fetching, analyzing, and recording insights from Instagram Reels, making it simpler for users to track engagement metrics without manual intervention.\n\nThis workflow integrates several services to analyze Instagram Reels, allowing users to:\n- Automatically fetch recent Reels from specified creators.\n- Analyze the most-watched videos for insights.\n- Store and manage data in Airtable for easy access and reporting.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0b83903a-c464-4049-8ef4-30976d8d24b5",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -780,
        -280
      ],
      "parameters": {
        "color": 7,
        "width": 280,
        "height": 346,
        "content": "### Set up steps\n\n1. **Create accounts**:\n   - Set up Airtable, Edify, n8n, and Gemini accounts.\n\n2. **Prepare triggers and modules**:\n   - Replace credentials in each node accordingly.\n\n3. **Configure data flow**:\n   - Ensure modules are set to fetch and analyze the correct data fields as outlined in the guide."
      },
      "typeVersion": 1
    },
    {
      "id": "9973661d-d662-4b12-90f2-bf007532a58a",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        -280
      ],
      "parameters": {
        "color": 7,
        "width": 330.5152611046425,
        "height": 239.5888196628349,
        "content": "### ... or watch set up video [8 min]\n[![Youtube Thumbnail](https://res.cloudinary.com/de9jgixzm/image/upload/v1740390927/Youtube%20Thumbs/Video_21_-_Philipp_Instagram_Blur.png)](https://youtu.be/SQPPM0KLsrM)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "532e9b78-95de-40ea-ba3e-c7c028f4afa7",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        160,
        0
      ],
      "parameters": {
        "inputSource": "passthrough"
      },
      "typeVersion": 1.1
    }
  ],
  "connections": {
    "Sort": {
      "main": [
        [
          {
            "node": "Limit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "Set Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit": {
      "main": [
        [
          {
            "node": "Create Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Video": {
      "main": [
        [
          {
            "node": "Gemini - Generate Upload URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Prompt": {
      "main": [
        [
          {
            "node": "Gemini - Ask Questions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Fields": {
      "main": [
        [
          {
            "node": "Sort",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Values": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Video": {
      "main": [
        [
          {
            "node": "Execute Workflow1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download File": {
      "main": [
        [
          {
            "node": "Gemini - Upload File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Apify - Fetch Reels",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Creators": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Search Creators",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execute Workflow1": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Apify - Fetch Reels": {
      "main": [
        [
          {
            "node": "Save Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gemini - Upload File": {
      "main": [
        [
          {
            "node": "Save Values",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gemini - Ask Questions": {
      "main": [
        [
          {
            "node": "Set Guideline",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gemini - Generate Upload URL": {
      "main": [
        [
          {
            "node": "Download File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Get Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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

About this workflow

I prepared a detailed guide that shows the whole process of building an AI tool to analyze Instagram Reels using n8n.

Source: https://n8n.io/workflows/2993/ — 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

AI_Content_Agent_35CT_Fallback. Uses airtable, httpRequest. Scheduled trigger; 11 nodes.

Airtable, HTTP Request
AI & RAG

The AI-Powered Shopify SEO Content Automation is an enterprise-grade workflow that transforms product content creation for e-commerce stores. This sophisticated multi-agent system integrates GPT-4o, C

Perplexity Tool, Memory Buffer Window, Agent +15
AI & RAG

This n8n automation workflow automates the creation, scripting, production, and posting of YouTube videos. It leverages AI (OpenAI), image generation (PIAPI), video rendering (Shotstack), and platform

Agent, OpenAI Chat, Airtable Tool +7
AI & RAG

Typeform IA - YT. Uses typeformTrigger, agent, lmChatOpenAi, toolWorkflow. Event-driven trigger; 75 nodes.

Typeform Trigger, Agent, OpenAI Chat +7
AI & RAG

Version : 1.0

Information Extractor, Model Selector, Lm Chat Mistral Cloud +5