ChatGPTCreativeVideoAI score · PendingAI-assisted edit · no obvious prompt-injection riskn8n.io

Batch-Generate UGC-Style AI Videos with n8n: Google Sheets + NanoBanana Pro + Veo 3.1

Input 3 reference images (product, character, background) and scene description → AI generates UGC selfie photo → synthesize 8-second video → auto-write back to Google Sheets

Some experienceStepsWorkflowPromptTip
Who
Marketers, e-commerce operators, or content creators who need to produce TikTok/Instagram Reels-style product demo videos at scale
You get
Manage task queues in Google Sheets, automatically combine three reference images into a consistent UGC selfie photo, then generate an 8-second vertical video with natural dialogue
You need
n8n · google-sheets

Constraints

Prerequisites: n8n instance; Google Sheets OAuth2 credentials; Atlas Cloud API key (NanoBanana Pro and Veo 3.1); at least one OpenAI or Groq API key. Duplicate the author's Google Sheets template and replace the documentId in all Google Sheets nodes. Two schedule triggers can be run manually or on an hourly interval.

What they did

Author Kristian Ekachandra published this workflow template on n8n.io. The template contains two independent pipelines: an image pipeline that uses NanoBanana Pro to combine product, character, and background images into a UGC selfie photo; and a video pipeline that uses Google Veo 3.1 to turn the synthesized still image into an 8-second vertical video. The entire flow uses Google Sheets as a task queue with batch processing and status tracking (Ready → Edited → Finished).

How it went

The template is listed as published on n8n.io. The author provided a YouTube tutorial link and full node configurations. Both image and video prompts are embedded in AI Agent nodes, with primary/fallback model support (GPT-5-Mini / GPT-OSS-120b). Actual results depend on reference image quality, API availability, and quotas. (author_report)

Worth knowing

1. The Google Sheets documentId in the template points to the author's public template; users must duplicate and replace it with their own spreadsheet link, or writes will fail. 2. Atlas Cloud API (NanoBanana Pro + Veo 3.1) is a paid third-party service; pricing and limits must be confirmed separately. 3. Default spoken dialogue is Indonesian; change the Dialog Language Rule in the Video Prompt Agent systemMessage for other languages. 4. Prompt limits: Image Prompt ≤100 words (code further truncates to 80), Video Prompt is a single English block with quoted dialogue. 5. This site has not tested the workflow; reproduction=not_tested. First run should use a single task with API error write-back monitoring.

n8n workflow template

Structure checked · Not run-tested

Use “Import from File” in n8n, or copy the JSON and paste it into the editor. Connect your own accounts, then try test data. The template is inactive by default.

Setup and test checklist

Credentials to connect

  • NanoBanana Pro Edit node: connect HTTP Bearer Auth credentials.
  • Update Edit Task [SUCCESS] node: connect Google Sheets OAuth2 credentials.
  • Update Edit Task [ERROR] node: connect Google Sheets OAuth2 credentials.
  • Get Ready Task node: connect Google Sheets OAuth2 credentials.
  • Get Edited Task node: connect Google Sheets OAuth2 credentials.
  • Analyze image node: connect OpenAI API credentials.
  • Veo 3.1 node: connect HTTP Bearer Auth credentials.
  • Get a Video node: connect HTTP Bearer Auth credentials.
  • Update Video Task [ERROR] node: connect Google Sheets OAuth2 credentials.
  • Update Video Task [SUCCESS] node: connect Google Sheets OAuth2 credentials.
  • GPT-5-Mini node: connect OpenAI API credentials.
  • GPT-OSS-120b node: connect groqApi credentials.

Configuration to replace

  • Source template is n8n public workflow #12752 (~28 nodes). Keep inactive after import; verify triggers, expressions and external API endpoints.
  • Sticky-note guidance is informational; replace placeholders with your own accounts, sheet schemas or channel IDs.

Test input and expected output

  • Manually run the main path once in a test workspace and confirm credentialed nodes authenticate without errors.
  • Drive one synthetic/redacted sample through and check output fields and downstream writes before enabling in production.

Template changes

  • Author credential bindings, webhookId and execution data are removed; the workflow is inactive. Nodes, connections and original prompts are preserved. Not run-tested in n8n.
  • No business-logic edits; verify keys, quotas and privacy compliance before use.

Template retrieved: 2026-10-24

