{
  "name": "Generate 100+ ad variations from one image with Fal.AI Nano Banana and GPT-5",
  "nodes": [
    {
      "id": "5fa084d2-aae6-4cde-bdcf-fc9b55aad1d1",
      "name": "Describe ad selected",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        96,
        128
      ]
    },
    {
      "id": "869aaca7-69e6-4b8c-94cc-bedf8ee39dc9",
      "name": "Create variants of the prompt",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        528,
        128
      ]
    },
    {
      "id": "045c023d-daed-495b-a9e7-6860288c1abb",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        0
      ],
      "parameters": {
        "width": 828,
        "height": 348,
        "content": "## Stage 2: AI Logic: Analysis & Recipe Selection"
      }
    },
    {
      "id": "756d7126-7362-4239-b301-bbbfbde25d87",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        352
      ],
      "parameters": {
        "width": 828,
        "height": 364,
        "content": "## Stage 3: Generation: Batch Processing with Fal.ai\n"
      }
    },
    {
      "id": "56ba7f69-31b2-4470-a213-1d7f5dbfe2ae",
      "name": "Set variables for Ad generation",
      "type": "n8n-nodes-base.set",
      "position": [
        304,
        848
      ]
    },
    {
      "id": "019c7cf2-27c2-47cc-a26c-fb3d31b7e3d5",
      "name": "Get image url",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        112,
        1552
      ]
    },
    {
      "id": "4c6b5eac-f534-4422-a7fe-aa5f85055eb6",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        96,
        848
      ]
    },
    {
      "id": "84bd1abf-c4d2-48a4-a337-6529022c5f67",
      "name": "Check if image is ready",
      "type": "n8n-nodes-base.if",
      "position": [
        544,
        1200
      ]
    },
    {
      "id": "5a21ad17-546f-47b5-8b5a-9721c09862cb",
      "name": "Submit Request to generate image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        528,
        848
      ]
    },
    {
      "id": "0f24ed1f-0d8a-49fe-a7fe-fc58ea9a9fcc",
      "name": "Extract from File",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        96,
        480
      ]
    },
    {
      "id": "6cb6c0c8-4cde-4540-81ba-302ea770fde0",
      "name": "Download in n8n",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        288,
        1552
      ]
    },
    {
      "id": "d309f5a5-e485-400d-95c6-77b55978bbfb",
      "name": "Upload generated ad to output folder",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        480,
        1552
      ]
    },
    {
      "id": "333f14a4-37ec-446f-ab50-5d21d16fc392",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        720
      ],
      "parameters": {
        "width": 828,
        "height": 364,
        "content": "## Stage 4: Delivery: Drive Upload & Final Polish\n"
      }
    },
    {
      "id": "fe85c4f7-36e4-4682-837a-35535c977067",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        1088
      ],
      "parameters": {
        "width": 828,
        "height": 364,
        "content": "## Stage 4.1: Get creative ad generation status\n"
      }
    },
    {
      "id": "c224bf41-3dc7-4703-8f84-c1bbeca9c9f4",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        1456
      ],
      "parameters": {
        "width": 828,
        "height": 364,
        "content": "## Stage 4.2: Download file and upload to Google Drive\n\n"
      }
    },
    {
      "id": "fac3db24-2120-41bf-9617-bf2b7815fa99",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        1824
      ],
      "parameters": {
        "width": 828,
        "height": 364,
        "content": "## Stage 5: final step. You can add other steps here when the loop is done\n"
      }
    },
    {
      "id": "dc7bf6a0-9722-4f16-a8f9-2767e7f99e96",
      "name": "Wait 10 seconds",
      "type": "n8n-nodes-base.wait",
      "position": [
        96,
        1200
      ]
    },
    {
      "id": "f026f3fd-8db3-4ea9-9736-9dd60a6e80be",
      "name": "Get Image status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        304,
        1200
      ]
    },
    {
      "id": "cf0ae33e-5cbf-43bb-9903-e0e2c9e8b4b7",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        80,
        -256
      ]
    },
    {
      "id": "92d664dd-1328-4e38-adb2-356b423033aa",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        -352
      ],
      "parameters": {
        "width": 828,
        "height": 348,
        "content": "## Stage 1: Trigger: Input & Brand Settings"
      }
    },
    {
      "id": "9ffe51c8-d9b7-4da7-9b80-5eefbc335abc",
      "name": "Upload file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        336,
        -256
      ]
    },
    {
      "id": "8401565f-46ca-4964-a719-8f7058cb18ab",
      "name": "Download file to process",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        576,
        -256
      ]
    },
    {
      "id": "ac157b9f-8b05-4120-8360-1cb2879b0547",
      "name": "map form answers",
      "type": "n8n-nodes-base.set",
      "position": [
        336,
        128
      ]
    },
    {
      "id": "81cfaf01-9266-41da-9bf9-81459f68580f",
      "name": "Split Out variants",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        320,
        480
      ]
    },
    {
      "id": "beb1f790-4a15-440f-abdc-321841c7570c",
      "name": "Merge with image inspiration",
      "type": "n8n-nodes-base.merge",
      "position": [
        544,
        480
      ]
    },
    {
      "id": "939fbb0c-4a00-41a9-8b8e-b40bf5ef1a01",
      "name": "Replace Me",
      "type": "n8n-nodes-base.noOp",
      "position": [
        96,
        1968
      ]
    },
    {
      "id": "496421de-fb06-4d6a-b92a-6d17b61324ea",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -720,
        -352
      ],
      "parameters": {
        "width": 672,
        "height": 1056,
        "content": "## Scale Your Creative Strategy: 100+ Ads from 1 Image\nInstantly turn a single reference image into hundreds of high-performing ad creatives using Fal.AI’s **Nano Banana** model and **GPT-4o**.\n\n### 💰"
      }
    }
  ],
  "connections": {
    "Replace Me": {
      "main": [
        []
      ]
    },
    "Upload file": {
      "main": [
        [
          {
            "node": "Download file to process",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get image url": {
      "main": [
        [
          {
            "node": "Download in n8n",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download in n8n": {
      "main": [
        [
          {
            "node": "Upload generated ad to output folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Replace Me",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Set variables for Ad generation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 10 seconds": {
      "main": [
        [
          {
            "node": "Get Image status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Image status": {
      "main": [
        [
          {
            "node": "Check if image is ready",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "map form answers": {
      "main": [
        [
          {
            "node": "Create variants of the prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "Merge with image inspiration",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Upload file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out variants": {
      "main": [
        [
          {
            "node": "Merge with image inspiration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Describe ad selected": {
      "main": [
        [
          {
            "node": "map form answers",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if image is ready": {
      "main": [
        [
          {
            "node": "Get image url",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 10 seconds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download file to process": {
      "main": [
        [
          {
            "node": "Describe ad selected",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge with image inspiration": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create variants of the prompt": {
      "main": [
        [
          {
            "node": "Split Out variants",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set variables for Ad generation": {
      "main": [
        [
          {
            "node": "Submit Request to generate image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Submit Request to generate image": {
      "main": [
        [
          {
            "node": "Wait 10 seconds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload generated ad to output folder": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}