Back to Catalog

Generate & publish professional video ads with Veo 3, Gemini & Creatomate

LukaszBLukaszB
162 views
2/3/2026
Official Page

Professional AI-Powered Ad Generator

Creating high-quality video ads has traditionally been one of the biggest challenges for small businesses and marketers. It usually requires a production team, editing software, and days of effort before anything is ready to publish. That makes consistency almost impossible — especially if you want to publish new ads every day.

This workflow changes the process entirely. Built in n8n, the Professional AI-Powered Ad Generator combines AI and automation to handle everything from script creation to video rendering and social media publishing. The goal is simple: allow you to create and distribute short, engaging video ads in minutes, without relying on a studio, editors, or complicated tools.


Why This Workflow Matters

Most businesses know the importance of consistent advertising, but producing daily video content has always felt out of reach. This workflow makes it practical by:

  • Automating creative tasks that normally require a writer or video editor.
  • Integrating multiple AI tools into one connected system.
  • Publishing directly to social media so your ads reach people without extra steps.

Instead of spending hours editing or outsourcing to agencies, you can now go from idea to published ad in the same amount of time it takes to write a short post.


How It Works

The process starts with a simple form where you enter your business details: name, service, offer, and call-to-action. From there, the workflow runs automatically:

1. Script Planning

AI generates a short, two-part script that feels natural and relatable.

  • Part one introduces a problem.
  • Part two presents your business as the solution, ending with a strong CTA.

2. Video Generation with Google Veo 3

Each part of the script is turned into an 8-second cinematic video clip, visually optimized for vertical platforms.

3. Character Consistency with Google Gemini

Characters are analyzed and matched across both clips, creating a smooth narrative with visual continuity.

4. Assembly with Creatomate

Both clips are merged into a 16-second vertical ad, automatically formatted for TikTok, Instagram, and YouTube Shorts.

5. Automated Publishing with Postiz

The final video is scheduled and posted to your connected social accounts.

  • Captions and titles are generated automatically.
  • No manual uploads or extra steps.

What You Gain

  • Daily publishing at scale – Generate and release multiple ads per day.
  • ⏱️ Time savings – Go from idea to ad in just minutes.
  • 📈 Consistency – Maintain a professional, frequent social presence.
  • 💰 Cost efficiency – No production crew, no software, no outsourcing.
  • 🧩 Flexibility – Ideal for local businesses, service providers, and agencies.

Honest Advantage

This workflow doesn’t replace creativity — it makes it practical. You still define the message:

  • The service
  • The offer
  • The story

But the heavy lifting — scripting, video production, visual continuity, and publishing — is automated. You focus on ideas, while the system handles execution.


Conclusion

The Professional AI-Powered Ad Generator is not a promise of magic. It’s a dependable system that helps small teams and solo entrepreneurs consistently create and publish professional ads — without the usual bottlenecks.

> From a simple brief to a polished, published ad — all in one automated flow.

Advertising, simplified. Automation, scaled.

Generate and Publish Professional Video Ads with Veo 3, Gemini, and Creatomate

This n8n workflow automates the creation and publishing of professional video ads by leveraging AI for script generation and a video automation platform for dynamic video production. It streamlines the process from content idea to final video, making it ideal for marketers, content creators, and businesses looking to scale their video ad campaigns efficiently.

What it does

This workflow simplifies the complex task of video ad creation into a few automated steps:

  1. Triggers the workflow: The workflow is manually initiated, allowing for on-demand video ad generation.
  2. Initial Data Setup: Sets up a base prompt for the AI to generate a video ad script.
  3. AI Model Selection: Routes the workflow to use either the OpenAI Chat Model or the Google Gemini Chat Model based on a defined condition (e.g., availability, preference, or specific use case).
  4. Generates Video Ad Script: Utilizes the selected AI model (either OpenAI or Google Gemini) with a "Basic LLM Chain" to generate a detailed video ad script based on the provided prompt and a structured output parser.
  5. Parses AI Output: Extracts the structured data from the AI-generated script, ensuring it's in a usable format for subsequent steps.
  6. Prepares Creatomate Request: Transforms the parsed AI output into the specific JSON format required by the Creatomate API for video generation. This includes setting up dynamic elements like text, images, and audio.
  7. Generates Video with Creatomate: Makes an HTTP request to the Creatomate API to generate the video using a predefined template and the dynamically generated script.
  8. Waits for Video Completion: Pauses the workflow execution for a specified duration (e.g., 60 seconds) to allow Creatomate to process and render the video.
  9. Retrieves Video Status: Fetches the status of the video generation from Creatomate to confirm completion.
  10. Handles Video Generation Status: Checks the status of the video generation. If the video is still rendering, it converts the current data to a file (likely for debugging or logging) and then merges the flow, potentially to retry or log the incomplete status.
  11. Processes Completed Video: If the video generation is complete, it proceeds to further steps (not fully detailed in the provided JSON, but likely involves publishing or downloading).

