ChatGPTCreativeVideoAI score · 74/100AI-assisted edit · no obvious prompt-injection riskn8n.io

Auto-Generate and Post Instagram Reels with n8n: Veo3 + OpenAI + Blotato

Chat input → AI video prompt generation → Veo3 9:16 short video generation → poll for result → AI caption → log to Google Sheets → auto-publish to Instagram via Blotato

Some experienceStepsWorkflowPromptTip
Who
Content creators, brand operators, and small teams looking to batch-generate and auto-publish Instagram Reels without manual shooting or editing
You get
Send one chat message to automatically complete the full pipeline from video generation to Instagram publishing, including prompt generation, video rendering, caption writing, spreadsheet logging, and auto-posting
You need
n8n · chat-trigger · openai · http-request · google-sheets

Constraints

Requires an accessible n8n instance; configure three credential types: openAiApi, httpHeaderAuth (for Wavespeed and Blotato), and googleSheetsOAuth2Api. Wavespeed API is used for Veo3 video generation; Blotato handles Instagram publishing. Google Sheets must be created beforehand with documentId and sheetName configured. The accountId in the Blotato Publish node must be replaced with your actual Instagram account ID. Template created 2025-07-12.

What they did

Author marconi published an n8n official template demonstrating how to use a chat message as the starting point for automatically generating and publishing Instagram Reels. The workflow contains 21 nodes; the core pipeline is: Chat Trigger → OpenAI (generate video prompt) → HTTP Request (call Wavespeed/Veo3 API to generate 9:16 short video) → Wait + HTTP polling loop → OpenAI (generate caption) → Google Sheets logging → HTTP Request (Blotato media upload) → HTTP Request (Blotato publish to Instagram) → Google Sheets status update. The template includes links to a YouTube tutorial and a Google Sheets template.

How it went

The author reports the template can be used for content calendar automation, trend-based ad creation and testing, e-commerce UGC-style reel generation, and rapid creative experimentation (author_report). The template has 26,301 views on n8n.io. This site has not tested execution success rates or API stability.

Worth knowing

1. The Caption Agent actually uses chatgpt-4o-latest, not gpt-4. 2. The Edit Fields node has an empty jsonOutput {} in the source workflow.json, possibly a placeholder; you may need to add field mappings during setup. 3. The Publish to IG node uses a placeholder {{ YOUR_INSTAGRAM_ID }} for accountId, which must be replaced with a real Instagram account ID for successful publishing. 4. Google Sheets nodes have blank documentId and sheetName in the template; users must configure these. 5. The video URL from Veo3 generation passes through If node data.outputs[0] into Google Sheets, implicitly relying on stable Wavespeed API response structure; changes to the API response format could break the polling logic. 6. Both Wait nodes use fixed 30-second delays without exponential backoff; if video generation takes longer than the polling cycle, loop iterations will increase. 7. The source template was created on 2025-07-12; API endpoints or parameters may have been updated since then. Verify against current Wavespeed and Blotato documentation before building.

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

  • AI Video Prompt Agent node: connect OpenAI API credentials.
  • HTTP Get Request node: connect HTTP Header Auth credentials.
  • Caption Agent node: connect OpenAI API credentials.
  • Upload Bloatato node: connect HTTP Header Auth credentials.
  • Google Sheets1 node: connect Google Sheets OAuth2 credentials.
  • Publish to IG node: connect HTTP Header Auth credentials.
  • Veo3 Video Generator node: connect HTTP Header Auth credentials.
  • Google Sheet Ready To Post node: connect Google Sheets OAuth2 credentials.

