{
  "name": "Automate image portfolio organization with GPT-4o Vision, Google Drive and Notion",
  "nodes": [
    {
      "id": "cfa62816-7d0c-4706-a775-c91a52d16721",
      "name": "Main Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        336
      ],
      "parameters": {
        "width": 550,
        "height": 676,
        "content": "# Smart Portfolio Archiver with AI Vision\n\nAutomate your photography workflow by organizing images using AI vision capabilities. This workflow monitors a Google Drive folder, analyzes new images with "
      }
    },
    {
      "id": "5483d304-3e13-4195-9037-6663b47e09b1",
      "name": "Group: Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        336
      ],
      "parameters": {
        "width": 656,
        "height": 680,
        "content": "## 1. Setup & Trigger\nConfigure your global IDs (Folders, Database, Channel) and start monitoring for new files."
      }
    },
    {
      "id": "b5a94ff3-dd88-4f4c-8b7f-681772edbb71",
      "name": "Group: Analysis",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1168,
        336
      ],
      "parameters": {
        "width": 1116,
        "height": 680,
        "content": "## 2. AI Analysis & Safety\nDownloads the image, analyzes it with GPT-4o, and performs an NSFW safety check before proceeding."
      }
    },
    {
      "id": "c7fbebd3-037a-4fac-8a89-01ad4b198ac1",
      "name": "Group: Routing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2320,
        336
      ],
      "parameters": {
        "width": 900,
        "height": 684,
        "content": "## 3. Categorization & Routing\nRoutes the workflow based on image category, generates context-aware tags, and moves files to their respective folders."
      }
    },
    {
      "id": "25f16b83-e6d3-4370-8846-ebc20747107e",
      "name": "Group: Archive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3264,
        336
      ],
      "parameters": {
        "width": 1460,
        "height": 680,
        "content": "## 4. Archiving & Notification\nConsolidates metadata, creates a Notion page, updates the Google Drive description, and notifies Slack of the result."
      }
    },
    {
      "id": "ea171606-06e2-4f66-a3bd-e98d265e4049",
      "name": "Watch for New Images",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        544,
        608
      ]
    },
    {
      "id": "40955cd2-c61e-4939-a504-f7761507133a",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        848,
        608
      ]
    },
    {
      "id": "5aa8d7bb-198c-4afb-a80d-693afc8ec181",
      "name": "Download Image File",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1248,
        608
      ]
    },
    {
      "id": "f9da398d-bc08-4c70-b894-b7db02aef4f2",
      "name": "AI Vision Analysis",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1472,
        608
      ]
    },
    {
      "id": "440d4ea1-603c-43bf-9465-3f80642e47c6",
      "name": "Parse AI Response",
      "type": "n8n-nodes-base.code",
      "position": [
        1680,
        608
      ]
    },
    {
      "id": "7af4a7f1-54ac-4d08-a467-4071b93e0a42",
      "name": "Safety Check (NSFW Filter)",
      "type": "n8n-nodes-base.if",
      "position": [
        1904,
        608
      ]
    },
    {
      "id": "2acb0242-f229-4fd9-9d3e-02d60714d7d6",
      "name": "Category Router",
      "type": "n8n-nodes-base.switch",
      "position": [
        2384,
        576
      ]
    },
    {
      "id": "84f6301f-0fb0-421f-8cea-89305a9465d5",
      "name": "Generate Portrait Tags",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2624,
        496
      ]
    },
    {
      "id": "e8d87cf9-789f-488c-8015-6b26587f5915",
      "name": "Move to Portraits Folder",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2992,
        496
      ]
    },
    {
      "id": "d9205296-a6fd-46b1-ba73-b313c24583c0",
      "name": "Generate Landscape Tags",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2624,
        752
      ]
    },
    {
      "id": "5a5529cb-3618-451c-9f0a-048470985111",
      "name": "Move to Landscapes Folder",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2992,
        752
      ]
    },
    {
      "id": "2aff7f03-d3e3-4345-bd63-8cf94845d4aa",
      "name": "Merge Routes",
      "type": "n8n-nodes-base.merge",
      "position": [
        3328,
        608
      ]
    },
    {
      "id": "90af729c-bb95-42aa-b8ed-99ca23440426",
      "name": "Prepare Data for Notion",
      "type": "n8n-nodes-base.code",
      "position": [
        3632,
        608
      ]
    },
    {
      "id": "e9180f6c-de2e-4576-83f5-8b458b44fb8f",
      "name": "Save to Notion Database",
      "type": "n8n-nodes-base.notion",
      "position": [
        3920,
        608
      ]
    },
    {
      "id": "07dc3f85-b4ad-4b84-96f9-e85935e9a29d",
      "name": "Update Description API",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        4224,
        608
      ]
    },
    {
      "id": "3a275745-6d14-4bce-9357-6c9125ccdd1d",
      "name": "Send Success Notification",
      "type": "n8n-nodes-base.slack",
      "position": [
        4528,
        608
      ]
    },
    {
      "id": "f59aec90-0afa-4069-b154-0c3ea0255167",
      "name": "Send NSFW Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        2384,
        816
      ]
    }
  ],
  "connections": {
    "Merge Routes": {
      "main": [
        [
          {
            "node": "Prepare Data for Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Category Router": {
      "main": [
        [
          {
            "node": "Generate Portrait Tags",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Generate Landscape Tags",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Generate Landscape Tags",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse AI Response": {
      "main": [
        [
          {
            "node": "Safety Check (NSFW Filter)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Vision Analysis": {
      "main": [
        [
          {
            "node": "Parse AI Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Image File": {
      "main": [
        [
          {
            "node": "AI Vision Analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Watch for New Images": {
      "main": [
        [
          {
            "node": "Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Portrait Tags": {
      "main": [
        [
          {
            "node": "Move to Portraits Folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Description API": {
      "main": [
        [
          {
            "node": "Send Success Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Configuration": {
      "main": [
        [
          {
            "node": "Download Image File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Landscape Tags": {
      "main": [
        [
          {
            "node": "Move to Landscapes Folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Data for Notion": {
      "main": [
        [
          {
            "node": "Save to Notion Database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save to Notion Database": {
      "main": [
        [
          {
            "node": "Update Description API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Move to Portraits Folder": {
      "main": [
        [
          {
            "node": "Merge Routes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Move to Landscapes Folder": {
      "main": [
        [
          {
            "node": "Merge Routes",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Safety Check (NSFW Filter)": {
      "main": [
        [
          {
            "node": "Category Router",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send NSFW Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}