by Nadia Privalikhina
This n8n template offers a free and automated way to convert images from a Google Drive folder into a single PDF document. It uses Google Slides as an intermediary, allowing you to control the final PDF's page size and orientation. If you're looking for a no-cost solution to batch convert images to PDF and need flexibility over the output dimensions (like A4, landscape, or portrait), this template is for you! It's especially handy for creating photo albums, visual reports, or simple portfolios directly from your Google Drive. How it works The workflow first copies a Google Slides template you specify. The page setup of this template (e.g., A4 Portrait) dictates your final PDF's dimensions. It then retrieves all images from a designated Google Drive folder, sorts them by creation date. Each image is added to a new slide in the copied presentation. Finally, the entire Google Slides presentation is converted into a PDF and saved back to your Google Drive. How to use Connect your Google Drive and Google Slides accounts in the relevant nodes. In the "Set Pdf File Name" node, define the name for your output PDF. In the "CopyPdfTemplate" node: Select your Google Slides template file (this sets the PDF page size/orientation). Choose the Google Drive folder containing your source images. Ensure your images are in the specified folder. For best results, images should have an aspect ratio similar to your chosen Slides template. Run the workflow to generate your PDF by clicking 'Test Workflow' Requirements Google Drive account. Google Slides account. Google Slides Template stored on your Google Drive Customising this workflow Adjust the "Filter: Only Images" node if you use image formats other than PNG (e.g., image/jpeg for JPGs). Modify the image sorting logic in the "Sort by Created Date" node if needed.
by Nick Saraev
AI Facebook Ad Spy Tool with Apify, OpenAI, Gemini & Google Sheets Categories: Competitive Intelligence, Marketing Automation, AI Analysis This workflow creates a comprehensive Facebook ad spy tool that scrapes competitor ads from Facebook's ad library and generates detailed analysis with rewritten versions. The system processes text, image, and video ads using different AI models, providing strategic intelligence for PPC agencies and marketers. Built to be sold as a premium service for $2,000+, this tool combines web scraping, multi-modal AI analysis, and competitor intelligence into one powerful automation. Benefits Complete Competitive Intelligence** - Analyze competitor strategies across all ad formats (text, image, video) Multi-Modal AI Analysis** - Uses GPT-4 Vision for images and Gemini for video content understanding Automated Ad Rewriting** - Generates inspired variations of successful competitor ads Quality Filtering** - Targets high-performing advertisers with significant page likes Scalable Processing** - Handle hundreds of competitor ads with detailed strategic analysis Premium Service Potential** - Easily sold to agencies and marketers for $2,000+ implementations How It Works Facebook Ad Library Scraping: Connects to Facebook's public ad library through Apify's specialized scraper Searches for active ads using customizable keywords and targeting parameters Extracts comprehensive ad data including creative assets, targeting info, and engagement metrics Filters results to focus on high-quality advertisers with substantial page followings Intelligent Content Routing: Automatically categorizes ads into text-only, image-based, or video content types Routes each ad type to specialized processing pipelines optimized for that content format Ensures appropriate AI models are used for each type of creative analysis Maintains data integrity while processing different content formats simultaneously Advanced Video Analysis Pipeline: Downloads video ads directly from Facebook's content delivery network Uploads videos to Google Drive for temporary storage and processing Initiates Gemini AI video upload sessions for multi-modal analysis Uses Gemini's advanced video understanding to generate detailed content descriptions Processes video narrative, visual elements, messaging strategy, and target audience insights Image and Text Processing: Analyzes image ads using GPT-4 Vision for comprehensive visual content understanding Processes text-only ads using GPT-4 for messaging strategy and copywriting analysis Identifies key persuasion techniques, target demographics, and messaging frameworks Generates detailed competitive intelligence reports for each ad format Strategic Intelligence Generation: Creates comprehensive summaries analyzing competitor messaging strategies and target audiences Generates rewritten ad copy that captures successful elements while avoiding direct copying Produces recreation prompts for images and videos that can be used with AI generation tools Organizes all insights in structured Google Sheets database for easy analysis and reporting Required Setup Configuration Apify Integration: Sign up for Apify account and obtain API key Replace <your-apify-api-key-here> in "Run Ad Library Scraper" node Customize Facebook Ad Library search URLs with your target keywords and regions AI Service Configuration: OpenAI API**: Set up for text analysis and image understanding with GPT-4 Vision Gemini API**: Configure for advanced video content analysis and description Replace <your-gemini-api-key-here> in all Gemini-related nodes Google Services Setup: Google Drive**: Configure OAuth for temporary video storage during Gemini processing Google Sheets**: Create results database with proper column structure for ad intelligence storage Facebook Ad Library Search Configuration: Customize the search parameters in the Apify scraper Google Sheets Database Structure: Create a sheet with these columns: ad_archive_id - Unique Facebook ad identifier page_id - Advertiser's Facebook page ID page_name - Advertiser's business name page_url - Link to advertiser's Facebook page type - Ad format (text, image, or video) date_added - When ad was analyzed summary - Detailed competitive intelligence analysis rewritten_ad_copy - AI-generated inspired version image_prompt - Description for recreating image ads video_prompt - Description for recreating video ads Business Use Cases PPC Agencies - Offer comprehensive competitor analysis services to clients for strategic advantage Marketing Teams - Research competitor strategies and messaging before launching new campaigns E-commerce Businesses - Analyze successful ads in your industry for creative inspiration SaaS Companies - Study how competitors position their products and target audiences Course Creators - Research educational content marketing approaches and messaging strategies Affiliate Marketers - Identify successful promotional strategies and high-converting ad formats Difficulty Level: Advanced Estimated Build Time: 3-4 hours Monthly Operating Cost: ~$200 (Apify + OpenAI + Gemini + Google Workspace APIs) Watch My Complete Build Process Want to see exactly how I built this entire Facebook ad spy system from scratch? I walk through the complete development process live, including API integrations, multi-modal AI setup, error handling, and the exact business strategy for selling this as a premium service. π₯ Watch My Live Build: "Build A Facebook Ads Spy Tool With N8N (Sell for $2k+)" This comprehensive tutorial shows the real development process - including complex API orchestration, multi-modal AI integration, and proven strategies for monetizing competitive intelligence systems. Set Up Steps Apify Scraper Configuration: Set up Apify account and configure Facebook Ad Library scraper Customize search parameters for your target industries and regions Configure result limits and filtering parameters for quality control Test scraper with sample searches to verify data quality Multi-Modal AI Setup: Configure OpenAI API credentials for text and image analysis Set up Gemini API access for advanced video content understanding Configure appropriate rate limits and error handling for API stability Test AI analysis with sample ads to optimize prompt quality Google Services Integration: Set up Google Drive OAuth for temporary video storage during processing Create Google Sheets database with proper column structure for intelligence storage Configure sharing permissions and access controls for team collaboration Test complete data flow from scraping to final intelligence reports Quality Control and Filtering: Configure page likes threshold in "Filter For Likes" node (recommend 1,000+ for quality) Adjust content routing logic in Switch node based on your analysis needs Set up error handling and retry logic for reliable large-scale processing Test complete workflow with various ad types to ensure proper routing Advanced Customization: Customize AI prompts for your specific industry analysis needs Configure additional filtering criteria beyond page likes Set up automated scheduling for regular competitor monitoring Add custom fields to database for tracking specific competitive metrics Advanced Features Scale the system with additional capabilities: Industry-Specific Analysis - Customize prompts and filters for different verticals Trend Tracking - Monitor messaging changes over time for strategic insights Performance Correlation - Cross-reference ad engagement with business outcomes Alert Systems - Notify when competitors launch new campaign types Custom Reporting - Generate client-ready intelligence reports automatically Integration Extensions - Connect to CRM and marketing platforms for strategic workflow Important Considerations API Rate Limits - Built-in delays and error handling prevent service interruptions Content Rights - System generates inspired variations, not direct copies, for legal compliance Data Storage - Organize intelligence database for easy client reporting and analysis Scalability - Batch processing handles hundreds of ads efficiently without blocking Quality Assurance - Filtering logic ensures analysis focuses on successful, high-quality advertisers Why This System Works The competitive advantage lies in comprehensive multi-modal analysis: Complete format coverage - analyzes text, image, and video ads with appropriate AI models Strategic depth - goes beyond basic scraping to provide actionable intelligence Automation scale - processes competitor research that would take weeks manually Premium positioning - advanced AI analysis justifies higher service pricing Immediate value - clients receive actionable insights within hours of setup Check Out My Channel For more advanced automation systems that generate real business results and premium service opportunities, explore my YouTube channel where I share proven strategies for building profitable automation businesses.
by VEED
Create AI screencast videos with VEED and automated slides Overview This n8n workflow automatically generates presentation-style "screen recording" videos with AI-generated slides and a talking head avatar overlay. You provide a topic and intention, and the workflow handles everything: scriptwriting, slide generation, avatar creation, voiceover, and video composition. Output: Horizontal (16:9) AI-generated videos with animated slides as the main content and a lip-synced avatar in picture-in-picture, ready for YouTube, LinkedIn, or professional presentations. What It Does Topic + Intention β Claude writes script β Parallel processing: βββ OpenAI generates avatar β ElevenLabs voiceover β VEED lip-sync βββ FAL Flux Pro generates slides β Creatomate composites everything β Saved to Google Drive + logged to Sheets Pipeline Breakdown | Step | Tool | What Happens | |------|------|--------------| | 1. Script Generation | Claude Sonnet 4 | Creates hook, script (25-40 sec), slide prompts, caption, and avatar description | | 2. Avatar Generation | OpenAI gpt-image-1 | Generates photorealistic portrait image (1024Γ1536) | | 3. Slide Generation | FAL Flux Pro | Creates 5-7 professional slides (1920Γ1080) with text overlays | | 4. Voiceover | ElevenLabs | Converts script to natural speech (multiple voice options) | | 5. Talking Head | VEED Fabric 1.0 | Lip-syncs avatar to audio, creates 9:16 talking head video | | 6. Video Composition | Creatomate | Combines slides + avatar in 16:9 PiP layout | | 7. Storage | Google Drive | Uploads final MP4 | | 8. Logging | Google Sheets | Records all metadata (script, caption, URLs, timestamps) | Required Connections API Keys (entered in Configuration node) | Service | Key Type | Where to Get | |---------|----------|--------------| | Anthropic | API Key | https://console.anthropic.com/settings/keys | | OpenAI | API Key | https://platform.openai.com/api-keys | | ElevenLabs | API Key | https://elevenlabs.io/app/settings/api-keys | | FAL.ai | API Key | https://fal.ai/dashboard/keys | | Creatomate | API Key | https://creatomate.com/dashboard/settings | > β οΈ OpenAI Note: gpt-image-1 requires organization verification. Go to https://platform.openai.com/settings/organization/general to verify. n8n Credentials (connect in n8n) | Node | Credential Type | Purpose | |------|-----------------|---------| | π¬ Generate Talking Head (VEED) | FAL.ai API | VEED video rendering | | π€ Upload to Drive | Google Drive OAuth2 | Store final videos | | π Log to Sheets | Google Sheets OAuth2 | Track all generated content | Configuration Options Edit the βοΈ Workflow Configuration node to customize: { // π CONTENT SETTINGS topic: "How AI is transforming content creation", intention: "informative", // informative, lead_generation, disruption brand_name: "YOUR_BRAND_NAME", target_audience: "sales teams and marketers", trending_hashtags: "#AIvideo #ContentCreation #VideoMarketing", // π¨ SLIDE STYLE slide_style: "vibrant_colorful", // See slide styles below // π₯ VIDEO SETTINGS video_resolution: "720p", // VEED only supports 720p seconds_per_slide: 6, // How long each slide shows // πΌοΈ BACKGROUND (Optional) background: "", // URL, gradient array, or empty // π API KEYS (Required) anthropic_api_key: "YOUR_ANTHROPIC_API_KEY", openai_api_key: "YOUR_OPENAI_API_KEY", elevenlabs_api_key: "YOUR_ELEVENLABS_API_KEY", creatomate_api_key: "YOUR_CREATOMATE_API_KEY", fal_api_key: "YOUR_FAL_API_KEY", // π€ VOICE SELECTION voice_selection: "susie", // cristina, enrique, susie, jeff, custom // π¨ AVATAR OPTIONS (Optional) custom_avatar_description: "", // Leave empty for AI-generated custom_avatar_image_url: "", // Direct URL to use existing image // π CUSTOM SCRIPT (Optional) custom_script: "" // Leave empty for AI-generated } Slide Style Options | Style | Description | Best For | |-------|-------------|----------| | dark_professional | Dark gradients, white text, sleek look | Tech, SaaS, premium brands | | light_modern | Light backgrounds, dark text, clean | Corporate, educational | | vibrant_colorful | Bold colors, energetic, eye-catching | Social media, startups | | minimalist | Lots of whitespace, simple, elegant | Luxury, professional services | | tech_corporate | Blue tones, geometric shapes | Enterprise, B2B | Background Options | Type | Example | Description | |------|---------|-------------| | None | "" | Full bleed layout, slides take 78% width | | URL | "https://example.com/bg.jpg" | Image background with margins | | Gradient | ["#ff6b6b", "#feca57", "#48dbfb"] | Gradient background with margins | Voice Options | Voice | Language | Description | |-------|----------|-------------| | cristina | Spanish | Female voice | | enrique | Spanish | Male voice | | susie | English | Female voice (default) | | jeff | English | Male voice | | custom | Any | Use your ElevenLabs voice clone ID | Intention Types | Intention | Content Style | Best For | |-----------|---------------|----------| | informative | Educational, value-driven, builds trust | Thought leadership, tutorials | | lead_generation | Creates curiosity, soft CTA | Product awareness, funnels | | disruption | Bold, provocative, scroll-stopping | Viral potential, brand awareness | Custom Avatar & Script Options Custom Avatar Description Leave custom_avatar_description empty to let Claude decide, or provide your own: custom_avatar_description: "female marketing influencer, cool, working in tech" Examples: "a woman in her 20s with gym clothes" "a bearded man in his 30s wearing a hoodie" "a professional woman with glasses in business casual" Custom Avatar Image URL Skip avatar generation entirely by providing a direct URL: custom_avatar_image_url: "https://example.com/my-avatar.png" > Image should be portrait orientation, high quality, with the subject looking at camera. Custom Script Leave custom_script empty to let Claude write it, or provide your own: custom_script: "This is my custom script. AI is changing how we create content..." Guidelines for custom scripts: Keep it 25-40 seconds when read aloud (60-100 words) Avoid special characters for TTS compatibility Write naturally, as if speaking Behavior Matrix | custom_avatar_description | custom_avatar_image_url | custom_script | What Claude Generates | |---------------------------|-------------------------|---------------|----------------------| | Empty | Empty | Empty | Avatar + Script + Slides + Caption | | Provided | Empty | Empty | Script + Slides + Caption | | Empty | Provided | Empty | Script + Slides + Caption | | Empty | Empty | Provided | Avatar + Slides + Caption | | Provided | Provided | Provided | Slides + Caption only | Video Layout The final video uses a picture-in-picture (PiP) layout: Without Background (Full Bleed) βββββββββββββββββββββββββββββββββββ¬βββββββ β β β β β β β SLIDES (78%) βAVATARβ β β(22%) β β β β β β β βββββββββββββββββββββββββββββββββββ΄βββββββ With Background (Margins + Rounded Corners) βββββββββββββββββββββββββββββββββββββββββββ β BG βββββββββββββββββββββββββββββ ββββββ β β β β β β β β β SLIDES (74%) β βAVA β β β β β βTAR β β β β β β20% β β β βββββββββββββββββββββββββββββ ββββββ β βββββββββββββββββββββββββββββββββββββββββββ Output Per Video Generated | Asset | Format | Location | |-------|--------|----------| | Final Video | MP4 (1920Γ1080, 60fps) | Google Drive folder | | Avatar Image | PNG (1024Γ1536) | tmpfiles.org (temporary) | | Slide Images | PNG (1920Γ1080) | FAL CDN (temporary) | | Voiceover | MP3 | tmpfiles.org (temporary) | | Metadata | Row entry | Google Sheets | Google Sheets Columns | Column | Description | |--------|-------------| | topic | Video topic | | intention | Content intention used | | brand_name | Brand mentioned | | slide_style | Visual style used | | content_theme | 2-3 word theme summary | | script | Full voiceover script | | caption | Ready-to-post caption with hashtags | | num_slides | Number of slides generated | | video_url | Google Drive link to final video | | avatar_video_url | VEED talking head video URL | | audio_url | Temporary audio URL | | status | done/error | | created_at | Timestamp | Estimated Costs Per Video | Service | Usage | Approximate Cost | |---------|-------|------------------| | Claude Sonnet 4 | 2K tokens | $0.01 | | OpenAI gpt-image-1 | 1 image (1024Γ1536) | ~$0.04-0.08 | | FAL Flux Pro | 5-7 images (1920Γ1080) | ~$0.10-0.15 | | ElevenLabs | 100 words | $0.01-0.02 | | VEED/FAL.ai | 1 video render | ~$0.10-0.20 | | Creatomate | 1 video composition | ~$0.10-0.20 | | Total | | ~$0.35-0.65 per video | > Costs vary based on script length and current API pricing. Setup Checklist Step 1: Import Workflow [ ] Import create-ai-screencast-videos-with-veed-and-automated-slides.json into n8n Step 2: Configure API Keys [ ] Open the βοΈ Workflow Configuration node [ ] Replace all YOUR_*_API_KEY placeholders with your actual API keys [ ] Verify your OpenAI organization at https://platform.openai.com/settings/organization/general Step 3: Connect n8n Credentials [ ] Click on π¬ Generate Talking Head (VEED) node β Add FAL.ai credential [ ] Click on π€ Upload to Drive node β Add Google Drive OAuth2 credential [ ] Click on π Log to Sheets node β Add Google Sheets OAuth2 credential Step 4: Configure Storage [ ] Update the π€ Upload to Drive node with your Google Drive folder URL [ ] Update the π Log to Sheets node with your Google Sheets URL [ ] Create column headers in your Google Sheet (see Output section) Step 5: Customize Content [ ] Update topic, brand_name, target_audience, and trending_hashtags [ ] Choose your preferred slide_style and voice_selection [ ] Optionally configure background, custom_avatar_description, and/or custom_script Step 6: Test [ ] Execute the workflow [ ] Check Google Drive for the output video [ ] Verify metadata was logged to Google Sheets MCP Integration (Optional) This workflow can be exposed to Claude Desktop via n8n's Model Context Protocol (MCP) integration. To enable MCP: Add a Webhook Trigger node to the workflow (in addition to the Manual Trigger) Connect it to the βοΈ Workflow Configuration node Go to Settings β Instance-level MCP β Enable the workflow Configure Claude Desktop with your n8n MCP server URL Claude Desktop Configuration (Windows): { "mcpServers": { "n8n-mcp": { "command": "supergateway", "args": [ "--streamableHttp", "https://YOUR_N8N_INSTANCE.app.n8n.cloud/mcp-server/http", "--header", "authorization:Bearer YOUR_MCP_ACCESS_TOKEN" ] } } } > Note: Install supergateway globally first: npm install -g supergateway Limitations & Notes Technical Limitations tmpfiles.org**: Temporary file URLs expire after ~1 hour. Final videos are safe in Google Drive. VEED processing**: Takes 1-3 minutes for the talking head. Creatomate processing**: Takes 30-60 seconds for composition. Total workflow time**: ~3-5 minutes per video. Content Considerations Scripts are optimized for 25-40 seconds (TTS-friendly) Avatar images are AI-generated (not real people) Slides are dynamically generated based on script length Slide count: 5-7 slides depending on script duration Best Practices Start simple: Test with default settings before customizing Review scripts: Claude generates good content but review before posting Monitor costs: Check API usage dashboards weekly Use backgrounds: Adding a background image creates a more polished look Match voice to content: Use Spanish voices for Spanish content Troubleshooting | Issue | Solution | |-------|----------| | "Organization must be verified" | Verify at platform.openai.com/settings/organization/general | | VEED authentication error | Re-add FAL.ai credential to VEED node | | Google Drive "no binary field" | Ensure Download Video outputs to binary field | | JSON parse error from Claude | Workflow has fallback content; check Claude node output | | Slides not matching script | Increase seconds_per_slide for fewer slides | | Avatar cut off in PiP | Avatar is designed for right-side placement | | MCP "Server disconnected" | Install supergateway globally: npm install -g supergateway | | Render timeout | Increase wait time in "β³ Wait for Render" node | Version History | Version | Date | Changes | |---------|------|---------| | 2.1 | Jan 2026 | Renamed workflow, improved documentation with section sticky notes, consolidated setup information | | 2.0 | Jan 2026 | Added dynamic slide count, background options, FAL Flux Pro for slides, improved PiP layout | | 1.0 | Jan 2026 | Initial release with fixed slide count, basic composition | Credits Built with: n8n** - Workflow automation Anthropic Claude** - Script & slide prompt generation OpenAI** - Avatar image generation FAL.ai** - Slide image generation (Flux Pro) ElevenLabs** - Voice synthesis VEED Fabric** - AI lip-sync video rendering Creatomate** - Video composition Google Workspace** - Storage & logging
by Lakshit Ukani
One-way sync between Telegram, Notion, Google Drive, and Google Sheets Who is this for? This workflow is perfect for productivity-focused teams, remote workers, virtual assistants, and digital knowledge managers who receive documents, images, or notes through Telegram and want to automatically organize and store them in Notion, Google Drive, and Google Sheetsβwithout any manual work. What problem is this workflow solving? Managing Telegram messages and media manually across different tools like Notion, Drive, and Sheets can be tedious. This workflow automates the classification and storage of incoming Telegram content, whether itβs a text note, an image, or a document. It saves time, reduces human error, and ensures that media is stored in the right place with metadata tracking. What this workflow does Triggers on a new Telegram message** using the Telegram Trigger node. Classifies the message type** using a Switch node: Text messages are appended to a Notion block. Images are converted to base64, uploaded to imgbb, and then added to Notion as toggle-image blocks. Documents are downloaded, uploaded to Google Drive, and the metadata is logged in Google Sheets. Sends a completion confirmation** back to the original Telegram chat. Setup Telegram Bot: Set up a bot and get the API token. Notion Integration: Share access to your target Notion page/block. Use the Notion API credentials and block ID where content should be appended. Google Drive & Sheets: Connect the relevant accounts. Select the destination folder and spreadsheet. imgbb API: Obtain a free API key from imgbb. Replace placeholder credential IDs and asset URLs as needed in the imported workflow. How to customize this workflow to your needs Change Storage Locations**: Update the Notion block ID or Google Drive folder ID. Switch Google Sheet to log in a different file or sheet. Add More Filters**: Use additional Switch rules to handle other Telegram message types (like videos or voice messages). Modify Response Message**: Personalize the Telegram confirmation text based on the file type or sender. Use a different image hosting service** if you donβt want to use imgbb.
by Luke
Automatically backs up your workflows to Github and generates documentation in a Notion database. Weekly run, uses the "internal-infra" tag to look for new or recently modified workflows Uses a Notion database page to hold the workflow summary, last updated date, and a link to the workflow Uses OpenAI's 4o-mini to generate a summarization of what the workflow does Stores a backup of the workflow in GitHub (recommend a private repo) Sends notification to Slack channel for new or updated workflows Who is this for Anyone seeking backup of their most important workflows Anyone seeking version control for their most important workflows Credentials required N8N: You will need an N8N credential created so the workflow can query the N8N instance to find all active workflows with the "internal-infra" tag Notion: You will need an Notion credential created OpenAI: You will need an OpenAI credential, unless you intend on rewiring this with your AI of choice (ollama, openrouter, etc.) GitHub: You will need an GitHub credential Slack: You will require an Slack credential, recommend a Bot / access token configuration Setup Notion Create a database with the following columns. Column type is specified in [type]. Workflow Name [text] isActive (dev) [checkbox] Error workflow setup [checkbox] AI Summary [text] Record last update [date/time] URL (dev) [text/url] Workflow created at [date/time] Workflow updated at [date/time] Slack Create a channel for updates to be posted into Github Create a private repo for your workflows to be exported into N8N Download & install the template Configure the blocks to use your N8N, Notion, OpenAI & Slack credentials for your own Edit the "Set Fields" block and change the URL to that of your N8N instance (cloud or self-hosted) Edit the "Add to Notion" action and specify the Database page you wish to update Edit the Slack actions to specify the Channel you want slack notifications posted to Edit the GitHub actions to specify the Repository Owner & Repository Name Sample output in Notion Workflow diagram
by Jaruphat J.
β οΈ Important Disclaimer: This template is only compatible with a self-hosted n8n instance using a community node. Who is this for? This workflow is ideal for digital content creators, marketers, social media managers, and automation enthusiasts who want to produce fully automated vertical video content featuring inspirational or motivational quotes. Specifically tailored for Thai language, it effectively demonstrates integration of AI-generated imagery, video, ambient sound, and visually appealing quote overlays. What problem is this workflow solving? Manually creating high-quality, vertically formatted quote videos is often repetitive, time-consuming, and involves multiple tedious steps like selecting suitable visuals, editing audio tracks, and correctly overlaying text. Additionally, manual uploading to platforms like YouTube and maintaining accurate content records are prone to errors and inefficiencies. What this workflow does: Fetches a quote, author, and scenic background description from a Google Sheet. Automatically generates a vertical background image using the Flux AI (txt2img) API. Transforms the AI-generated image into a subtly animated cinematic vertical video using the Kling video-generation API. Generates an immersive, ambient background sound using ElevenLabsβ sound generation API. Dynamically overlays the selected Thai-language quote and author text onto the generated video using FFmpeg, ensuring visually appealing typography (e.g., Kanit font). Automatically uploads the final video to YouTube. Updates the resulting YouTube video URL back to the Google Sheet, keeping your content records current and well-organized. Setup Requirements: This workflow requires a self-hosted n8n instance, as the execution of FFmpeg commands is not supported on n8n Cloud. Ensure FFmpeg is installed on your self-hosted environment. API keys and accounts setup for Flux, Kling, ElevenLabs, Google Sheets, Google Drive, and YouTube. Google Sheets Setup: Your Google Sheet must include these columns: Index** Unique identifier for each quote Quote (Thai)** Quote text in Thai language (or your chosen language) Pen Name (Thai)** Author or pen name of the quote's creator Background (EN)** Short English description of the scene (e.g., "sunrise over mountains") Prompt (EN)** Detailed English prompt describing the image/video scene (e.g., "peaceful sunrise with misty mountains") Background Image** URL of AI-generated image (updated automatically) Background Video** URL of generated video (updated automatically) Music Background** URL of generated ambient audio (updated automatically) Video Status** YouTube URL (updated automatically after upload) A ready-to-use Google Sheets template is provided [here (provide your actual link)]. To help you get started quickly, you can use this template spreadsheet. Next steps: Authenticate Google Sheets, Google Drive, YouTube API, Flux AI, Kling API, and ElevenLabs API within n8n. Ensure FFmpeg supports fonts compatible with your chosen language (for Thai, "Kanit" font is recommended). Prepare your Google Sheets with desired quotes, authors, and image/video prompts. How to customize this workflow to your needs: Fonts:** Adjust font type, size, color, and positioning within the provided FFmpeg commands in the workflowβs code nodes. Verify that selected fonts properly support your target language. Media Customization:** Customize the scene descriptions in your Google Sheet to change image/video backgrounds automatically generated by AI. Quote Management:** Easily manage, add, or update quotes and associated details directly via Google Sheets without workflow modifications. Audio Ambiance:** Customize or adjust the ambient sound prompt for ElevenLabs within the workflowβs HTTP Request node to match your video's desired mood. Benefits of using AI-generated content and localized fonts: Leveraging AI-generated visual and audio elements along with localized fonts greatly enhances audience engagement by creating visually appealing, professional-quality content tailored specifically for your target audience. This automated workflow drastically reduces production time and manual effort, enabling rapid, consistent content creation optimized for platforms such as YouTube Shorts, Instagram Reels, and TikTok.
by InfraNodus
This template can be used to find the content gaps in PDF documents using the InfraNodus knowledge graph / GraphRAG text representation and then generate ideas / questions / AI prompts that bridge those gaps based on optimizing the knowledge graph's structure. Simply upload several PDF files (research papers, corporate or market reports, etc) and generate an idea in seconds. The template is useful for: generating ideas / questions for research generating content ideas based on competitors' discourse finding blind spots in any discourse and generating ideas that address them. avoiding the generic bias of LLM models and focusing on what's important in your particular context What are Content Gaps and Knowledge Graphs? Knowledge graphs represent any text as a network: the main concepts are the nodes, their co-occurrences are the connections between them. Based on this representation, we build a graph and apply network science metrics to rank the most important nodes (concepts) that serve as the crossroads of meaning and also the main topical clusters that they connect. Naturally, some of the clusters will be disconnected and will have gaps between them. These are the topics (groups of concepts) that exist in this context (the documents you uploaded) but that are not very well connected. Addressing those gaps can help you see which groups of concepts you could connect with your own ideas. This is exactly what InfraNodus does: builds the structure, finds the gaps, then uses the built-in AI to generate research questions and ideas that bridge those gaps. How it works 1) Step 1: First, you upload your PDF files using an online web form, which you can run from n8n or even make publicly available. 2) Steps 2-4: The documents are processed using the Code and PDF to Text nodes to extract plain text from them. 3) Step 5: This text is then sent to the InfraNodus GraphRAG node that creates a knowledge graph, identifies structural gaps in this graph, and then uses built-in AI to generate ideas or research questions / prompts (if you use the InfraNodus question module instead). 4) Step 6: The ideas are then shown to the user in the same web form. Optionally, you can hook this template to your own workflow and send the idea / question generated to your own AI model / agent for further processing. If you'd like to sync this workflow to PDF files in a Google Drive folder, you can copy our Google Drive PDF processing workflow for n8n. How to use You need an InfraNodus GraphRAG API account and key to use this workflow. Create an InfraNodus account Get the API key at https://infranodus.com/api-access and create a Bearer authorization key. Add this key into the InfraNodus GraphRAG HTTP node(s) you use in this workflow. You do not need any OpenAI keys for this to work. Optionally, you can change the settings in the Step 4 of this workflow and enforce it to always use the biggest gap it identifies. Requirements An InfraNodus account and API key Note: OpenAI key is not required. You will have direct access to the InfraNodus AI with the API key. Customizing this workflow You can use this same workflow with a Telegram bot or Slack (to be notified of the summaries and ideas). You can also hook up automated social media content creation workflows in the end of this template, so you can generate posts that are relevant (covering the important topics in your niche) but also novel (because they connect them in a new way). Check out our n8n templates for ideas at https://n8n.io/creators/infranodus/ Also check the full tutorial with a conceptual explanation at https://support.noduslabs.com/hc/en-us/articles/20454382597916-Beat-Your-Competition-Target-Their-Content-Gaps-with-this-n8n-Automation-Workflow Also check out the video introduction to InfraNodus to better understand how knowledge graphs and content gaps work: For support and help with this workflow, please, contact us at https://support.noduslabs.com
by Evoort Solutions
πΌοΈ Text-to-Image Generator using n8n + Flux AI This n8n workflow automates image generation from text prompts using the Text-to-Image Flux AI API. It reads prompts from Google Sheets, generates images via API, uploads them to Google Drive, and logs the outcome. π Key Features Integrates with Text-to-Image Flux AI on RapidAPI Converts base64 image data to downloadable files Stores images on Google Drive Updates logs and errors back into Google Sheets Skips prompts already processed π Google Sheet Column Structure Your source Google Sheet should include the following columns: | Column Name | Description | |-------------------|--------------------------------------------------| | Prompt | The text prompt to generate an image from | | drive path | (Optional) File path or URL of saved image | | Generated Date | Date/time the image was generated | | Base64 | Base64 string or error message (for logging) | Only rows with a non-empty Prompt and empty drive path will be processed. π Use Case Perfect for: Bulk AI image generation for content marketing Creative automation with prompt-based image creation Building image assets based on structured datasets Any workflow where prompts are tracked via Google Sheets Uses the Text-to-Image Flux AI API to generate high-quality images on demand. π§ Workflow Summary | Step | Node | Description | |------|------|-------------| | 1 | Manual Trigger | Manually start the workflow | | 2 | Google Sheets2 | Reads prompts from Google Sheets | | 3 | Loop Over Items | Processes rows one by one | | 4 | If2 | Skips rows that already have images | | 5 | HTTP Request1 | Calls Text-to-Image Flux AI via RapidAPI | | 6 | Code1 | Converts base64 image to binary file | | 7 | Google Drive1 | Uploads the image file to a Drive folder | | 8 | Google Sheets1 | Logs base64 result and timestamp back | | 9 | If1 | Handles errors from the API | | 10 | Google Sheets4 | Logs errors to the sheet | | 11 | Wait | Adds delay between batches to prevent rate-limiting | π RapidAPI: Text-to-Image Flux AI This flow is powered by Text-to-Image Flux AI. Be sure to: Sign up at RapidAPI and subscribe to the API. Copy your API Key. Replace "your key" in the HTTP Request1 nodeβs x-rapidapi-key header. You can test the API directly here before connecting it to n8n. β Tips for Setup Ensure youβve set up a Google Service Account with access to both Sheets and Drive. Fill only the Prompt column β leave drive path and Base64 empty for new prompts. Monitor your RapidAPI dashboard for usage and quota. Create your free n8n account and set up the workflow in just a few minutes using the link below: π Start Automating with n8n Save time, stay consistent, and grow your LinkedIn presence effortlessly!
by Jimleuk
This n8n template demonstrates a simple approach to using AI to automate the generation of blog content which aligns to your organisation's brand voice and style by using examples of previously published articles. In a way, it's quick and dirty "training" which can get your automated content generation strategy up and running for very little effort and cost whilst you evaluate our AI content pipeline. How it works In this demonstration, the n8n.io blog is used as the source of existing published content and 5 of the latest articles are imported via the HTTP node. The HTML node is extract the article bodies which are then converted to markdown for our LLMs. We use LLM nodes to (1) understand the article structure and writing style and (2) identify the brand voice characteristics used in the posts. These are then used as guidelines in our final LLM node when generating new articles. Finally, a draft is saved to Wordpress for human editors to review or use as starting point for their own articles. How to use Update Step 1 to fetch data from your desired blog or change to fetch existing content in a different way. Update Step 5 to provide your new article instruction. For optimal output, theme topics relevant to your brand. Requirements A source of text-heavy content is required to accurately breakdown the brand voice and article style. Don't have your own? Maybe try your competitors? OpenAI for LLM - though I recommend exploring other models which may give subjectively better results. Wordpress for blog but feel free to use other preferred publishing platforms. Customising this workflow Ideally, you'd want to "train" your agent on material which is similar to your output ie. your social media post may not get the best results from your blog content due to differing formats. Typically, this brand voice extraction exercise should run once and then be cached somewhere for reuse later. This would save on generation time and overall cost of the workflow.
by Muhammad Shahzaib Shahid
Who is this for? This template is designed for internal support teams, product specialists, and knowledge managers in technology companies who want to automate ingestion of product documentation and enable AI-driven, retrieval-augmented question answering via WhatsApp. What problem is this workflow solving? Support agents often spend too much time manually searching through lengthy documentation, leading to inconsistent or delayed answers. This solution automates importing, chunking, and indexing product manuals, then uses retrieval-augmented generation (RAG) to answer user queries accurately and quickly with AI via WhatsApp messaging. What these workflows do Workflow 1: Document Ingestion & Indexing Manually triggered to import product documentation from Google Docs. Automatically splits large documents into chunks for efficient searching. Generates vector embeddings for each chunk using OpenAI embeddings. Inserts the embedded chunks and metadata into a MongoDB Atlas vector store, enabling fast semantic search. Workflow 2: AI-Powered Query & Response via WhatsApp Listens for incoming WhatsApp user messages, supporting various types: Text messages: Plain text queries from users. Audio messages: Voice notes transcribed into text for processing. Image messages: Photos or screenshots analyzed to provide contextual answers. Document messages: PDFs, spreadsheets, or other files parsed for relevant content. Converts incoming queries to vector embeddings and performs similarity search on the MongoDB vector store. Uses OpenAIβs GPT-4o-mini model with retrieval-augmented generation to produce concise, context-aware answers. Maintains conversation context across multiple turns using a memory buffer node. Routes different message types to appropriate processing nodes to maximize answer quality. **Setup Setting up vector embeddings** 1- Authenticate Google Docs and connect your Google Docs URL containing the product documentation you want to index. 2- Authenticate MongoDB Atlas and connect the collection where you want to store the vector embeddings. Create a search index on this collection to support vector similarity queries. 3- Ensure the index name matches the one configured in n8n (data_index). See the example MongoDB search index template below for reference. Setting up chat 1- Authenticate the WhatsApp node with your Meta account credentials to enable message receiving and sending. 2- Connect the MongoDB collection containing embedded product documentation to the MongoDB Vector Search node used for similarity queries. 3- Set up the system prompt in the Knowledge Base Agent node to reflect your companyβs tone, answering style, and any business rules, ensuring it references the connected MongoDB collection for context retrieval. Make sure Both MongoDB nodes (in ingestion and chat workflows) are connected to the same collection with: An embedding field storing vector data, Relevant metadata fields (e.g., document ID, source), and The same vector index name configured (e.g., data_index).
by InfraNodus
This template can be used to generate research ideas from PDF scientific papers based on the content gaps found in text using the InfraNodus knowledge graph GraphRAG knowledge graph representation. Simply upload several PDF files (research papers, corporate or market reports, etc) and the template will generate a research question, which will then be sent as an AI prompt to the InfraNodus GraphRAG system that will extract the answer from the documents. As a result, you find the gap in a collection of research papers and bridge it in a few seconds . The template is useful for: advancing scientific research generating AI prompts that drive research further finding the right questions to ask to bridge blind spots in a research field avoiding the generic bias of LLM models and focusing on what's important in your particular context Using Content Gaps for Generating Research Questions Knowledge graphs represent any text as a network: the main concepts are the nodes, their co-occurrences are the connections between them. Based on this representation, we build a graph and apply network science metrics to rank the most important nodes (concepts) that serve as the crossroads of meaning and also the main topical clusters that they connect. Naturally, some of the clusters will be disconnected and will have gaps between them. These are the topics (groups of concepts) that exist in this context (the documents you uploaded) but that are not very well connected. Addressing those gaps can help you see which groups of concepts you could connect with your own ideas. This is exactly what InfraNodus does: builds the structure, finds the gaps, then uses the built-in AI to generate research questions that bridge those gaps. How it works 1) Step 1: First, you upload your PDF files using an online web form, which you can run from n8n or even make publicly available. 2) Steps 2-4: The documents are processed using the Code and PDF to Text nodes to extract plain text from them. 3) Step 5: This text is then sent to the InfraNodus GraphRAG node that creates a knowledge graph, identifies structural gaps in this graph, and then uses built-in AI to research questions, which are then used as AI prompts. 4) Step 6: The research questino is sent to the InfraNodus GraphRAG system that represents the PDF documents you submitted as a knowledge graph and then uses the research question generated to come up with an answer based on the content you uploaded. 4) Step 7: The ideas are then shown to the user in the same web form. Optionally, you can derive the answers from a different set of papers, so the question is generated from one batch, but the answer is generated from another. If you'd like to sync this workflow to PDF files in a Google Drive folder, you can copy our Google Drive PDF processing workflow for n8n. How to use You need an InfraNodus GraphRAG API account and key to use this workflow. Create an InfraNodus account Get the API key at https://infranodus.com/api-access and create a Bearer authorization key. Add this key into the InfraNodus GraphRAG HTTP node(s) you use in this workflow. You do not need any OpenAI keys for this to work. Optionally, you can change the settings in the Step 4 of this workflow and enforce it to always use the biggest gap it identifies. Requirements An InfraNodus account and API key Note: OpenAI key is not required. You will have direct access to the InfraNodus AI with the API key. Customizing this workflow You can use this same workflow with a Telegram bot or Slack (to be notified of the summaries and ideas). You can also hook up automated social media content creation workflows in the end of this template, so you can generate posts that are relevant (covering the important topics in your niche) but also novel (because they connect them in a new way). Check out our n8n templates for ideas at https://n8n.io/creators/infranodus/ Also check the full tutorial with a conceptual explanation at https://support.noduslabs.com/hc/en-us/articles/20454382597916-Beat-Your-Competition-Target-Their-Content-Gaps-with-this-n8n-Automation-Workflow Also check out the video introduction to InfraNodus to better understand how knowledge graphs and content gaps work: For support and help with this workflow, please, contact us at https://support.noduslabs.com
by Tomas Lubertino
This template monitors a Google Drive folder, converts PDF documents into clean text chunks with Unstructured, generates OpenAI embeddings, and upserts vectors into Pinecone. Itβs a practical, production-ready starting point for Retrieval-Augmented Generation (RAG) that you can plug into a chatbot, semantic search, or internal knowledge tools. How it works 1) Google Drive Trigger detects new files in a selected folder and downloads them. 2) The files are sent to Unstructured where they are split into smaller pieces (chunks). 3) The chunks are prepared to be sent to OpenAI where they are converted into vectors (embeddings). 4) The embeddings are recombined with their original data and the payload is prepared for upsert into the Pinecone index. Set up steps 1) In Pinecone, create an index with 1536 dimensions and configure it for text-embedding-3-small. 2) Copy the host url and paste it on the 'Pinecone Upsert' node. It should look something like this: https://{your-index-name}.pinecone.io/vectors/upsert. 3) Add Google Drive, OpenAI and Pinecone credentials in n8n. 4) Point the trigger to your ingest folder (you can use this article for demo). 5) Click the 'Open chat' button and enter the following: Which Git provider do the authors use?