{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "5f002a85-f3d9-40b6-9130-43895c5286f8",
      "name": "\ud83c\udfa5 Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        500
      ],
      "parameters": {
        "color": 7,
        "width": 460,
        "height": 720,
        "content": "## \ud83c\udfa5 AI Video Summarization with VLM Run\n\n**Overview:**\nAutomatically processes videos uploaded to Google Drive and generates AI-powered summaries with key topic extraction.\n\n**Workflow:**\n1. \ud83d\udcc1 Monitor Google Drive folder\n2. \u2b07\ufe0f Download new video files\n3. \ud83e\udd16 Processes video asynchronously using VLM Run node\n4. \ud83d\udd17 Receive summary via webhook\n5. \ud83d\udcac Post results to Slack\n\n\n**Perfect for:**\n- Meeting recordings\n- Training videos\n- Webinar summaries\n- Content analysis\n- Educational materials\n\n\n**Requirements:**\n- VLM Run API access\n- Google Drive OAuth2\n- Slack webhook\n- Webhook endpoint"
      },
      "typeVersion": 1
    },
    {
      "id": "1f5a362e-19be-4ee8-9ede-974ecea4617e",
      "name": "\ud83d\udcc1 Input Documentation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        260,
        500
      ],
      "parameters": {
        "color": 7,
        "width": 440,
        "height": 720,
        "content": "## \ud83d\udcc1 Video Input Processing\n\n**Monitors Google Drive folder and downloads videos for AI analysis.**\n\n**Process:**\n1. Watches for new video files\n2. Auto-triggers on upload\n3. Downloads for processing\n\n\n**Supported Formats:**\n- MP4, AVI, MOV\n- WebM, MKV\n- Various resolutions\n- Mobile recordings"
      },
      "typeVersion": 1
    },
    {
      "id": "2234e975-124c-46d6-a8c5-5925a82af8db",
      "name": "\ud83e\udd16 AI Processing Documentation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        500
      ],
      "parameters": {
        "color": 2,
        "width": 360,
        "height": 720,
        "content": "## \ud83e\udd16 AI Video Analysis\n\n**VLM Run processes videos to extract summaries and topics.**\n\n**Features:**\n- Content summarization\n- Key topic extraction\n- Asynchronous processing\n- Large file support\n\n\n**Output:**\n- Concise summary\n- Main topics covered\n- Structured data\n\n\n**Benefits:**\n- Saves review time\n- Identifies key points\n- Searchable content\n- Team collaboration"
      },
      "typeVersion": 1
    },
    {
      "id": "d83c5770-7810-4062-83db-4f20c822c569",
      "name": "\ud83d\udd17 Async Processing Documentation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1100,
        500
      ],
      "parameters": {
        "color": 5,
        "width": 320,
        "height": 720,
        "content": "## \ud83d\udd17 Async Processing Flow\n\n**How asynchronous processing works:**\n\n**Step 1:** Video sent to VLM Run with a callback URL\n**Step 2:** Processing starts in background\n**Step 3:** Webhook receives completion\n**Step 4:** Results posted to Slack\n\n\n**Why Async?**\n- Handles large video files\n- Prevents timeouts\n- Better resource usage\n- Reliable processing"
      },
      "typeVersion": 1
    },
    {
      "id": "7e12a956-c9fc-4e73-be5b-320e08550b17",
      "name": "\ud83d\udcac Output Documentation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1440,
        500
      ],
      "parameters": {
        "color": 7,
        "width": 280,
        "height": 720,
        "content": "## \ud83d\udcac Team Notifications\n\n**Delivers AI summaries to Slack for team collaboration.**\n\n**Notification includes:**\n- Video summary\n- Key topics\n\n**Benefits:**\n- Instant team updates\n- Centralized summaries"
      },
      "typeVersion": 1
    },
    {
      "id": "0e5eee4f-d4ac-4af6-bba7-b2dabb9bc910",
      "name": "VLM Run Video Summarizer",
      "type": "@vlm-run/n8n-nodes-vlmrun.vlmRun",
      "notes": "Processes video files using VLM AI to generate intelligent summaries and extract key topics. Runs asynchronously for large files.",
      "position": [
        840,
        1040
      ],
      "parameters": {
        "file": "=data",
        "domain": "video.summary",
        "operation": "video",
        "callbackUrl": "https://playground.vlm.run/webhook-test/summarize-video",
        "processAsynchronously": true
      },
      "credentials": {
        "vlmRunApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b96c2eb1-ad10-494e-93ec-1d667c26bfd0",
      "name": "Monitor Video Uploads",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "notes": "Watches designated Google Drive folder for new video uploads and triggers processing automatically.",
      "position": [
        320,
        1040
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "1reWORwI1tMa-eGB75NCXq9eRw4CiQIhX",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1reWORwI1tMa-eGB75NCXq9eRw4CiQIhX",
          "cachedResultName": "n8n"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d768bfc1-496d-4acd-aaee-0ce7c4c6d284",
      "name": "Download Video File",
      "type": "n8n-nodes-base.googleDrive",
      "notes": "Downloads the uploaded video file from Google Drive and prepares it for AI analysis.",
      "position": [
        540,
        1040
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {
          "binaryPropertyName": "data"
        },
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "43c338b4-1455-4106-8c92-53d55e6adcdf",
      "name": "Receive VLM Run Callback",
      "type": "n8n-nodes-base.webhook",
      "notes": "Receives the completed video summary from VLM AI when asynchronous processing is finished.",
      "position": [
        1200,
        1040
      ],
      "parameters": {
        "path": "summarize-video",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "6f223750-f307-41f7-9509-254b8e6f310f",
      "name": "Send Summary to Team",
      "type": "n8n-nodes-base.slack",
      "notes": "Posts the AI-generated video summary and key topics to Slack channel for team review.",
      "position": [
        1520,
        1040
      ],
      "parameters": {
        "text": "=\ud83c\udfa5 *New Video Summary Ready!*\n\n\ud83d\udcc4 **Summary:**\n{{ $json.body.response.content }}\n\n\ud83d\udd0d **Key Topics:**\n{{ $json.body.response.topics }}\n\n\u2705 Processing complete!",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C08S3SR2LUW",
          "cachedResultName": "workflow-testing"
        },
        "otherOptions": {
          "mrkdwn": true,
          "includeLinkToWorkflow": false
        }
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    }
  ],
  "connections": {
    "Download Video File": {
      "main": [
        [
          {
            "node": "VLM Run Video Summarizer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Monitor Video Uploads": {
      "main": [
        [
          {
            "node": "Download Video File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Receive VLM Run Callback": {
      "main": [
        [
          {
            "node": "Send Summary to Team",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}