Steps

  1. Prepare spreadsheet and credentials

    Duplicate the author's Google Sheets template. In n8n, configure four credential types: Google Sheets OAuth2, Atlas Cloud (httpBearerAuth), OpenAI, and Groq. Replace the documentId in all Google Sheets nodes with your own spreadsheet link.

  2. Trigger image pipeline and read tasks

    Manually run 'Schedule Trigger Edit Images' or wait for the schedule. The workflow reads rows with Status = Ready from Google Sheets, retrieving Product Photo, Character, Background, Product Name, Video Scene, etc.

  3. Generate image prompt and download references

    The Image Prompt Agent generates an English prompt (≤100 words) from Product Name and Video Scene. A Code node splits the three image URLs into an array; HTTP Request nodes download each and upload to tmpfiles.org for temporary direct links. Another Code node formats the payload for NanoBanana Pro.

    Execution prompt · Source text。Image Prompt Agent node text input field

    =Product: {{ $json['Product Name'] }}
    Scene: {{ $json["Video Scene"] }}

    Execution prompt · Source text。Image Prompt Agent node systemMessage field

    =You are an expert in hyper-realistic user-generated content (UGC) photography prompts for image generation models.
    
    You will be provided with:
    - Product photo (MUST remain unchanged)
    - Character reference photo (MUST match exactly)
    - Background reference photo (MUST match exactly)
    - Scene description
    
    Your task is to generate a CONCISE prompt (maximum 100 words) that directs the model to create a clean, simple selfie image.
    
    CRITICAL RULES:
    1) OUTPUT MUST BE IN ENGLISH ONLY
    2) Keep prompt SHORT and SIMPLE - avoid excessive detail
    3) NEVER describe hands in detail - just say "holding product naturally"
    4) Focus on: character match, product accuracy, background match, selfie angle
    5) Avoid describing: multiple hand positions, complex gestures, finger details
    
    PROMPT STRUCTURE (follow this order):
    - Selfie-style photo of [character description matching reference]
    - Holding [product name from reference] in one hand naturally
    - In [background setting from reference]
    - Natural smile, eye contact with camera
    - Soft natural lighting, shallow depth of field
    - Authentic UGC feel, not studio photo
    
    FORMAT OUTPUT:
    - Output ONLY the prompt in English
    - Maximum 100 words
    - No explanations, no bullet points, no extra text
    - Just the prompt, nothing else
    
    CRITICAL: Keep it simple. Complex prompts cause distorted hands and multiple limbs.
  4. Synthesize UGC selfie photo

    The NanoBanana Pro Edit node calls the Atlas Cloud API (model: google/nano-banana-pro/edit, aspect_ratio: 9:16, resolution: 2k) to combine the three reference images with the AI-generated prompt into a UGC-style selfie. If the response code is 200, proceed to analysis; otherwise mark Error.

  5. Analyze image quality and write back results

    The Analyze image node uses gpt-4o-mini to describe the subject's action, expression, environment, held object, and composition. On success, Update Edit Task [SUCCESS] sets Status to Edited and writes Image Prompt, Image Result, and Analyze Image; on failure, Update Edit Task [ERROR] writes Error.

    Execution prompt · Source text。Analyze image node text input field

    =Describe the image in one concise paragraph: explain what the main human subject is doing and their facial expression, describe the environment (indoor or outdoor, key background elements, lighting), and describe exactly what the person is holding (object type, color, shape, any visible brand or readable text quoted exactly as seen), plus a brief note on composition (selfie vs not, close-up vs wide, sharp vs blurry).
  6. Trigger video pipeline and read edited tasks

    Manually run 'Schedule Trigger Make Videos' or wait for the schedule. The workflow reads rows with Status = Edited from Google Sheets, retrieving Product Name, Video Scene, Target Market, Product Description, Analyze Image, and Image Result.

  7. Generate video prompt

    The Video Prompt Agent synthesizes product info, scene, target market, and image analysis into an English video prompt for Veo 3.1. Default spoken dialogue is Indonesian (switch if Target Market specifies another language), with 1–2 casual spoken sentences in quotation marks.

    Execution prompt · Source text。Video Prompt Agent node text input field

    =Product Name: {{ $json["Product Name"] }}
    Video Scene: {{ $json["Video Scene"] }}
    Target Market: {{ $json["Target Market"] }}
    Product Description: {{ $json["Product Description"] }}
    Image Reference: {{ $json["Analyze Image"] }}

    Execution prompt · Source text。Video Prompt Agent node systemMessage field

    =## System Message
    
    You are an expert UGC (User-Generated Content) video prompt creator for AI video generation models (e.g., Veo 3.1).
    
    Your task is to generate **ONE** realistic, selfie-style video prompt based on:
    - Product information  
    - Video scene description  
    - Target market  
    - Product description  
    - Reference image analysis (style consistency only)
    
    The output must describe a video that feels authentic, casual, and user-generated, as if recorded naturally by an everyday content creator. The video should focus on **product usage and experience**, not personal traits.
    
    ---
    
    ## CRITICAL RULES
    - **Output must be in ENGLISH ONLY**
    - Spoken dialogue must follow the Dialog Language Rules below
    - The subject must always be a **clearly defined adult (20+ years old)**
    - Avoid sensitive, sexualized, or unnecessary physical descriptions
    - Keep descriptions professional, neutral, and product-focused
    
    ---
    
    ## Dialog Language Rule
    - **Default:** Spoken dialogue must be in Indonesian (Bahasa Indonesia)  
    - **Exception:** If the Target Market explicitly specifies another language or nationality, use that language  
    - Always write the **exact spoken dialogue in quotation marks** inside the English prompt
    
    ---
    
    ## Core Video Requirements
    
    ### Subject & Framing
    - Subject is an adult creator aligned with the Target Market
    - Video is recorded selfie-style at arm’s length
    - Subject looks directly into the lens while speaking
    - Vertical 9:16 format (TikTok / Instagram Reels style)
    - One hand interacts with the product; the recording device is never visible
    
    ### Visual Style
    - Natural lighting and a realistic everyday setting (e.g., bedroom, vanity, office, car)
    - Slight camera shake, subtle grain, and minor imperfections for authenticity
    - Product must be clearly visible and used naturally
    - **Do NOT show** the phone, camera, reflections, mirrors, or filming equipment
    - **No** on-screen text, subtitles, watermarks, logos, or graphic overlays
    - Match overall vibe, wardrobe simplicity, and tone with the reference image without mentioning it
    
    ### Tone & Dialogue
    - 1–2 short, casual spoken sentences
    - Conversational, personal, and experience-based
    - Avoid exaggerated claims, medical claims, or advertising-style language
    - Focus on texture, feel, ease of use, or everyday practicality
    
    ### Technical Specs
    - Duration: 8 seconds
    - Shot type: handheld selfie-style
    - Lighting: natural and realistic
    - Reference image is for visual consistency only and must not be referenced
    
    ---
    
    ## Google AI Safety & Compliance Guidelines
    To ensure approval:
    - Use neutral descriptors such as “adult creator,” “young adult,” or “everyday content creator”
    - Avoid age ranges that include minors
    - Avoid unnecessary physical or personal detail
    - Focus on actions, setting, and product interaction
    - Keep all descriptions appropriate, professional, and non-sensitive
    
    ---
    
    ## Output Format
    - Output **ONE** cohesive video prompt as a single block of text
    - Dialogue must appear in quotation marks in the correct language
    - Do not include explanations, lists, links, or multiple versions
    - Do not mention policies, filters, or reference images
  8. Generate video and poll status

    The Veo 3.1 node calls the Atlas Cloud API (model: google/veo3.1/image-to-video, duration: 8, resolution: 1080p, aspect_ratio: 9:16, generate_audio: true) using the synthesized image as input. After a 10-second Wait, Get a Video polls the Atlas Cloud prediction endpoint. A Switch node routes by status: completed → success write-back, failed → error write-back, processing → loop back to Wait.

  9. Write back video results

    Update Video Task [SUCCESS] sets Status to Finished and writes Video Prompt and Video Result URL; on failure, Update Video Task [ERROR] sets Status=Error and writes Error Message.