Configuration to replace

  • Source template is n8n public workflow #5910 (~21 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. Configure Chat Trigger

    Add the 'When chat message received' node as the workflow entry point. No extra parameters needed; keep defaults to trigger via chat interface or Telegram. Example message: "Make a reel for a luxury minimalist candle brand using calm aesthetics."

  2. Configure AI Video Prompt Agent

    Add an OpenAI node (AI Video Prompt Agent), model set to gpt-4. The system prompt converts user input into a video generation prompt suitable for the Veo3/Seedance API. Output must be under 100 words, pure prompt text only, no extra explanation or formatting.

    Execution prompt · Source text。OpenAI node AI Video Prompt Agent system message field

    You are a creative video prompt generator for short-form reels (e.g., Instagram, TikTok). Based on:
    
    The chat input of the user
    
    Your task is to craft an elaborate, visually descriptive video generation prompt suitable for input into the Seedance/Veo3 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 thematic visual in a coherent manner
    
    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.”
  3. Configure Veo3 Video Generation and Result Polling

    Add and connect the following nodes in sequence: 1. HTTP Request node (Veo3 Video Generator): POST to https://api.wavespeed.ai/api/v3/google/veo3-fast, body includes aspect_ratio=9:16, duration=8, enable_prompt_expansion=true, generate_audio=true, prompt from previous AI output. 2. Wait node: 30-second fixed delay. 3. HTTP Request node (HTTP Get Request): GET https://api.wavespeed.ai/api/v3/predictions/{{ $json.data.id }}/result, using httpHeaderAuth credential. 4. If node: check if data.status equals processing. If true, route to 'Wait 30 Secs' node (another 30-second delay) then loop back to HTTP Get Request; if false, proceed to next step. Note: Both Wait nodes use a fixed 30-second delay.

  4. Configure Caption Agent

    Add an OpenAI node (Caption Agent), model set to chatgpt-4o-latest. The system prompt specifies an Instagram caption copywriter with playful and impactful style. Input references the video prompt from AI Video Prompt Agent; output is the accompanying caption.

    Execution prompt · Source text。OpenAI node Caption Agent 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 short reel video. Your job is to write an effective accompanying caption. Language style should be playful and impactful.
  5. Log to Google Sheets

    Add a Google Sheets node (Google Sheet Ready To Post), operation set to Append. Configure documentId and sheetName to point to your tracking spreadsheet. Write fields: Video Description / Prompt (from AI Video Prompt Agent), Video URL (google drive) (from If node data.outputs[0]), Caption (from Caption Agent), Status set to 'Ready to Post'. Column names must match the node schema.

  6. Upload Media and Publish to Instagram

    Configure in sequence: 1. Edit Fields node: jsonOutput is {} in the source, possibly a placeholder; supplement with actual field mappings as needed or keep as-is. 2. HTTP Request node (Upload Bloatato): POST https://backend.blotato.com/v2/media, body parameter url from Google Sheets Video URL (google drive). 3. HTTP Request node (Publish to IG): POST https://backend.blotato.com/v2/posts, JSON body includes Instagram target platform, caption text (Caption.toJsonString()), media URL (url from previous step), and accountId (must replace {{ YOUR_INSTAGRAM_ID }} with your actual Instagram account ID). 4. Google Sheets node (Google Sheets1): operation appendOrUpdate, matchingColumns set to Video URL (google drive), update Status to 'Posted'.

Prompt you can copy

Setup guidance · Editorial suggestion。Hand to setup assistant to confirm inputs and permissions before checking node configurations step by step

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

You are setting up an n8n workflow to auto-generate Instagram Reels from a chat message. First confirm these prerequisites:
- Accessible n8n instance (cloud or self-hosted)
- openAiApi credential configured (GPT-4 access)
- httpHeaderAuth credential configured (Wavespeed API key + Blotato API key)
- googleSheetsOAuth2Api credential configured
- Google Sheets tracking spreadsheet created with columns: Video Description / Prompt, Video URL (google drive), Caption, Status
- Blotato Instagram accountId obtained

Once confirmed, import workflow.json or create nodes manually, checking:
1. AI Video Prompt Agent system prompt copied in full
2. Veo3 Video Generator body parameters (aspect_ratio, duration, prompt variable)
3. HTTP Get Request URL template and polling logic
4. If node condition (data.status equals processing)
5. Caption Agent system prompt and model selection
6. Google Sheets node documentId, sheetName, field mappings
7. Publish to IG node accountId replaced with real value

Trigger with a test message to verify Veo3 generation, polling, caption, spreadsheet logging, and Instagram publishing.

After setup, trigger with a test message to verify the full flow: Veo3 generation, polling, caption, spreadsheet logging, and Instagram publishing.

Source

Auto-generate and post Instagram reels with Veo3, OpenAI, and Blotato · marconi · n8n.io · 2025-07-12

Comments & feedback

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

Loading…

    Related