{
  "id": 8226,
  "name": "Generate unlimited e-commerce ad creative with Nano Banana Image Generator",
  "description": "# AI Influencer Ad Creative Generator\n\nGenerate authentic-looking influencer marketing content by automatically combining your product images with reference photos of potential brand ambassadors. This workflow uses Google's Gemini AI to create realistic promotional images showing influencers naturally using your products in casual settings, perfect for social media campaigns and marketing materials.\n\n## How it works\n\n* **Upload your product image** through a simple web form interface\n* **Automatically processes reference influencer photos** stored in your Google Drive folder\n* **AI generates realistic promotional images** using Gemini 2.5 Flash, showing each influencer naturally holding/using your product in cafe settings\n* **Saves all generated images** to your designated Google Drive output folder with organized naming\n* **Batch processes multiple influencer images** to create a complete campaign asset library\n\nThe workflow creates candid, authentic-looking photos that appear as if a friend took a picture of the influencer enjoying your product - perfect for social media advertising that doesn't look overly promotional.\n\n## Set up steps\n\n1. **Connect Google Drive account** to n8n for accessing influencer reference images and saving outputs\n2. **Set up Google Gemini API credentials** for AI image generation capabilities  \n3. **Create two Google Drive folders**: one for storing your reference influencer photos, another for generated campaign assets\n4. **Configure folder IDs** in the workflow nodes to point to your specific Drive locations\n5. **Upload reference influencer images** to your source folder (headshots or casual photos work best)\n6. **Deploy the form trigger** to get your webhook URL for product image uploads\n\n\n**Requirements**: Google Drive account, Google Cloud account with Gemini API access, collection of reference influencer photos.",
  "categories": [
    {
      "id": 31,
      "name": "Content Creation"
    },
    {
      "id": 51,
      "name": "Multimodal AI"
    }
  ],
  "totalViews": 4518,
  "createdAt": "2025-09-03T15:35:08.558Z",
  "workflow": {
    "id": "sywT2pKhyWK0seSM",
    "meta": {
      "instanceId": "06e5009344f682419c20ccd4ecdcb5223bbb91761882af93ac6d468dbc2cbf8d",
      "templateCredsSetupCompleted": true
    },
    "name": "The Recap AI - Nano Banana Influencer Ad Creative",
    "tags": [],
    "nodes": [
      {
        "id": "765aa3a3-7cce-4510-a342-c297d13e8c87",
        "name": "form_trigger",
        "type": "n8n-nodes-base.formTrigger",
        "position": [
          512,
          -192
        ],
        "webhookId": "fe94ee22-4cc4-41f1-98ea-e69855b6b630",
        "parameters": {
          "options": {},
          "formTitle": "Influencer Ad Creative Generator",
          "formFields": {
            "values": [
              {
                "fieldType": "file",
                "fieldLabel": "Image",
                "multipleFiles": false,
                "requiredField": true
              }
            ]
          },
          "formDescription": "Select and upload an image of your product. "
        },
        "typeVersion": 2.2
      },
      {
        "id": "a66447f3-377e-498a-a925-f21a60fee7df",
        "name": "list_influencer_images",
        "type": "n8n-nodes-base.googleDrive",
        "position": [
          1040,
          -192
        ],
        "parameters": {
          "filter": {
            "folderId": {
              "__rl": true,
              "mode": "id",
              "value": "1HTaxyt9ZIlf3faATFlN4ujlTZge9_yg-"
            }
          },
          "options": {},
          "resource": "fileFolder",
          "returnAll": true
        },
        "credentials": {
          "googleDriveOAuth2Api": {
            "id": "credential-id",
            "name": "googleDriveOAuth2Api Credential"
          }
        },
        "typeVersion": 3
      },
      {
        "id": "0a5ddc7f-e7bf-4cec-8bf4-8fb107ca0676",
        "name": "iterate_influencer_images",
        "type": "n8n-nodes-base.splitInBatches",
        "position": [
          512,
          32
        ],
        "parameters": {
          "options": {}
        },
        "typeVersion": 3
      },
      {
        "id": "96c2c161-08ba-4dc6-87e3-da1ac17154b6",
        "name": "download_influencer_image",
        "type": "n8n-nodes-base.googleDrive",
        "position": [
          784,
          96
        ],
        "parameters": {
          "fileId": {
            "__rl": true,
            "mode": "id",
            "value": "={{ $json.id }}"
          },
          "options": {},
          "operation": "download"
        },
        "credentials": {
          "googleDriveOAuth2Api": {
            "id": "credential-id",
            "name": "googleDriveOAuth2Api Credential"
          }
        },
        "typeVersion": 3
      },
      {
        "id": "92609f61-eb3f-4eff-8f74-3392af805e3f",
        "name": "product_image_to_base64",
        "type": "n8n-nodes-base.extractFromFile",
        "position": [
          784,
          -192
        ],
        "parameters": {
          "options": {},
          "operation": "binaryToPropery",
          "binaryPropertyName": "Image"
        },
        "typeVersion": 1
      },
      {
        "id": "be421a9d-d907-4a9d-8183-1ee15d325417",
        "name": "influencer_image_to_base_64",
        "type": "n8n-nodes-base.extractFromFile",
        "position": [
          1040,
          96
        ],
        "parameters": {
          "options": {},
          "operation": "binaryToPropery"
        },
        "typeVersion": 1
      },
      {
        "id": "5a0d1500-72d5-4f6c-bd9e-caa43559c28e",
        "name": "generate_image",
        "type": "n8n-nodes-base.httpRequest",
        "position": [
          1280,
          96
        ],
        "parameters": {
          "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image-preview:generateContent",
          "method": "POST",
          "options": {},
          "jsonBody": "={\n  \"contents\": [{\n    \"parts\": [\n      { \"text\": \"Create an image where the cup/tumbler in image 1 is being held by the person in the 2nd image (like they are about to take a drink from the cup). The person should be sitting at a table at a cafe or coffee shop and is smiling warmly while looking at the camera. This is not a professional photo, it should feel like a friend is taking a picture of the person in the 2nd image. Only return the final generated image. The angle of the image should instead by slightly at an angle from the side (vary this angle).\" },\n      {\n        \"inline_data\": {\n          \"mime_type\": \"image/png\",\n          \"data\": \"{{ $node['product_image_to_base64'].json.data }}\"\n        }\n      },\n      {\n        \"inline_data\": {\n          \"mime_type\": \"image/jpeg\",\n          \"data\": \"{{ $node['influencer_image_to_base_64'].json.data }}\"\n        }\n      }\n    ]\n  }]\n}",
          "sendBody": true,
          "specifyBody": "json",
          "authentication": "genericCredentialType",
          "genericAuthType": "httpHeaderAuth"
        },
        "credentials": {
          "httpHeaderAuth": {
            "id": "credential-id",
            "name": "httpHeaderAuth Credential"
          }
        },
        "typeVersion": 4.2
      },
      {
        "id": "a784a2b9-42d4-4f69-9f0f-0c2b22db061f",
        "name": "get_image",
        "type": "n8n-nodes-base.convertToFile",
        "position": [
          1760,
          96
        ],
        "parameters": {
          "options": {},
          "operation": "toBinary",
          "sourceProperty": "image_result"
        },
        "typeVersion": 1.1
      },
      {
        "id": "f4bd7aed-8cc0-4c9a-9209-8a4af074e89f",
        "name": "upload_image",
        "type": "n8n-nodes-base.googleDrive",
        "position": [
          2016,
          192
        ],
        "parameters": {
          "name": "=Influencer Image #{{ $runIndex + 1 }}",
          "driveId": {
            "__rl": true,
            "mode": "list",
            "value": "My Drive",
            "cachedResultUrl": "https://drive.google.com/drive/my-drive",
            "cachedResultName": "My Drive"
          },
          "options": {},
          "folderId": {
            "__rl": true,
            "mode": "id",
            "value": "1ZatlrK3cMUHkeel-HTeCFYDf1mdBRAWj"
          }
        },
        "credentials": {
          "googleDriveOAuth2Api": {
            "id": "credential-id",
            "name": "googleDriveOAuth2Api Credential"
          }
        },
        "typeVersion": 3
      },
      {
        "id": "f6d7116b-51f6-4a7a-9684-8b92320eed2f",
        "name": "set_result",
        "type": "n8n-nodes-base.set",
        "position": [
          1520,
          96
        ],
        "parameters": {
          "options": {},
          "assignments": {
            "assignments": [
              {
                "id": "524da01b-f8b9-4c2c-9e28-319455903e4d",
                "name": "=image_result",
                "type": "string",
                "value": "={{ $json.candidates[0].content.parts.filter(item => item.inlineData).first().inlineData.data }}"
              }
            ]
          }
        },
        "typeVersion": 3.4
      },
      {
        "id": "392150b5-f890-4918-a6ad-ab51e75560fb",
        "name": "Sticky Note",
        "type": "n8n-nodes-base.stickyNote",
        "position": [
          368,
          -400
        ],
        "parameters": {
          "width": 1936,
          "height": 832,
          "content": "## Nano Banana Ad Creative Generator\n\n### Setup\n1. Upload influencer reference images to the source Google Drive Folder\n2. Create a Google Drive destination folder for your output\n3. Upload an image of your product you want promoted by the reference influencer images\n"
        },
        "typeVersion": 1
      }
    ],
    "active": false,
    "pinData": {},
    "settings": {
      "executionOrder": "v1"
    },
    "versionId": "0e83dceb-8c84-4d51-b849-cb6c98dcdd8b",
    "connections": {
      "get_image": {
        "main": [
          [
            {
              "node": "upload_image",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "set_result": {
        "main": [
          [
            {
              "node": "get_image",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "form_trigger": {
        "main": [
          [
            {
              "node": "product_image_to_base64",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "upload_image": {
        "main": [
          [
            {
              "node": "iterate_influencer_images",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "generate_image": {
        "main": [
          [
            {
              "node": "set_result",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "list_influencer_images": {
        "main": [
          [
            {
              "node": "iterate_influencer_images",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "product_image_to_base64": {
        "main": [
          [
            {
              "node": "list_influencer_images",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "download_influencer_image": {
        "main": [
          [
            {
              "node": "influencer_image_to_base_64",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "iterate_influencer_images": {
        "main": [
          [],
          [
            {
              "node": "download_influencer_image",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "influencer_image_to_base_64": {
        "main": [
          [
            {
              "node": "generate_image",
              "type": "main",
              "index": 0
            }
          ]
        ]
      }
    }
  },
  "workflowInfo": {
    "nodeCount": 11,
    "nodeTypes": {
      "n8n-nodes-base.set": {
        "count": 1
      },
      "n8n-nodes-base.stickyNote": {
        "count": 1
      },
      "n8n-nodes-base.formTrigger": {
        "count": 1
      },
      "n8n-nodes-base.googleDrive": {
        "count": 3
      },
      "n8n-nodes-base.httpRequest": {
        "count": 1
      },
      "n8n-nodes-base.convertToFile": {
        "count": 1
      },
      "n8n-nodes-base.splitInBatches": {
        "count": 1
      },
      "n8n-nodes-base.extractFromFile": {
        "count": 2
      }
    }
  },
  "nodes": [
    "form_trigger",
    "list_influencer_images",
    "iterate_influencer_images",
    "download_influencer_image",
    "product_image_to_base64",
    "influencer_image_to_base_64",
    "generate_image",
    "get_image",
    "upload_image",
    "set_result",
    "Sticky Note"
  ],
  "nodeTypes": [
    "n8n-nodes-base.stickyNote",
    "n8n-nodes-base.httpRequest",
    "n8n-nodes-base.set",
    "n8n-nodes-base.googleDrive",
    "n8n-nodes-base.formTrigger",
    "n8n-nodes-base.splitInBatches",
    "n8n-nodes-base.convertToFile",
    "n8n-nodes-base.extractFromFile"
  ]
}