AutomationFlowsAI & RAG › Generate High Quality Video Commercials with Veo 3

Generate High Quality Video Commercials with Veo 3

ByKoulikas Giannis @giannis on n8n.io

Input business details – Takes business name, description, services, offer, CTA, location, and target audience from a form Write the script – Uses Gemini 2.5 Pro to create a 16-second, two-part micro-commercial script with character dialogue (Part 1: problem + solution, Part 2:…

Event trigger★★★★★ complexityAI-powered55 nodesGoogle Gemini ChatHTTP RequestJwtChain LlmOutput Parser StructuredLm Chat Deep SeekGoogle DriveGoogle Cloud Storage
AI & RAG Trigger: Event Nodes: 55 Complexity: ★★★★★ AI nodes: yes Added:

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

This workflow follows the Chainllm → Google Drive 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
  },
  "nodes": [
    {
      "id": "4a2aa57f-6169-4b03-be00-3390a3474aa2",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2688,
        3280
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "5d950949-3eb8-4385-b0a5-fdb48e568047",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3248,
        3408
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b792b214-faf6-48bf-81e9-ad50b6366cd6",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3520,
        3408
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "a4474460-b708-4d3b-9a5d-a38dbf531812",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4224,
        3360
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "06310bf4-f800-4f34-b3e6-3dce11bd86c6",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5296,
        3280
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "e20809aa-76c5-4bc0-b3ef-35db12d940f9",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        6640,
        3408
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "df1b5f22-c36a-4d20-8d24-07bc02509112",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        7088,
        3424
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "4323b6d6-aa01-4f30-a6fb-6c4a5fb2ce00",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        7984,
        3424
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b4fb4d6f-a5b0-4292-bca5-e2fcf7bc059f",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        8736,
        3280
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "32682218-52d9-4722-8e8f-2ec3b8284b04",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        10256,
        3408
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "5e92af91-bdb0-4c8d-a556-8062fe9ba9d8",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        10704,
        3280
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "bebe4cae-d938-4428-81dd-2b8439500b00",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        11600,
        3408
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "1c5b5141-89e6-4e29-af97-442f8c0d6ec2",
      "name": "When Execute Workflow Clicked",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        3296,
        3536
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ac60180f-a617-47a1-9eb0-cc7d63580323",
      "name": "Set Business Details",
      "type": "n8n-nodes-base.set",
      "position": [
        3568,
        3536
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "b2c4428d-2d1f-4f09-9fef-162e04f951c5",
      "name": "Gemini Chat Model 1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        3792,
        3760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7e70d4a4-c5f3-49f4-91a2-dbe17fcfacd5",
      "name": "Convert Data to File",
      "type": "n8n-nodes-base.convertToFile",
      "notes": "At this step, the video should be generated and ready to convert to 9:16 aspect ratio",
      "position": [
        6240,
        3536
      ],
      "parameters": {},
      "notesInFlow": false,
      "typeVersion": 1.1
    },
    {
      "id": "9fe2068a-27ff-40e6-aab5-a966a3d65f08",
      "name": "Route by No Rules 1",
      "type": "n8n-nodes-base.switch",
      "position": [
        6016,
        3520
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "da5f5e12-8d92-4e89-9e62-727173e235f0",
      "name": "Post Fetch Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        5792,
        3392
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 4.2,
      "alwaysOutputData": false
    },
    {
      "id": "ac0c85af-98d8-45de-b70e-4adbb18ae07a",
      "name": "Wait 20 Seconds 1",
      "type": "n8n-nodes-base.wait",
      "position": [
        5568,
        3472
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "53c93309-799e-4ae9-a955-6093e71111fb",
      "name": "Set API Configurations",
      "type": "n8n-nodes-base.set",
      "position": [
        4672,
        3472
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "0eff05b8-d856-4762-9a3d-4b9baf4af439",
      "name": "Generate JWT Token",
      "type": "n8n-nodes-base.jwt",
      "position": [
        4896,
        3472
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b3b2b154-2f9b-437f-9c3e-ac9b58801589",
      "name": "Post to OAuth2 Token",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        5120,
        3472
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "03fe944b-0145-4108-a804-c35eebd42d89",
      "name": "Post Generate Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        5344,
        3472
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "fed1c58e-a29b-495d-8d89-292fc5afd5ce",
      "name": "Ad Planning Chain",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        3808,
        3536
      ],
      "parameters": {},
      "typeVersion": 1.7
    },
    {
      "id": "b97f2684-2dc6-413d-b973-ac105229cd69",
      "name": "Ad Strategy Chain Part 1",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        4272,
        3536
      ],
      "parameters": {},
      "typeVersion": 1.7
    },
    {
      "id": "1fe6c5d7-1c80-4df7-b57b-085c19876f0d",
      "name": "Ad Strategy Chain Part 2",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        8784,
        3536
      ],
      "parameters": {},
      "typeVersion": 1.7
    },
    {
      "id": "9e60653a-c3a9-48ef-88b3-5d33162f1a56",
      "name": "Convert Data to File 1",
      "type": "n8n-nodes-base.convertToFile",
      "notes": "At this step, the video should be generated and ready to convert to 9:16 aspect ratio",
      "position": [
        10080,
        3536
      ],
      "parameters": {},
      "notesInFlow": false,
      "typeVersion": 1.1
    },
    {
      "id": "9017563a-eb34-4f55-b0ee-86e8ee979456",
      "name": "Route by No Rules 2",
      "type": "n8n-nodes-base.switch",
      "position": [
        9856,
        3504
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "22260eed-0d5d-4d1a-9849-99a2d778b063",
      "name": "Post Fetch Status 1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        9632,
        3392
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 4.2,
      "alwaysOutputData": false
    },
    {
      "id": "33441b35-1b0b-4709-8133-08a9b1ea3653",
      "name": "Wait 20 Seconds 2",
      "type": "n8n-nodes-base.wait",
      "position": [
        9408,
        3472
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "7e6fedd8-dd0a-45fd-bb86-53905c04a10c",
      "name": "Post Generate Video 1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        9184,
        3472
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "faea6beb-fdc7-4004-8b3e-8156e9091198",
      "name": "Parse Structured Output 1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        3920,
        3760
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "3951a48b-a62e-4050-bc14-bd8274b99d40",
      "name": "DeepSeek Chat Model 1",
      "type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
      "position": [
        3968,
        3968
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "865fe72f-2421-477c-9d2a-07f317f7c27e",
      "name": "Gemini Chat Model 2",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        4368,
        3760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "1616fe48-e6fe-41aa-a7f1-cb4325269c4d",
      "name": "Upload Vid to Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        6912,
        3536
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "925057e7-20cf-4cbd-866f-d68ec034014b",
      "name": "Post Start Gemini Upload",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        7136,
        3536
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "83e6a357-c735-4f8b-a6c6-1dd24c65f34d",
      "name": "Redownload Video from Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        7360,
        3536
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "44e514bb-9f31-4ce3-b30f-77ba076ee9b1",
      "name": "Post Video to Gemini",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        7584,
        3536
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "3a4b4bb7-1338-44fc-800c-db5209e8dea4",
      "name": "Post Analyze Vid with Gemini",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        8032,
        3536
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 4.2,
      "waitBetweenTries": 15
    },
    {
      "id": "27fb4414-4c0c-4394-93df-75bab4a4ef4a",
      "name": "Basic LLM Processing Chain",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        8272,
        3536
      ],
      "parameters": {},
      "typeVersion": 1.7
    },
    {
      "id": "ff95ad23-17b0-4a8b-ad0a-f3bed4f9b4c5",
      "name": "DeepSeek Chat Model 2",
      "type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
      "position": [
        8256,
        3760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9a741a29-6d78-46a4-820c-493d34c3e616",
      "name": "Parse Structured Output 2",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        8384,
        3760
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "a9632f12-afda-418d-b6e3-e39bbdb47389",
      "name": "DeepSeek Chat Model 3",
      "type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
      "position": [
        8480,
        3968
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "eb9dca22-86f1-41ab-b143-e049c7717353",
      "name": "Gemini Chat Model 3",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        8880,
        3760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "84212026-f7b9-4f77-9d9f-d9625de203ee",
      "name": "Build Shotstack HTTP Body",
      "type": "n8n-nodes-base.code",
      "position": [
        10528,
        3536
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2
    },
    {
      "id": "c5caca17-a6e9-4aa6-b2ef-24d86e37ed24",
      "name": "GCS Video Part 1",
      "type": "n8n-nodes-base.googleCloudStorage",
      "position": [
        6464,
        3536
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "de30d3a2-6707-468f-b518-6f3561ccd7a3",
      "name": "GCS Video Part 2",
      "type": "n8n-nodes-base.googleCloudStorage",
      "position": [
        10304,
        3536
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "1b8844d2-129c-41d7-9b83-fac7747e9789",
      "name": "Post Merge to Creatomate",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        10752,
        3472
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "1bc80a52-c61f-405f-8f5a-21c58f7f60e6",
      "name": "Fetch Final Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        11648,
        3536
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "5c7dbe14-a0c0-4771-bd11-051742fb012a",
      "name": "Wait for Rendering Complete",
      "type": "n8n-nodes-base.wait",
      "position": [
        10976,
        3472
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "fa988770-36a7-4d24-91a8-80da605f13cd",
      "name": "Check Render Completion",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        11200,
        3392
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "a1313d5a-d23d-4883-b783-a8a53b8b0eb6",
      "name": "Telegram Send Video",
      "type": "n8n-nodes-base.telegram",
      "position": [
        11872,
        3536
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "831d1f6d-bf6d-40be-9b8f-f062726858cd",
      "name": "Route by No Rules 3",
      "type": "n8n-nodes-base.switch",
      "position": [
        11424,
        3520
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "255a8f64-436d-462d-a4ae-89cf61ffda7a",
      "name": "Fetch Binary Part 1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        6688,
        3536
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "0e8851d4-007d-4216-bf6a-20ef823fb613",
      "name": "Wait 30 Seconds with Reason",
      "type": "n8n-nodes-base.wait",
      "position": [
        7808,
        3536
      ],
      "parameters": {},
      "typeVersion": 1.1
    }
  ],
  "connections": {
    "GCS Video Part 1": {
      "main": [
        [
          {
            "node": "Fetch Binary Part 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GCS Video Part 2": {
      "main": [
        [
          {
            "node": "Build Shotstack HTTP Body",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ad Planning Chain": {
      "main": [
        [
          {
            "node": "Ad Strategy Chain Part 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Final Video": {
      "main": [
        [
          {
            "node": "Telegram Send Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post Fetch Status": {
      "main": [
        [
          {
            "node": "Route by No Rules 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 20 Seconds 1": {
      "main": [
        [
          {
            "node": "Post Fetch Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 20 Seconds 2": {
      "main": [
        [
          {
            "node": "Post Fetch Status 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate JWT Token": {
      "main": [
        [
          {
            "node": "Post to OAuth2 Token",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Binary Part 1": {
      "main": [
        [
          {
            "node": "Upload Vid to Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gemini Chat Model 1": {
      "ai_languageModel": [
        [
          {
            "node": "Ad Planning Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Gemini Chat Model 2": {
      "ai_languageModel": [
        [
          {
            "node": "Ad Strategy Chain Part 1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Gemini Chat Model 3": {
      "ai_languageModel": [
        [
          {
            "node": "Ad Strategy Chain Part 2",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Post Fetch Status 1": {
      "main": [
        [
          {
            "node": "Route by No Rules 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post Generate Video": {
      "main": [
        [
          {
            "node": "Wait 20 Seconds 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by No Rules 1": {
      "main": [
        [
          {
            "node": "Convert Data to File",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Ad Strategy Chain Part 1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 20 Seconds 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by No Rules 2": {
      "main": [
        [
          {
            "node": "Convert Data to File 1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Ad Strategy Chain Part 2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Ad Strategy Chain Part 2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 20 Seconds 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by No Rules 3": {
      "main": [
        [
          {
            "node": "Fetch Final Video",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Build Shotstack HTTP Body",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait for Rendering Complete",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Data to File": {
      "main": [
        [
          {
            "node": "GCS Video Part 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post Video to Gemini": {
      "main": [
        [
          {
            "node": "Wait 30 Seconds with Reason",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post to OAuth2 Token": {
      "main": [
        [
          {
            "node": "Post Generate Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Business Details": {
      "main": [
        [
          {
            "node": "Ad Planning Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "DeepSeek Chat Model 1": {
      "ai_languageModel": [
        [
          {
            "node": "Parse Structured Output 1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "DeepSeek Chat Model 2": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Processing Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "DeepSeek Chat Model 3": {
      "ai_languageModel": [
        [
          {
            "node": "Parse Structured Output 2",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Post Generate Video 1": {
      "main": [
        [
          {
            "node": "Wait 20 Seconds 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Data to File 1": {
      "main": [
        [
          {
            "node": "GCS Video Part 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set API Configurations": {
      "main": [
        [
          {
            "node": "Generate JWT Token",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Render Completion": {
      "main": [
        [
          {
            "node": "Route by No Rules 3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ad Strategy Chain Part 1": {
      "main": [
        [
          {
            "node": "Set API Configurations",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ad Strategy Chain Part 2": {
      "main": [
        [
          {
            "node": "Post Generate Video 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post Merge to Creatomate": {
      "main": [
        [
          {
            "node": "Wait for Rendering Complete",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post Start Gemini Upload": {
      "main": [
        [
          {
            "node": "Redownload Video from Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Shotstack HTTP Body": {
      "main": [
        [
          {
            "node": "Post Merge to Creatomate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Structured Output 1": {
      "ai_outputParser": [
        [
          {
            "node": "Ad Planning Chain",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Parse Structured Output 2": {
      "ai_outputParser": [
        [
          {
            "node": "Basic LLM Processing Chain",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Basic LLM Processing Chain": {
      "main": [
        [
          {
            "node": "Ad Strategy Chain Part 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload Vid to Google Drive": {
      "main": [
        [
          {
            "node": "Post Start Gemini Upload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Redownload Video from Drive": {
      "main": [
        [
          {
            "node": "Post Video to Gemini",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 30 Seconds with Reason": {
      "main": [
        [
          {
            "node": "Post Analyze Vid with Gemini",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for Rendering Complete": {
      "main": [
        [
          {
            "node": "Check Render Completion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post Analyze Vid with Gemini": {
      "main": [
        [
          {
            "node": "Basic LLM Processing Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Execute Workflow Clicked": {
      "main": [
        [
          {
            "node": "Set Business Details",
            "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

Input business details – Takes business name, description, services, offer, CTA, location, and target audience from a form Write the script – Uses Gemini 2.5 Pro to create a 16-second, two-part micro-commercial script with character dialogue (Part 1: problem + solution, Part 2:…

Source: https://n8n.io/workflows/15150/ — 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

Find trending theories – Uses Grok-4 to scan X (Twitter) for the top emerging conspiracy theory from the last 3 days Write the script – Takes the theory and creates a 24-second documentary-style scrip

HTTP Request, Jwt, Chain Llm +5
AI & RAG

Generate the script – Takes a "what if" question and creates a 24-second video script with 4 scenes (Hook, Wonder, Reality, CTA) using Gemini 2.5 Pro Create Veo prompts – Translates each scene's visua

HTTP Request, Jwt, Google Gemini Chat +5
AI & RAG

Transform a single quote into a fully-rendered cinematic short video — with voice-over, visuals, and music — then publish it directly to TikTok, Instagram Reels, and YouTube Shorts. This isn’t just au

Agent, HTTP Request, Jwt +7
AI & RAG

Brainstorm metaphors – Takes product details (name, description, audience, value props) and generates 5 visual metaphors using Gemini 2.5 Pro Select best metaphor – Scores each metaphor on relevance,

Google Gemini Chat, Chain Llm, Output Parser Structured +5
AI & RAG

A Telegram bot that converts natural-language work descriptions into detailed cost estimates using AI parsing, vector search, and the open-source DDC CWICR database with 55,000+ construction work item

HTTP Request, Telegram, Telegram Trigger +6