Prerequisites/Requirements

To use this workflow, you will need:

  • n8n Instance: A running n8n instance (cloud or self-hosted).
  • OpenAI Account & API Key (Optional): If you choose to use the OpenAI Chat Model for script generation.
  • Google Cloud Project & API Key (Optional): If you choose to use the Google Gemini Chat Model for script generation.
  • Creatomate Account & API Key: For automated video generation.
  • Creatomate Template ID: A pre-designed video template in Creatomate that the workflow will use.
  • JWT Credential: For secure authentication with Creatomate or other services if required.

Setup/Usage

  1. Import the workflow: Download the JSON provided and import it into your n8n instance.
  2. Configure Credentials:
    • Set up your OpenAI API Key credential (if using OpenAI).
    • Set up your Google Gemini API Key credential (if using Google Gemini).
    • Set up your Creatomate API Key credential.
    • Configure any necessary JWT credentials for authentication.
  3. Customize the "Edit Fields (Set)" node: Adjust the prompt value to define the initial input for your video ad script generation.
  4. Select AI Model: In the "Switch" node, ensure the condition correctly routes to your preferred AI model (OpenAI Chat Model or Google Gemini Chat Model).
  5. Configure Creatomate Request:
    • Update the "HTTP Request" node for Creatomate to use your specific Creatomate template ID and any other dynamic data you wish to pass.
    • Ensure the Authorization header includes your Creatomate API key, possibly using the JWT node if required.
  6. Adjust Wait Time: Modify the "Wait" node's duration if your Creatomate video rendering typically takes more or less than 60 seconds.
  7. Activate the workflow: Once configured, activate the workflow.
  8. Execute the workflow: Click the "Execute workflow" button in the "Manual Trigger" node to start the process.

Related Templates

Auto-create TikTok videos with VEED.io AI avatars, ElevenLabs & GPT-4

💥 Viral TikTok Video Machine: Auto-Create Videos with Your AI Avatar --- 🎯 Who is this for? This workflow is for content creators, marketers, and agencies who want to use Veed.io’s AI avatar technology to produce short, engaging TikTok videos automatically. It’s ideal for creators who want to appear on camera without recording themselves, and for teams managing multiple brands who need to generate videos at scale. --- ⚙️ What problem this workflow solves Manually creating videos for TikTok can take hours — finding trends, writing scripts, recording, and editing. By combining Veed.io, ElevenLabs, and GPT-4, this workflow transforms a simple Telegram input into a ready-to-post TikTok video featuring your AI avatar powered by Veed.io — speaking naturally with your cloned voice. --- 🚀 What this workflow does This automation links Veed.io’s video-generation API with multiple AI tools: Analyzes TikTok trends via Perplexity AI Writes a 10-second viral script using GPT-4 Generates your voiceover via ElevenLabs Uses Veed.io (Fabric 1.0 via FAL.ai) to animate your avatar and sync the lips to the voice Creates an engaging caption + hashtags for TikTok virality Publishes the video automatically via Blotato TikTok API Logs all results to Google Sheets for tracking --- 🧩 Setup Telegram Bot Create your bot via @BotFather Configure it as the trigger for sending your photo and theme Connect Veed.io Create an account on Veed.io Get your FAL.ai API key (Veed Fabric 1.0 model) Use HTTPS image/audio URLs compatible with Veed Fabric Other APIs Add Perplexity, ElevenLabs, and Blotato TikTok keys Connect your Google Sheet for logging results --- 🛠️ How to customize this workflow Change your Avatar: Upload a new image through Telegram, and Veed.io will generate a new talking version automatically. Modify the Script Style: Adjust the GPT prompt for tone (educational, funny, storytelling). Adjust Voice Tone: Tweak ElevenLabs stability and similarity settings. Expand Platforms: Add Instagram, YouTube Shorts, or X (Twitter) posting nodes. Track Performance: Customize your Google Sheet to measure your most successful Veed.io-based videos. --- 🧠 Expected Outcome In just a few seconds after sending your photo and theme, this workflow — powered by Veed.io — creates a fully automated TikTok video featuring your AI avatar with natural lip-sync and voice. The result is a continuous stream of viral short videos, made without cameras, editing, or effort. --- ✅ Import the JSON file in n8n, add your API keys (including Veed.io via FAL.ai), and start generating viral TikTok videos starring your AI avatar today! 🎥 Watch This Tutorial --- 📄 Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube

