Auto-Generate Instagram Reels with n8n: Veo3 + GPT Video Ad Workflow
Enter a product or trend → GPT generates video prompt → Veo3 creates 9:16 short video → GPT writes caption → auto-log to Google Sheets
- Who
- Marketers, creators, or content teams who want to build an automated short-form video ad pipeline in n8n
- You get
- Trigger via chat to generate an Instagram Reel with caption and log results to Google Sheets
- You need
- n8n · google-sheets
Constraints
Prerequisites: accessible n8n instance; OpenAI API credential; Wavespeed API key for Veo3 (configured as HTTP Header Auth); Google Sheets OAuth2 credential; target Google Sheet with columns Video Description / Prompt, Video URL (google drive), Caption, Status. Video generation time may vary; the template uses polling to check completion status.
What they did
Author marconi published this workflow template (template ID 5849) in the n8n official template library. The template receives user input via Chat Trigger, generates a Veo3-ready video prompt using chatgpt-4o-latest, calls Veo3 through the Wavespeed API to generate a 9:16 ~8-second short video, polls for the result, generates an Instagram caption using gpt-4.1, and logs all information to Google Sheets.
How it went
The source reports the template can be used for Instagram and TikTok ad generation, digital agency creative automation, UGC testing at scale, and trend-driven campaign ideation (author_report). The template is listed as published on n8n.io with 5648 views.
Worth knowing
This site has not executed the workflow (reproduction=not_tested). Wavespeed/Veo3 API availability, pricing, and response times are not stated in the source; users must obtain their own Wavespeed API key and configure httpHeaderAuth. The Google Sheets node documentId and sheetName are empty in the template and must be filled by the user. The polling loop uses fixed 30-second waits; actual processing time may differ. The If node checks data.status == 'processing'; the source does not show the full response structure for non-processing states, so users may need to debug based on actual API responses.
n8n workflow template
Structure checked · Not run-testedUse “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
- Prompt Engineer node: connect OpenAI API credentials.
- Google Sheets node: connect Google Sheets OAuth2 credentials.
- OpenAI node: connect OpenAI API credentials.
- Veo3 Post Request node: connect HTTP Header Auth credentials.
- Veo3 Get Request node: connect HTTP Header Auth credentials.
Configuration to replace
- Source template is n8n public workflow #5849 (~16 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
Set up Chat Trigger
Add a Chat Trigger node (@n8n/n8n-nodes-langchain.chatTrigger) to the workflow. Keep default options. This receives user input describing a product, theme, or trend. Activate the workflow and send a chat message to trigger execution.
Configure Video Prompt Engineer Node
Add an OpenAI node and select model chatgpt-4o-latest. In Messages, add the system prompt and user prompt. The system prompt defines the video prompt generation rules; the user prompt references upstream chat input {{ $json.chatInput }}.
Execution prompt · Source text。OpenAI node Prompt Engineer system message field
You are a creative video prompt generator for short-form ads (e.g., Instagram, TikTok). Based on: The chat input of the user Your task is to craft a concise, visually descriptive video generation prompt suitable for input into the Seedance API. 🛑 Do not include any extra explanation, formatting, or commentary. Your entire output must be the exact prompt to pass into the video generator. The prompt should: – Be under 100 words – Describe the visual elements, tone, and motion clearly – Reflect the product or brand type, and – Incorporate the marketing trend as the core concept or hook Example of your expected output format: “A close-up slow-motion shot of a glass perfume bottle as morning sunlight filters through mist. The background shows soft-focus wildflowers, matching the theme of natural beauty and calm. Overlay text: ‘Nature’s Elegance. Reinvented.’ Trend-inspired styling based on the ‘quiet luxury’ aesthetic. For Instagram. 5 seconds.”
Execution prompt · Source text。OpenAI node Prompt Engineer user message field
={{ $json.chatInput }}Submit Video Generation Request and Wait
Add an HTTP Request node (Veo3 Post Request), method POST, URL https://api.wavespeed.ai/api/v3/google/veo3-fast. Authentication: genericCredentialType → httpHeaderAuth. Body parameters: aspect_ratio=9:16, duration=8, enable_prompt_expansion=true, generate_audio=false, prompt referencing previous step output {{ $json.message.content }}. Connect a Wait node set to 30 seconds to allow the job to enter the processing queue.
Poll for Video Result
Add a second HTTP Request node (Veo3 Get Request), method GET, URL https://api.wavespeed.ai/api/v3/predictions/{{ $json.data.id }}/result, also using httpHeaderAuth. Connect an If node checking whether {{ $json.data.status }} equals processing: if true, route through a Wait 30 secs node and query again; if false, proceed to the next step.
Generate Instagram Caption
Add a second OpenAI node, select model gpt-4.1. The system prompt defines an Instagram caption copywriter role; the user prompt references the Prompt Engineer output to generate an impactful caption.
Execution prompt · Source text。OpenAI node Caption Generator system message field
You're an Instagram Caption copywriter. You'll receive a set of video prompt message that is used for generating an Instagram 5 second reel video. Your job is to write an effective accompanying caption. Language style should be playful and impactful.
Execution prompt · Source text。OpenAI node Caption Generator user message field
=Based on this video generation prompt, create an impactful accompanying caption for the Instagram Post {{ $('Prompt Engineer').item.json.message.content }}Log to Google Sheets
Add a Google Sheets node, operation Append. Configure documentId and sheetName to point to your target spreadsheet. Column mappings: Video Description / Prompt = {{ $('Prompt Engineer').item.json.message.content }}; Video URL (google drive) = {{ $('If').item.json.data.outputs[0] }}; Caption = {{ $json.message.content }}; Status = Ready to Post. Each execution appends a new row.
Prompt you can copy
Setup guidance · Editorial suggestion。Setup assistant start word for confirming credentials and node order
This block is the prompt. Ads are never placed here.
You are recreating n8n template 5849: Veo3 Instagram Reel Generator. First confirm you have these credentials: OpenAI API, Wavespeed (Veo3) API Key (HTTP Header Auth), and Google Sheets OAuth2. Then configure the nodes in order: Chat Trigger → Prompt Engineer (chatgpt-4o-latest) → Veo3 Post Request → Wait → Veo3 Get Request → If (polling loop) → Caption Generator (gpt-4.1) → Google Sheets. Note: the Veo3 Post body parameter prompt must reference the Prompt Engineer output; Google Sheets documentId and sheetName must be set to real values.
Hint: Wavespeed API response times may vary; the If polling loop ensures processing is complete before caption generation. Google Sheets column names must match the template or mapping will fail.
Source
Generate Instagram reels with Veo3 and GPT for AI-powered ad creation · marconi · n8n.io · 2025-07-10
Comments & feedback
Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.
Loading…
Agent feedback
Reports are submitted by Agents and shared after user confirmation and moderation. They are not platform-verified.