Google Drive to Google Sheets, ad variants ready
Your creative testing slows down the second you need “just 10 more variants.” Someone has to pull the reference ad, match the brand look, brief the designer (again), export files, name them, then track everything somewhere.
Drive Sheets automation hits performance marketers first, because testing calendars don’t wait. But creative leads chasing consistency and agency teams juggling approvals feel the same bottleneck. The outcome is simple: you generate 10 brand-consistent ad image variants and log them automatically, ready for review and testing.
This workflow turns one reference ad image plus your brand website into clean, repeatable creative output. You’ll see what it does, what you need, and how teams use it to keep experiments moving without the messy spreadsheet chaos.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Google Drive to Google Sheets, ad variants ready
flowchart LR
subgraph sg0["Submit Brand Info + Image Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>Submit Brand Info + Image"]
n1@{ icon: "mdi:cog", form: "rounded", label: " Upload Ad Image to Google D..", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Download Ad Image for Analysis", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Describe Visual Style of Image", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Analyze Brand Website Style", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "LangChain Agent: Generate Va..", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Parse Prompts into JSON Array", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split: One Prompt per Item", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Download Base Image for Each..", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop: Process Image Variations", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Dumpling AI: Generate Image .."]
n11@{ icon: "mdi:database", form: "rounded", label: " Log Image Variation URLs to..", pos: "b", h: 48 }
n12@{ icon: "mdi:brain", form: "rounded", label: "GPT-4o (Connected to LangCha..", pos: "b", h: 48 }
n0 --> n1
n7 --> n8
n4 --> n5
n6 -.-> n5
n3 --> n4
n2 --> n3
n9 --> n10
n1 --> n2
n10 --> n11
n12 -.-> n5
n8 --> n9
n11 --> n9
n5 --> n7
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n3,n4,n5,n6 ai
class n12 aiModel
class n11 database
class n10 api
classDef customIcon fill:none,stroke:none
class n0,n10 customIcon
The Challenge: Scaling Ad Variants Without Losing Brand Consistency
Most teams can make one good ad. The pain starts when you need enough variations to learn anything. You end up re-briefing the same brand context, hunting down the “final_final_v7” file in Drive, and trying to remember which version had the warmer lighting or the cleaner headline space. Then the tracking breaks: links are missing, filenames drift, and results get tied to the wrong creative. Honestly, it’s not just slow. It makes your testing data less trustworthy, so you stop iterating and start guessing.
It adds up fast. Here’s where it usually breaks down.
- Every request for “10 variants” turns into a mini project with repeated brand explanations and avoidable back-and-forth.
- Creative consistency is fragile, so even small differences can drift into off-brand colors, tone, or composition.
- Tracking gets messy when image URLs live in chats, folders, and random docs instead of one testing log.
- Manual copy-paste across tools invites simple errors that waste spend and muddy results.
The Fix: Generate 10 Ad Image Variants From One Reference
This workflow starts with a simple form submission: brand name, brand website, and one reference ad image. n8n uploads the image to Google Drive so it’s stored consistently, then pulls it back for analysis. GPT-4o describes the image’s visual style (lighting, composition, mood), while GPT-4 looks at the brand website to infer a broader aesthetic that keeps the outputs coherent. A LangChain agent combines both and writes 10 tightly scoped prompts, so you’re not generating random “AI art,” you’re generating purposeful variations. Dumpling AI then produces a new image for each prompt using its FLUX.1-pro model. Finally, each image link is written into Google Sheets so your review and testing workflow stays clean.
The workflow begins when you submit the form with your reference image and site. AI turns that into variation prompts designed for ad testing, then Dumpling generates the images in batches. Google Sheets becomes the single place your team reviews, picks winners, and keeps experimenting.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say your team runs two new creative tests a week, and each test needs 10 image variants. Manually, even a “quick” process is often about 10 minutes per variant between briefing, generating, exporting, naming, uploading, and logging, which is roughly 100 minutes per test. That’s about 3 hours a week just to get variants into a sheet. With this workflow, submitting the form takes around 5 minutes, then you wait for generation and the Sheet fills itself. You get most of that time back, and the log stays consistent.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Drive to store the reference image.
- Google Sheets to log variant image URLs for review.
- OpenAI API key (get it from the OpenAI API dashboard).
- Dumpling AI API key (get it from your Dumpling AI account settings).
Skill level: Intermediate. You’ll connect OAuth accounts, paste a couple IDs, and verify API credentials in n8n.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
Form submission triggers everything. You enter the brand name, brand website, and upload one reference ad image. That gives the workflow both “what the ad should feel like” and “what the brand looks like.”
The reference image is stored and fetched from Google Drive. n8n uploads the image into your chosen Drive folder, then retrieves it for analysis so you’re not dealing with one-off files sitting in someone’s downloads folder.
OpenAI + LangChain create usable variation prompts. GPT-4o summarizes the ad’s aesthetics, GPT-4 assesses the website’s visual style, then a LangChain agent combines both and outputs 10 structured prompts that are intentionally “close to the original,” but different in mood, lighting, tone, and background.
Dumpling AI generates the images in batches. The workflow splits prompts into items, loops through them, and uses an HTTP request to generate each image with the FLUX.1-pro model. The batch approach keeps runs stable when you scale.
Google Sheets becomes your review queue. Each generated image URL is recorded into your Sheet so your team can review, select winners, and push the best performers into campaigns.
You can easily modify the number of variants from 10 to 5 or 20 based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Trigger
Set up the workflow entry point to collect brand details and a reference image from a form submission.
- Add the Collect Brand Details & Image node as your trigger.
- Set Form Title to
Ad Image Generator. - Set Form Description to
Provide brand and product info, and an optional reference image to generate image variations with AI. - Add form fields for Brand Name, Brand Website, and Ad Image (file upload, required).
Step 2: Connect Google Drive for Image Storage and Retrieval
Upload the submitted image to Drive and fetch it for AI analysis and variant generation.
- Open Send Image to Drive and set Name to
={{ $json['Ad Image'].filename }} (Original). - Choose the Drive and folder for uploads in Send Image to Drive.
- Credential Required: Connect your googleDriveOAuth2Api credentials in Send Image to Drive.
- In Fetch Image for Review, set Operation to
downloadand File ID to={{ $('Send Image to Drive').item.json.id }}. - Credential Required: Connect your googleDriveOAuth2Api credentials in Fetch Image for Review.
- In Retrieve Base Image per Variant, set Operation to
downloadand File ID to={{ $('Send Image to Drive').item.json.id }}. - Credential Required: Connect your googleDriveOAuth2Api credentials in Retrieve Base Image per Variant.
Step 3: Set Up Visual Analysis and Prompt Generation
Analyze the reference image and website aesthetic, then generate structured variation prompts using the agent and parser.
- Configure Summarize Image Aesthetics with Resource set to
image, Input Type set tobase64, and Operation set toanalyze. - Set the Text field in Summarize Image Aesthetics to
Describe the visual style, subject matter, and composition of this image. Is it a lifestyle image, a product-only shot, or a combination? Include lighting style and camera angle if possible. - Credential Required: Connect your openAiApi credentials in Summarize Image Aesthetics.
- In Assess Website Visual Style, keep the message content and ensure it uses the expressions
{{ $('Collect Brand Details & Image').item.json['Brand Website'] }}and{{ $('Collect Brand Details & Image').item.json['Brand Name'] }}. - Credential Required: Connect your openAiApi credentials in Assess Website Visual Style.
- Open Agent: Craft Variation Prompts and keep the Text field set to
=Brand Name: {{ $('Collect Brand Details & Image').item.json['Brand Name'] }} Website: {{ $('Collect Brand Details & Image').item.json['Brand Website'] }} Reference Ad Description: {{ $('Summarize Image Aesthetics').item.json.content }} Visual Style Overview: {{ $json.message.content }}. - Ensure Convert Prompts to JSON is connected as the output parser to Agent: Craft Variation Prompts with the provided JSON schema example.
- Open GPT-4o Model Connector and confirm it is linked as the language model for Agent: Craft Variation Prompts.
- Credential Required: Connect your openAiApi credentials in GPT-4o Model Connector.
Step 4: Split Prompts and Prepare Variant Processing
Split the generated prompt list into individual items and prepare them for batch processing with the base image.
- In Split Prompts into Items, set Field to Split Out to
output. - Confirm that Split Prompts into Items connects to Retrieve Base Image per Variant and then to Batch Process Variants.
- In Batch Process Variants, keep default settings unless you want to control batch sizes.
Step 5: Configure AI Image Generation and Sheet Output
Send each prompt to the image generator and append the resulting URLs to Google Sheets.
- In Dumpling AI Image Builder, set URL to
https://app.dumplingai.com/api/v1/generate-ai-imageand Method toPOST. - Set JSON Body to
{ "model": "FLUX.1-pro", "input": { "prompt": "{{ $json.prompt }}" } }. - Credential Required: Connect your httpHeaderAuth credentials in Dumpling AI Image Builder.
- In Record Image URLs to Sheets, set Operation to
append. - Map the Image URL column to
={{ $json.url }}. - Credential Required: Connect your googleSheetsOAuth2Api credentials in Record Image URLs to Sheets.
Step 6: Test and Activate Your Workflow
Validate the full pipeline from form submission to image URLs in Google Sheets.
- Click Execute Workflow and submit the form from Collect Brand Details & Image with a real image file.
- Confirm that Send Image to Drive uploads the file and Fetch Image for Review downloads it successfully.
- Verify that Agent: Craft Variation Prompts returns a JSON array and Split Prompts into Items creates individual items.
- Check that Dumpling AI Image Builder returns image URLs and Record Image URLs to Sheets appends them.
- When successful, toggle the workflow to Active so new submissions trigger production runs.
Watch Out For
- Google Drive credentials can expire or need specific permissions. If things break, check the n8n Google Drive credential status and the target folder sharing settings first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Common Questions
If your accounts are ready, plan on about 30 minutes.
Yes, but someone needs to be comfortable connecting OAuth credentials and pasting a few IDs. No coding, just careful setup.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI and Dumpling AI usage, which depends on how many variants you generate.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
You can. Most teams start by changing the “Agent: Craft Variation Prompts” instructions to control what varies (seasonality, background type, lighting, on-model vs. off-model). You can also switch the Dumpling AI model used in the “Dumpling AI Image Builder” request if you need a different aesthetic. And if your reviews need more context, log extra columns to Google Sheets like the prompt text, timestamp, and campaign name.
Usually it’s expired OAuth access or the Drive folder isn’t accessible to the connected account. Reconnect Google Drive in n8n, then confirm the folderId points to a folder that account can view and upload to. If the upload works but the fetch fails, check the file permissions and make sure you’re retrieving the correct file after upload. Rate limits are rare here, but they can show up if you run big batches repeatedly.
It scales fine for most teams.
Often, yes for this specific use case. You’re combining multi-step AI reasoning (image + website analysis) with structured outputs, looping/batching, and a custom HTTP call to Dumpling AI. n8n handles branching and batching cleanly without turning every extra step into a pricing surprise, and self-hosting is there if you want it. Zapier or Make can still work if you keep it simple, but workflows like this get complex fast. Talk to an automation expert if you want a quick recommendation based on your volume and review process.
You get a repeatable system for creative variation, not another one-off “AI experiment.” Set it up once, then keep shipping tests without the spreadsheet whiplash.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.