Dr. FirasBy Dr. Firas
39510

Automate invoice processing with OCR, GPT-4 & Salesforce opportunity creation

PDF Invoice Extractor (AI) End-to-end pipeline: Watch Drive ➜ Download PDF ➜ OCR text ➜ AI normalize to JSON ➜ Upsert Buyer (Account) ➜ Create Opportunity ➜ Map Products ➜ Create OLI via Composite API ➜ Archive to OneDrive. --- Node by node (what it does & key setup) 1) Google Drive Trigger Purpose: Fire when a new file appears in a specific Google Drive folder. Key settings: Event: fileCreated Folder ID: google drive folder id Polling: everyMinute Creds: googleDriveOAuth2Api Output: Metadata { id, name, ... } for the new file. --- 2) Download File From Google Purpose: Get the file binary for processing and archiving. Key settings: Operation: download File ID: ={{ $json.id }} Creds: googleDriveOAuth2Api Output: Binary (default key: data) and original metadata. --- 3) Extract from File Purpose: Extract text from PDF (OCR as needed) for AI parsing. Key settings: Operation: pdf OCR: enable for scanned PDFs (in options) Output: JSON with OCR text at {{ $json.text }}. --- 4) Message a model (AI JSON Extractor) Purpose: Convert OCR text into strict normalized JSON array (invoice schema). Key settings: Node: @n8n/n8n-nodes-langchain.openAi Model: gpt-4.1 (or gpt-4.1-mini) Message role: system (the strict prompt; references {{ $json.text }}) jsonOutput: true Creds: openAiApi Output (per item): $.message.content → the parsed JSON (ensure it’s an array). --- 5) Create or update an account (Salesforce) Purpose: Upsert Buyer as Account using an external ID. Key settings: Resource: account Operation: upsert External Id Field: taxid_c External Id Value: ={{ $json.message.content.buyer.tax_id }} Name: ={{ $json.message.content.buyer.name }} Creds: salesforceOAuth2Api Output: Account record (captures Id) for downstream Opportunity. --- 6) Create an opportunity (Salesforce) Purpose: Create Opportunity linked to the Buyer (Account). Key settings: Resource: opportunity Name: ={{ $('Message a model').item.json.message.content.invoice.code }} Close Date: ={{ $('Message a model').item.json.message.content.invoice.issue_date }} Stage: Closed Won Amount: ={{ $('Message a model').item.json.message.content.summary.grand_total }} AccountId: ={{ $json.id }} (from Upsert Account output) Creds: salesforceOAuth2Api Output: Opportunity Id for OLI creation. --- 7) Build SOQL (Code / JS) Purpose: Collect unique product codes from AI JSON and build a SOQL query for PricebookEntry by Pricebook2Id. Key settings: pricebook2Id (hardcoded in script): e.g., 01sxxxxxxxxxxxxxxx Source lines: $('Message a model').first().json.message.content.products Output: { soql, codes } --- 8) Query PricebookEntries (Salesforce) Purpose: Fetch PricebookEntry.Id for each Product2.ProductCode. Key settings: Resource: search Query: ={{ $json.soql }} Creds: salesforceOAuth2Api Output: Items with Id, Product2.ProductCode (used for mapping). --- 9) Code in JavaScript (Build OLI payloads) Purpose: Join lines with PBE results and Opportunity Id ➜ build OpportunityLineItem payloads. Inputs: OpportunityId: ={{ $('Create an opportunity').first().json.id }} Lines: ={{ $('Message a model').first().json.message.content.products }} PBE rows: from previous node items Output: { body: { allOrNone:false, records:[{ OpportunityLineItem... }] } } Notes: Converts discount_total ➜ per-unit if needed (currently commented for standard pricing). Throws on missing PBE mapping or empty lines. --- 10) Create Opportunity Line Items (HTTP Request) Purpose: Bulk create OLIs via Salesforce Composite API. Key settings: Method: POST URL: https://<your-instance>.my.salesforce.com/services/data/v65.0/composite/sobjects Auth: salesforceOAuth2Api (predefined credential) Body (JSON): ={{ $json.body }} Output: Composite API results (per-record statuses). --- 11) Update File to One Drive Purpose: Archive the original PDF in OneDrive. Key settings: Operation: upload File Name: ={{ $json.name }} Parent Folder ID: onedrive folder id Binary Data: true (from the Download node) Creds: microsoftOneDriveOAuth2Api Output: Uploaded file metadata. --- Data flow (wiring) Google Drive Trigger → Download File From Google Download File From Google → Extract from File → Update File to One Drive Extract from File → Message a model Message a model → Create or update an account Create or update an account → Create an opportunity Create an opportunity → Build SOQL Build SOQL → Query PricebookEntries Query PricebookEntries → Code in JavaScript Code in JavaScript → Create Opportunity Line Items --- Quick setup checklist 🔐 Credentials: Connect Google Drive, OneDrive, Salesforce, OpenAI. 📂 IDs: Drive Folder ID (watch) OneDrive Parent Folder ID (archive) Salesforce Pricebook2Id (in the JS SOQL builder) 🧠 AI Prompt: Use the strict system prompt; jsonOutput = true. 🧾 Field mappings: Buyer tax id/name → Account upsert fields Invoice code/date/amount → Opportunity fields Product name must equal your Product2.ProductCode in SF. ✅ Test: Drop a sample PDF → verify: AI returns array JSON only Account/Opportunity created OLI records created PDF archived to OneDrive --- Notes & best practices If PDFs are scans, enable OCR in Extract from File. If AI returns non-JSON, keep “Return only a JSON array” as the last line of the prompt and keep jsonOutput enabled. Consider adding validation on parsing.warnings to gate Salesforce writes. For discounts/taxes in OLI: Standard OLI fields don’t support per-line discount amounts directly; model them in UnitPrice or custom fields. Replace the Composite API URL with your org’s domain or use the Salesforce node’s Bulk Upsert for simplicity.

