{
  "name": "Generate product videos from images with BrowserAct and Google Drive",
  "nodes": [
    {
      "id": "bab21957-2460-4d61-be9f-365703ac5ee5",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        112,
        -128
      ]
    },
    {
      "id": "a6b5b7fd-fe58-44ce-ab6b-c2ed4acc912f",
      "name": "Run a workflow",
      "type": "n8n-nodes-browseract.browserAct",
      "position": [
        320,
        -128
      ]
    },
    {
      "id": "adaba9ad-f0c5-44a8-8d76-852a868e7bcb",
      "name": "limit_products",
      "type": "n8n-nodes-base.limit",
      "position": [
        736,
        -128
      ]
    },
    {
      "id": "4385e759-a72e-491a-ae2e-2a989347367b",
      "name": "fetch_image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        352,
        144
      ]
    },
    {
      "id": "9551dca5-8348-44ce-9d93-340608cd6a6b",
      "name": "iterate_products",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        112,
        128
      ]
    },
    {
      "id": "b6b2366b-a97e-4392-8235-94396d6369de",
      "name": "set_prompt",
      "type": "n8n-nodes-base.set",
      "position": [
        1136,
        144
      ]
    },
    {
      "id": "0e515cf1-27ed-4145-beda-c87a5912ff6e",
      "name": "check_response",
      "type": "n8n-nodes-base.if",
      "position": [
        720,
        384
      ]
    },
    {
      "id": "511608c0-ae60-4971-8173-65ebf4edcfb2",
      "name": "download_video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        928,
        400
      ]
    },
    {
      "id": "7da2a9d2-7622-44a0-830a-0e1e7b6feaa6",
      "name": "upload_output_video",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1136,
        400
      ]
    },
    {
      "id": "d81aa256-735d-4954-b162-6c9691c36075",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        -64
      ],
      "parameters": {
        "width": 368,
        "height": 752,
        "content": "How it works\nThis workflow uses BrowserAct to run an AI-powered browser automation that collects structured product data, including image URLs and related metadata.\n\nThe workflow then:\n\nParses the Bro"
      }
    },
    {
      "id": "552ee742-720c-4ee9-a2d4-25b717331a5e",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        64,
        -272
      ],
      "parameters": {
        "width": 832,
        "height": 320,
        "content": "Title：Data collection\n\nText：Run a BrowserAct workflow to collect structured product items using real browser execution.\nThis step provides the initial data for the workflow and outputs product records"
      }
    },
    {
      "id": "7b308b1e-a176-47e6-81a0-7e52fadd3dce",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        64,
        368
      ],
      "parameters": {
        "width": 800,
        "height": 320,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTitle：Video generation\nText：Submit a video generation request using the prepared image and prompt.\nThe workflow waits and repeatedly checks generation status until the video is ready."
      }
    },
    {
      "id": "f6ce5d8d-4a72-426a-9a72-87dd453cfa50",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        64,
        48
      ],
      "parameters": {
        "width": 1216,
        "height": 320,
        "content": " Title：Image preparation\n Text：Download each product image and prepare it for AI video generation.\n Images are fetched individually and converted into the required format so they can be safely passed "
      }
    },
    {
      "id": "b54a89a3-a03c-4cad-a7dd-30cb014c3d81",
      "name": "Parse BrowserAct output",
      "type": "n8n-nodes-base.code",
      "position": [
        528,
        -128
      ]
    },
    {
      "id": "9627fb5b-99a4-45b9-8c08-89e55a49e00b",
      "name": "Submit video generation request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        112,
        400
      ]
    },
    {
      "id": "6cad0918-2276-4fde-8f43-1444191ebc2b",
      "name": "Wait for video generation",
      "type": "n8n-nodes-base.wait",
      "position": [
        304,
        384
      ]
    },
    {
      "id": "80ccdb97-cdbd-4ebd-99bd-acd5a203c3cb",
      "name": "Check video generation status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        496,
        384
      ]
    },
    {
      "id": "ec0d61c2-3ef5-4374-a6eb-dce948412770",
      "name": "Prepare image for video generation",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        720,
        144
      ]
    },
    {
      "id": "bc7b25cd-04e1-44e2-9ea2-90a56634ce69",
      "name": "Convert image to Base64",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        528,
        144
      ]
    },
    {
      "id": "e59e9729-c06e-49e3-a3e0-089efae8d4c8",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        864,
        368
      ],
      "parameters": {
        "width": 416,
        "height": 320,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTitle：Google Drive sync\nText：Upload source images and generated videos to Google Drive."
      }
    },
    {
      "id": "c3c7af01-2807-42b8-8efb-6cf41c0e20ce",
      "name": "upload_source_image",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        912,
        144
      ]
    }
  ],
  "connections": {
    "set_prompt": {
      "main": [
        [
          {
            "node": "Submit video generation request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fetch_image": {
      "main": [
        [
          {
            "node": "Convert image to Base64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run a workflow": {
      "main": [
        [
          {
            "node": "Parse BrowserAct output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "check_response": {
      "main": [
        [
          {
            "node": "download_video",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait for video generation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "download_video": {
      "main": [
        [
          {
            "node": "upload_output_video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "limit_products": {
      "main": [
        [
          {
            "node": "iterate_products",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "iterate_products": {
      "main": [
        [],
        [
          {
            "node": "iterate_products",
            "type": "main",
            "index": 0
          },
          {
            "node": "fetch_image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "upload_output_video": {
      "main": [
        [
          {
            "node": "iterate_products",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "upload_source_image": {
      "main": [
        [
          {
            "node": "set_prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert image to Base64": {
      "main": [
        [
          {
            "node": "Prepare image for video generation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse BrowserAct output": {
      "main": [
        [
          {
            "node": "limit_products",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for video generation": {
      "main": [
        [
          {
            "node": "Check video generation status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check video generation status": {
      "main": [
        [
          {
            "node": "check_response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Submit video generation request": {
      "main": [
        [
          {
            "node": "Wait for video generation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare image for video generation": {
      "main": [
        [
          {
            "node": "upload_source_image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Run a workflow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}