{
  "name": "Generate real-estate marketing images and videos with OpenAI and Google Drive",
  "nodes": [
    {
      "id": "54b6990a-eb51-4cbe-9081-17849d83b61d",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        176,
        -48
      ]
    },
    {
      "id": "4c1690bc-1801-409a-987b-bc6ccbd005b4",
      "name": "Append row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        400,
        -48
      ]
    },
    {
      "id": "c07e5e61-00ce-44b0-8578-61a3c3950bae",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        624,
        -48
      ]
    },
    {
      "id": "31a144e0-3b78-4892-9139-620fb1096c16",
      "name": "Append or update row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        976,
        -48
      ]
    },
    {
      "id": "7b5effd8-82ce-4a2b-9c23-cc29c6c6aae9",
      "name": "Upload file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1424,
        -48
      ]
    },
    {
      "id": "8ee11e74-8a00-486a-9b61-30174b082e8d",
      "name": "Append or update row in sheet1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1648,
        -48
      ]
    },
    {
      "id": "7efb7372-9d60-40f9-8da9-e695d14827d4",
      "name": "Send message and wait for response",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2320,
        -48
      ]
    },
    {
      "id": "1ea600d5-912f-4b4f-8886-cb22616c0d1f",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        2544,
        -48
      ]
    },
    {
      "id": "194ada00-f234-4602-803a-d1263b376508",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2736,
        64
      ]
    },
    {
      "id": "8a1588a5-b5d2-48bd-83c6-0f404a896a41",
      "name": "Form",
      "type": "n8n-nodes-base.form",
      "position": [
        3008,
        -64
      ]
    },
    {
      "id": "4e718778-2efd-498a-92f3-cd9b720fce27",
      "name": "AI Agent1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        3248,
        -64
      ]
    },
    {
      "id": "9f73b0bd-c6c1-4070-a206-50e37dd5caa0",
      "name": "Append or update row in sheet2",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        4672,
        -64
      ]
    },
    {
      "id": "97b558ad-393d-453e-ba98-5cbef9ea71f0",
      "name": "Share file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2096,
        -48
      ]
    },
    {
      "id": "aa4bbf36-08ea-4bc0-945c-57303ed84e69",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        1872,
        -48
      ]
    },
    {
      "id": "db3e263f-3e9b-4a71-aee6-79471be33dcb",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -512,
        -144
      ],
      "parameters": {
        "width": 592,
        "height": 1376,
        "content": "# 🏡 Automated Real-Estate Content Generation Workflow\n\nThis n8n workflow automates turning short user ideas into production-ready real-estate marketing assets (photorealistic images and optional 360° "
      }
    },
    {
      "id": "d85ad014-baab-477a-bf26-71a1402e4486",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        672,
        160
      ]
    },
    {
      "id": "777c5995-6b27-46a5-8197-2fedd20744a5",
      "name": "Generate an image2",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1200,
        -48
      ]
    },
    {
      "id": "cdb6fc96-067d-4bbc-a1bc-29c68e5fbdce",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        3248,
        112
      ]
    },
    {
      "id": "9a60bceb-fecc-40c4-80b4-4fe49b9accd7",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3600,
        -64
      ]
    },
    {
      "id": "1fa2f30b-187d-4d94-b782-8771b6822279",
      "name": "Generate a video",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        3808,
        -64
      ]
    },
    {
      "id": "cf3231ed-daa7-4c9a-8388-ea75fbd38e12",
      "name": "Upload file1",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        4032,
        -64
      ]
    },
    {
      "id": "c92537d3-644a-483e-b5f5-73fa00dd7fed",
      "name": "Share file1",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        4448,
        -64
      ]
    },
    {
      "id": "87e66d06-f843-4e65-aabe-81d99ca2a07f",
      "name": "Wait1",
      "type": "n8n-nodes-base.wait",
      "position": [
        4224,
        -64
      ]
    },
    {
      "id": "a2685578-7f92-45cc-8e38-77e1d3d236ab",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        -144
      ],
      "parameters": {
        "width": 256,
        "height": 256,
        "content": "**Idea Capture**  \nCollect user idea + brief fields (style, property type, desired output).  \n"
      }
    },
    {
      "id": "1629ba46-55db-4c86-a8b0-c5d13655d960",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        352,
        -144
      ],
      "parameters": {
        "width": 256,
        "height": 256,
        "content": "**Record / Log**  \nSave raw idea + metadata (user, timestamp) to Google Sheets for audit.   \n"
      }
    },
    {
      "id": "40843e75-471f-416f-8fb3-671af0ce4564",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        608,
        -144
      ],
      "parameters": {
        "width": 272,
        "height": 448,
        "content": "**Prompt Refinement (AI Agent)**  \nLLM converts raw idea → photorealistic prompt + captions + variants.  \n\n"
      }
    },
    {
      "id": "8426b6f6-0981-4702-8d71-66a7deebf342",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        -144
      ],
      "parameters": {
        "width": 272,
        "height": 272,
        "content": "**Store Refined Prompt**  \nWrite back refined prompt and model metadata to the sheet. \n"
      }
    },
    {
      "id": "3f142344-b014-4e4e-8090-e94c1ff97f71",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        -144
      ],
      "parameters": {
        "width": 272,
        "height": 272,
        "content": "**Asset Generation**  \nSend refined prompt to image/video generator and receive files/URLs.  \n"
      }
    },
    {
      "id": "e6c03e25-2621-486e-88fe-2d5a90f15c75",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        -144
      ],
      "parameters": {
        "width": 816,
        "height": 272,
        "content": "**Upload & Share**  \nUpload assets to Google Drive and create view-only share links for reviewers.\n"
      }
    },
    {
      "id": "d0684bb2-e816-4dff-b0bc-789ada37e1ec",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2224,
        -144
      ],
      "parameters": {
        "width": 272,
        "height": 272,
        "content": "**Approval Flow**  \nEmail the requester with asset + prompt; wait for approval or rejection. "
      }
    },
    {
      "id": "52d232fd-cb5d-4671-9150-9fdb66b39618",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2496,
        -144
      ],
      "parameters": {
        "width": 416,
        "height": 384,
        "content": "**Decision & Routing**  \nRoute based on approval — approved → final storage/notifications; rejected → failure email."
      }
    },
    {
      "id": "b9ca1837-51ff-4684-a285-01c2ff085b08",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2912,
        -144
      ],
      "parameters": {
        "width": 1056,
        "height": 384,
        "content": "**Video Branch (Parallel)**  \nFaster or separate form flow for 360°/sora-2-pro video generation, then upload & share.  "
      }
    },
    {
      "id": "272541bd-f616-47b3-bf16-b8f4168340ed",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3968,
        -144
      ],
      "parameters": {
        "width": 624,
        "height": 272,
        "content": "**Upload & Share**  \nUpload assets to Google Drive and create view-only share links for reviewers.\n"
      }
    },
    {
      "id": "e34da2c8-4271-4502-bd23-c1345262eed5",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4592,
        -144
      ],
      "parameters": {
        "width": 272,
        "height": 272,
        "content": "**Store Video Data**  \n\n"
      }
    }
  ],
  "connections": {
    "Form": {
      "main": [
        [
          {
            "node": "AI Agent1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "Share file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait1": {
      "main": [
        [
          {
            "node": "Share file1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Form",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Append or update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent1": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Share file": {
      "main": [
        [
          {
            "node": "Send message and wait for response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Share file1": {
      "main": [
        [
          {
            "node": "Append or update row in sheet2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload file": {
      "main": [
        [
          {
            "node": "Append or update row in sheet1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Generate a video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload file1": {
      "main": [
        [
          {
            "node": "Wait1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate a video": {
      "main": [
        [
          {
            "node": "Upload file1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate an image2": {
      "main": [
        [
          {
            "node": "Upload file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Append row in sheet": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet": {
      "main": [
        [
          {
            "node": "Generate an image2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet1": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send message and wait for response": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}