AutomationFlowsAI & RAG › Automated Video Analysis: Ai-powered Insight Generation From Google Drive

Automated Video Analysis: Ai-powered Insight Generation From Google Drive

ByYaron Been @yaron-nofluff on n8n.io

Subtitle: From Google Drive Upload → Gemini AI → Video Insights

Cron / scheduled trigger★★★★☆ complexityAI-powered15 nodesGoogle DriveHTTP RequestChain LlmGoogle Gemini Chat
AI & RAG Trigger: Cron / scheduled Nodes: 15 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Chainllm → Google Drive 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
{
  "id": "cU2bV1pvBJ1CGIkT",
  "name": "22. Automated Video Analysis: AI-Powered Insight Generation from Google Drive",
  "tags": [],
  "nodes": [
    {
      "id": "a2f6a6d0-a703-4d51-877f-34eba4f8a3a1",
      "name": "Download Video from Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -48,
        192
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "options": {},
        "operation": "download",
        "authentication": "oAuth2"
      },
      "typeVersion": 1
    },
    {
      "id": "c4ce7aef-dca6-46ba-8034-08deda58f2b1",
      "name": "Check File Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        512,
        192
      ],
      "parameters": {
        "url": "https://generativelanguage.googleapis.com/v1beta/files/your_file_id",
        "options": {},
        "authentication": "predefinedCredentialType"
      },
      "typeVersion": 1
    },
    {
      "id": "c4950c17-ce9f-4d1e-a5bf-bc65507cf649",
      "name": "Analyze Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        752,
        192
      ],
      "parameters": {
        "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro:generateContent",
        "options": {},
        "requestMethod": "POST",
        "jsonParameters": true,
        "bodyParametersJson": "{\n  \"contents\": [\n    {\n      \"role\": \"user\",\n      \"parts\": [\n        {\n          \"fileData\": {\n            \"fileUri\": \"files/your_file_id\"\n          }\n        },\n        {\n          \"text\": \"Please analyze the video and provide a summary.\"\n        }\n      ]\n    }\n  ]\n}"
      },
      "typeVersion": 1
    },
    {
      "id": "966c7176-7f6f-4e73-bebd-2f4ddc80ade7",
      "name": "Format Analysis Result",
      "type": "n8n-nodes-base.set",
      "position": [
        1024,
        192
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "7d5b2048-0fe3-4b80-a0d7-dca01ee47707",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -304,
        192
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c72621d8-ce14-49f6-b869-6cee976b3d2c",
      "name": "Basic LLM Chain",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        176,
        192
      ],
      "parameters": {
        "text": "Hi, could you please prepare the video below:\n",
        "promptType": "define"
      },
      "typeVersion": 1.5
    },
    {
      "id": "cfa8b8de-9093-4525-82e1-fdfe3c0c6dca",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        160,
        480
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "307b89d6-6841-4d7b-9a89-708008d5a421",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -384,
        -240
      ],
      "parameters": {
        "width": 260,
        "height": 592,
        "content": "## \ud83d\udfe2 Section 1: Trigger \u2013 Start the Workflow\n\n\ud83d\udd17 **Node:** `Schedule Trigger`\n\n* Runs the workflow automatically at a defined interval (e.g., daily).\n* Eliminates the need to manually start each run.\n\n\ud83d\udca1 **Why useful?**\nKeeps analysis consistent without human intervention.\n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "45dfc6d2-aca5-432d-ba70-216dd3dae6b6",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -256
      ],
      "parameters": {
        "color": 6,
        "width": 212,
        "height": 608,
        "content": "\n## \ud83d\udfe6 Section 2: Download Video\n\n\ud83d\udd17 **Node:** `Download Video from Drive`\n\n* Connects to Google Drive.\n* Fetches the video file you want to analyze.\n\n\ud83d\udca1 **Why useful?**\nPulls the raw video directly from storage \u2192 no manual download needed.\n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "e5470b1a-c9c7-4a7b-9353-f09fb8e57db8",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        -272
      ],
      "parameters": {
        "color": 5,
        "width": 276,
        "height": 624,
        "content": "## \ud83d\udfe3 Section 3: Prepare for AI Analysis\n\n\ud83d\udd17 **Nodes:**\n\n* `Basic LLM Chain` \u2192 Prepares a structured prompt for Gemini.\n* `Google Gemini Chat Model` \u2192 Defines Gemini as the **AI engine** for analysis.\n\n\ud83d\udca1 **Why useful?**\nEnsures that Gemini gets both the **video file + clear instructions** on what to analyze (e.g., \"Please provide a summary\").\n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "7f361dfb-4c6d-46e4-8892-3c342cb412bb",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -288
      ],
      "parameters": {
        "color": 2,
        "width": 212,
        "height": 640,
        "content": "## \ud83d\udfe1 Section 4: Validate File Status\n\n\ud83d\udd17 **Node:** `Check File Status`\n\n* Confirms that the video file is uploaded and ready to be processed by Gemini\u2019s API.\n\n\ud83d\udca1 **Why useful?**\nPrevents wasted runs by making sure the file exists and is accessible before analysis.\n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "cba8825c-b6f9-4a6c-a3d5-a1b36197de29",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        688,
        -464
      ],
      "parameters": {
        "color": 3,
        "width": 228,
        "height": 816,
        "content": "## \ud83d\udd35 Section 5: AI Video Analysis\n\n\ud83d\udd17 **Node:** `Analyze Video`\n\n* Sends the video file to Gemini (via API request).\n* Asks Gemini to **analyze and summarize** the video.\n\n\ud83d\udca1 **Why useful?**\nExtracts insights from video content automatically \u2014 no need to watch manually.\n\n\ud83d\udce9 **Example Output:**\n\n> \"The video shows a product demo highlighting three features: speed, security, and collaboration. The speaker explains how the software reduces manual tasks. Ending includes a call to action for early sign-up.\"\n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "368b2f7e-eb48-4c91-ab05-3537446448f4",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        -272
      ],
      "parameters": {
        "color": 7,
        "width": 228,
        "height": 624,
        "content": "## \ud83d\udfe0 Section 6: Format Results\n\n\ud83d\udd17 **Node:** `Format Analysis Result`\n\n* Structures the Gemini response into clean output.\n* Makes it easy to forward results into email, Slack, or reporting tools.\n\n\ud83d\udca1 **Why useful?**\nInstead of messy raw JSON, you get **clear summaries** ready to share.\n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "4250c138-b711-4cea-b71c-95e1b01c0452",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2096,
        -368
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "17b1b31d-b061-490e-96a6-188fadb15eaf",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2096,
        -32
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 2958,
        "content": "# Automated Video Analysis: AI-Powered Insight Generation from Google Drive\n\n**Subtitle:** From Google Drive Upload \u2192 Gemini AI \u2192 Video Insights\n\n---\n\n### \ud83c\udf0d Overview\n\nThis workflow automates the **analysis of videos stored in Google Drive**.\nIt downloads a video, validates it, sends it to **Google Gemini AI** for analysis, and returns a **structured summary** of the content.\n\nThink of it as your **AI-powered video analyst** that works on schedule.\n\n---\n\n## \ud83d\udfe2 Section 1: Trigger \u2013 Start the Workflow\n\n\ud83d\udd17 **Node:** `Schedule Trigger`\n\n* Runs the workflow automatically at a defined interval (e.g., daily).\n* Eliminates the need to manually start each run.\n\n\ud83d\udca1 **Why useful?**\nKeeps analysis consistent without human intervention.\n\n---\n\n## \ud83d\udfe6 Section 2: Download Video\n\n\ud83d\udd17 **Node:** `Download Video from Drive`\n\n* Connects to Google Drive.\n* Fetches the video file you want to analyze.\n\n\ud83d\udca1 **Why useful?**\nPulls the raw video directly from storage \u2192 no manual download needed.\n\n---\n\n## \ud83d\udfe3 Section 3: Prepare for AI Analysis\n\n\ud83d\udd17 **Nodes:**\n\n* `Basic LLM Chain` \u2192 Prepares a structured prompt for Gemini.\n* `Google Gemini Chat Model` \u2192 Defines Gemini as the **AI engine** for analysis.\n\n\ud83d\udca1 **Why useful?**\nEnsures that Gemini gets both the **video file + clear instructions** on what to analyze (e.g., \"Please provide a summary\").\n\n---\n\n## \ud83d\udfe1 Section 4: Validate File Status\n\n\ud83d\udd17 **Node:** `Check File Status`\n\n* Confirms that the video file is uploaded and ready to be processed by Gemini\u2019s API.\n\n\ud83d\udca1 **Why useful?**\nPrevents wasted runs by making sure the file exists and is accessible before analysis.\n\n---\n\n## \ud83d\udd35 Section 5: AI Video Analysis\n\n\ud83d\udd17 **Node:** `Analyze Video`\n\n* Sends the video file to Gemini (via API request).\n* Asks Gemini to **analyze and summarize** the video.\n\n\ud83d\udca1 **Why useful?**\nExtracts insights from video content automatically \u2014 no need to watch manually.\n\n\ud83d\udce9 **Example Output:**\n\n> \"The video shows a product demo highlighting three features: speed, security, and collaboration. The speaker explains how the software reduces manual tasks. Ending includes a call to action for early sign-up.\"\n\n---\n\n## \ud83d\udfe0 Section 6: Format Results\n\n\ud83d\udd17 **Node:** `Format Analysis Result`\n\n* Structures the Gemini response into clean output.\n* Makes it easy to forward results into email, Slack, or reporting tools.\n\n\ud83d\udca1 **Why useful?**\nInstead of messy raw JSON, you get **clear summaries** ready to share.\n\n---\n\n## \ud83d\udcca Workflow Summary\n\n| Section           | Node(s)                            | Purpose                            | Benefit                      |\n| ----------------- | ---------------------------------- | ---------------------------------- | ---------------------------- |\n| \ud83d\udfe2 Trigger        | Schedule Trigger                   | Run workflow on schedule           | Fully automated start        |\n| \ud83d\udfe6 Download Video | Google Drive                       | Fetch video from Drive             | Removes manual steps         |\n| \ud83d\udfe3 Prepare Prompt | Basic LLM Chain, Gemini Chat Model | Structure prompt for AI            | Accurate AI analysis         |\n| \ud83d\udfe1 Validate File  | Check File Status                  | Ensure file is accessible          | Avoids failed runs           |\n| \ud83d\udd35 AI Analysis    | Analyze Video                      | Gemini analyzes + summarizes video | Saves hours of manual review |\n| \ud83d\udfe0 Format Output  | Format Analysis Result             | Clean up AI output                 | Ready-to-use summaries       |\n| \ud83d\udd34 Assistance     | Sticky Notes                       | Training + support info            | Beginner-friendly handoff    |\n\n---\n\n## \ud83d\ude80 Benefits\n\n* **Hands-free analysis** \u2192 Videos summarized automatically.\n* **Saves time** \u2192 No need to watch entire footage.\n* **Reliable** \u2192 Validates file before sending to AI.\n* **Flexible** \u2192 Schedule runs (daily, weekly, etc.).\n* **Scalable** \u2192 Works for 1 video or 1,000.\n* **Beginner-friendly** \u2192 Includes sticky notes and author support.\n\n---"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "de0a9b74-a321-410d-984c-2360832599af",
  "connections": {
    "Analyze Video": {
      "main": [
        [
          {
            "node": "Format Analysis Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Basic LLM Chain": {
      "main": [
        [
          {
            "node": "Check File Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Download Video from Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check File Status": {
      "main": [
        [
          {
            "node": "Analyze Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Download Video from Drive": {
      "main": [
        [
          {
            "node": "Basic LLM Chain",
            "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

Subtitle: From Google Drive Upload → Gemini AI → Video Insights

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

Categories Content Creation AI Automation Publishing Social Media

Google Docs, HTTP Request, Slack +7
AI & RAG

This workflow is designed for Japanese-speaking professionals, and learners who want to efficiently stay up to date with practical productivity, lifehack, and efficiency-related insights from Japanese

RSS Feed Read, Chain Llm, Google Gemini Chat +7
AI & RAG

Automate video creation: AI generates ideas, Vertex AI renders videos, and auto-uploads to Google Drive with complete tracking.

Google Gemini Chat, Google Sheets, Chain Llm +2
AI & RAG

ANIS_HUB 1. Uses gmail, googleDrive, googleSheets, httpRequest. Webhook trigger; 89 nodes.

Gmail, Google Drive, Google Sheets +3
AI & RAG

LinkedIn_Job_Hunt_and_Cover_Letter. Uses outputParserStructured, outputParserAutofixing, googleDrive, agent. Scheduled trigger; 85 nodes.

Output Parser Structured, Output Parser Autofixing, Google Drive +6