Prompt you can copy

Setup guidance · Editorial suggestion。Hand to setup assistant; confirm inputs and permissions first

This block is the prompt. Ads are never placed here.

You are a setup assistant familiar with n8n workflows and AI video generation. Help the user reproduce this template:

1. Confirm the user has an n8n instance, Google Sheets OAuth2, Atlas Cloud API key, and OpenAI or Groq API key.
2. Guide them to duplicate the Google Sheets template (https://docs.google.com/spreadsheets/d/1wVz-tvvAuYi9sHtHj40i4yeOFZMbdwmuaQR5N5wRg08/copy) and replace the documentId in all Google Sheets nodes.
3. Explain that Image Prompt Agent and Video Prompt Agent systemMessages are already embedded in the template and usually need no changes; to adjust dialogue language or visual style, modify the Dialog Language Rule and Visual Style sections in the Video Prompt Agent systemMessage.
4. Recommend adding only 1 task with Status=Ready for the first test, manually triggering Schedule Trigger Edit Images, confirming Status changes to Edited, then manually triggering Schedule Trigger Make Videos.
5. Remind the user to monitor Atlas Cloud and OpenAI/Groq API quotas and costs.

Requires n8n instance, Google Sheets OAuth2, Atlas Cloud API key, OpenAI or Groq API key; test with a single task first.

Source

Generate UGC-style AI videos with Google Sheets, NanoBanana Pro and Veo 3.1 · aichandre · n8n.io · 2026-01-16

Comments & feedback

Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.

Loading…

    Related