AutomationFlowsAI & RAG › Auto-create & Post Social Media Reels with Google Veo-3 AI

Auto-create & Post Social Media Reels with Google Veo-3 AI

Original n8n title: Auto-create & Post Social Media Reels with Google Veo-3 AI and Gpt

ByAutomate With Marc @marconi on n8n.io

🚀 GPT-5 + Veo-3 Instagram Reel Auto-Creator & Auto-Poster

Chat trigger trigger★★★★☆ complexityAI-powered15 nodesChat TriggerHTTP RequestOpenAI
AI & RAG Trigger: Chat trigger Nodes: 15 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #7287 — we link there as the canonical source.

This workflow follows the Chat Trigger → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "GPT-5 & Veo-3 Instagram Video Generator & Autopost",
  "tags": [],
  "nodes": [
    {
      "id": "a8d50f46-720d-4a84-addd-138005ca4f4e",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        1400,
        60
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "81175228-b5b2-4b88-b4a9-40ea1c610085",
      "name": "30 Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        2200,
        60
      ],
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "f881c748-847b-4dad-ac34-cac4c0d2b03a",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        2640,
        60
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "57f70829-d058-494e-b438-7ce9dc8a6384",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.data.status }}",
              "rightValue": "processing"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "2dd5d111-0756-4bbf-9c94-e699740ee471",
      "name": "Wait 30 Secs",
      "type": "n8n-nodes-base.wait",
      "position": [
        2880,
        160
      ],
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "f1da4e26-5fd2-428c-b8ab-175e9dd48caf",
      "name": "Veo3 Video Generator",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1980,
        60
      ],
      "parameters": {
        "url": "https://api.wavespeed.ai/api/v3/google/veo3-fast",
        "method": "POST",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "sendBody": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "duration",
              "value": "8"
            },
            {
              "name": "enable_prompt_expansion",
              "value": "true"
            },
            {
              "name": "generate_audio",
              "value": "true"
            },
            {
              "name": "prompt",
              "value": "={{ $json.message.content }}"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "f8f54a04-bf64-44c0-9e1a-a9124cbcf1a6",
      "name": "GPT-5 AI Video Prompt Agent",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1620,
        60
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "={{ $json.chatInput }}"
            },
            {
              "role": "system",
              "content": "You are a creative video prompt generator for short-form reels (e.g., Instagram, TikTok). Based on:\n\nThe chat input of the user\n\nYour task is to craft an elaborate, visually descriptive video generation prompt suitable for input into the Seedance/Veo3 API.\n\n\ud83d\uded1 Do not include any extra explanation, formatting, or commentary. Your entire output must be the exact prompt to pass into the video generator.\n\nThe prompt should:\n\u2013 Be under 150 words\n\u2013 Describe the visual elements, tone, and motion clearly\n\u2013 Reflect the thematic visual in a coherent manner\n\nExample of your expected output format:\n\n\u201cA 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: \u2018Nature\u2019s Elegance. Reinvented.\u2019 Trend-inspired styling based on the \u2018quiet luxury\u2019 aesthetic. For Instagram.\u201d"
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "6de2d985-0c27-40f9-91e0-5858484dd673",
      "name": "Veo3 GET",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2420,
        60
      ],
      "parameters": {
        "url": "=https://api.wavespeed.ai/api/v3/predictions/{{ $json.data.id }}/result",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "90d33010-21e2-44be-a93f-8d09d5b2c38f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        -40
      ],
      "parameters": {
        "color": 6,
        "width": 1800,
        "height": 480,
        "content": "Video Generation"
      },
      "typeVersion": 1
    },
    {
      "id": "b3d557fb-7291-4223-be37-079cf1304109",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        460
      ],
      "parameters": {
        "color": 4,
        "width": 560,
        "height": 240,
        "content": "Caption Agent"
      },
      "typeVersion": 1
    },
    {
      "id": "df9f1ce6-6db6-4dd9-8997-d0e76ca27b29",
      "name": "Upload to Postiz",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2160,
        500
      ],
      "parameters": {
        "url": "https://api.postiz.com/public/v1/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "3231c09a-afbc-4eb4-ac9e-599ced770916",
      "name": "Download Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1920,
        500
      ],
      "parameters": {
        "url": "={{ $('Veo3 GET').item.json.data.outputs[0] }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "b57b7a80-ed39-4edf-aa13-f340f7b73eee",
      "name": "POSTIZ Post to Socials (IG)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2380,
        500
      ],
      "parameters": {
        "url": "https://api.postiz.com/public/v1/posts",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"type\": \"now\",\n  \"shortLink\": false,\n  \"date\": \"{{ $now.toISO() }}\",\n  \"tags\": [],\n  \"posts\": [\n    {\n      \"integration\": { \"id\": \"{{ YOUR_POSTIZ_INTEGRATION_ID }}\" },\n      \"value\": [\n        {\n          \"content\": \"{{ $('GPT-5 Caption Agent').item.json.message.content }}\",\n          \"image\": [\n            {\n              \"id\": \"{{ $node['Upload to Postiz'].json.id }}\",\n              \"path\": \"{{ $node['Upload to Postiz'].json.path }}.mp4\"\n            }\n          ]\n        }\n      ],\n      \"settings\": {\n        \"post_type\": \"post\"\n      }\n    }\n  ]\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "3691e403-be44-4668-bd4d-1613118d0291",
      "name": "GPT-5 Caption Agent",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1500,
        500
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Based on this video generation prompt, create an impactful accompanying caption for the Instagram Post: {{ $('GPT-5 AI Video Prompt Agent').item.json.message.content }}"
            },
            {
              "role": "system",
              "content": "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."
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "f8adb7e9-5553-4cd7-8952-caf0a7d7095a",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1860,
        460
      ],
      "parameters": {
        "color": 3,
        "width": 780,
        "height": 240,
        "content": "Postiz - Post to Social Channels"
      },
      "typeVersion": 1
    },
    {
      "id": "143b00ba-76d2-4a4d-986a-90b53c84f91c",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        -60
      ],
      "parameters": {
        "color": 5,
        "width": 1000,
        "height": 1220,
        "content": "\ud83d\ude80 GPT-5 + Veo-3 Instagram Reel Auto-Creator & Auto-Poster\n\nDescription:\nThis n8n workflow is a fully automated short-form video content engine that takes your creative idea, turns it into a cinematic video using Google Veo-3 via Wavespeed API, writes an engaging Instagram caption with GPT-5, and instantly posts it to Instagram via Postiz\u2014all without lifting a finger.\n\nIt\u2019s designed for content creators, social media managers, and brands who want to produce high-quality, on-brand reels at scale without manual editing or posting.\n\nWatch Step-by-step build:\nwww.youtube.com/@automatewithmarc\n\n\ud83d\udca1 Key Features:\n\ud83d\udcac Chat-Triggered Automation (You can replace this with On Schedule trigger for automated generation) \u2013 Start the workflow with a simple message describing your video idea.\n\n\ud83e\udde0 GPT-5 Video Prompt Agent \u2013 Transforms your concept into a visually rich, cinematic prompt optimized for Veo-3.\n\n\ud83c\udfa5 Veo-3 AI Video Generation \u2013 Creates a polished short-form reel with cinematic motion, effects, and branding.\n\n\u270d\ufe0f GPT-5 Caption Writer \u2013 Crafts an impactful, scroll-stopping caption tailored for Instagram engagement.\n\n\ud83d\udce4 Auto-Posting with Postiz \u2013 Uploads and schedules (or instantly posts) your reel to Instagram without manual steps.\n\n\u23f3 Automated Progress Checking \u2013 Wait & retry logic ensures posting only happens when the video is fully generated.\n\n\ud83d\udd27 Tech Stack:\nGPT-5 via OpenAI API \u2013 AI for prompt engineering & caption creation.\n\nGoogle Veo-3 (via Wavespeed API) \u2013 Next-gen text-to-video model for short-form content.\n\nPostiz API \u2013 Multi-platform social media posting automation.\n\nn8n \u2013 Orchestration & automation engine.\n\n\ud83d\udccc Ideal Use Cases:\nInstagram Reels / TikTok Creators who want to post daily without editing.\n\nFitness, Fashion, Travel & Lifestyle Brands looking for high-quality, thematic reels.\n\nSocial Media Agencies producing client content at scale.\n\nEvent Marketers creating same-day recap videos.\n\n\ud83d\udee0 Setup Instructions:\nAdd your API keys for OpenAI (GPT-5), Wavespeed (Veo-3), and Postiz.\n\nConnect Postiz to your Instagram account.\n\nTrigger the workflow with a chat message describing your desired video.\n\nWatch your idea transform into a reel\u2014fully captioned and posted automatically.\n\n\ud83c\udfaf Why This Workflow Stands Out:\nEnd-to-end automation from idea \u2192 video \u2192 caption \u2192 Instagram post.\n\nAI-driven creative consistency for brand identity.\n\nScales your content production without hiring editors.\n\nSEO & engagement-ready captions crafted for social virality."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Wait 30 Secs",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "GPT-5 Caption Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "30 Wait": {
      "main": [
        [
          {
            "node": "Veo3 GET",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Veo3 GET": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 30 Secs": {
      "main": [
        [
          {
            "node": "Veo3 GET",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Video": {
      "main": [
        [
          {
            "node": "Upload to Postiz",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to Postiz": {
      "main": [
        [
          {
            "node": "POSTIZ Post to Socials (IG)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GPT-5 Caption Agent": {
      "main": [
        [
          {
            "node": "Download Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Veo3 Video Generator": {
      "main": [
        [
          {
            "node": "30 Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "GPT-5 AI Video Prompt Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GPT-5 AI Video Prompt Agent": {
      "main": [
        [
          {
            "node": "Veo3 Video Generator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

🚀 GPT-5 + Veo-3 Instagram Reel Auto-Creator & Auto-Poster

Source: https://n8n.io/workflows/7287/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This workflow is for: People who want to quickly launch simple landing pages without paying monthly fees to landing page creators. It’s ideal for rapid prototyping, generation of large amounts of land

Google Gemini, OpenAI, Chat Trigger +3
AI & RAG

Automate the creation of high-performing YouTube Shorts in minutes! Content Creators: Generate engaging short videos effortlessly. Marketing Agencies: Produce client-ready content quickly. Business Ow

Chat Trigger, HTTP Request, OpenAI
AI & RAG

I prepared a comprehensive guide demonstrating how to build a multi-level retrieval AI agent in n8n that smartly narrows down search results first by file descriptions, then retrieves detailed vector

Tool Code, Chat Trigger, OpenAI +2
AI & RAG

🚨 LinkedIn search is BROKEN.

Chat Trigger, Google Sheets, HTTP Request +2
AI & RAG

This n8n template demonstrates how to turn raw YouTube comments into research-backed content ideas complete with hooks and outlines.

Chat Trigger, OpenAI, HTTP Request +2