Le NguyenBy Le Nguyen
942

AI-powered code review with linting, red-marked corrections in Google Sheets & Slack

Advanced Code Review Automation (AI + Lint + Slack) Who’s it for For software engineers, QA teams, and tech leads who want to automate intelligent code reviews with both AI-driven suggestions and rule-based linting — all managed in Google Sheets with instant Slack summaries. How it works This workflow performs a two-layer review system: Lint Check: Runs a lightweight static analysis to find common issues (e.g., use of var, console.log, unbalanced braces). AI Review: Sends valid code to Gemini AI, which provides human-like review feedback with severity classification (Critical, Major, Minor) and visual highlights (red/orange tags). Formatter: Combines lint and AI results, calculating an overall score (0–10). Aggregator: Summarizes results for quick comparison. Google Sheets Writer: Appends results to your review log. Slack Notification: Posts a concise summary (e.g., number of issues and average score) to your team’s channel. How to set up Connect Google Sheets and Slack credentials in n8n. Replace placeholders (<YOURSPREADSHEETID>, <YOURSHEETGIDORNAME>, <YOURSLACKCHANNEL_ID>). Adjust the AI review prompt or lint rules as needed. Activate the workflow — reviews will start automatically whenever new code is added to the sheet. Requirements Google Sheets and Slack integrations enabled A configured AI node (Gemini, OpenAI, or compatible) Proper permissions to write to your target Google Sheet How to customize Add more linting rules (naming conventions, spacing, forbidden APIs) Extend the AI prompt for project-specific guidelines Customize the Slack message formatting Export analytics to a dashboard (e.g., Notion or Data Studio) Why it’s valuable This workflow brings realistic, team-oriented AI-assisted code review to n8n — combining the speed of automated linting with the nuance of human-style feedback. It saves time, improves code quality, and keeps your team’s review history transparent and centralized.

higashiyama By higashiyama
90