by Huzaifa Tahir
🎬 What it does This workflow creates an engaging YouTube Short with a single click — from script to voiceover, to visuals and background music. It combines several AI tools to automate content creation and final video assembly. ⚙️ How it works Accepts an input prompt or topic Generates script using GPT Converts script to voiceover using ElevenLabs Generates b-roll style images via Leonardo.Ai Matches background music Assembles a vertical 1080×1920 MP4 video using JSON render config Optionally uploads to YouTube or saves to Cloudinary 🧰 Setup steps Add your credentials: Leonardo API (image generation) ElevenLabs (voiceover) Cloudinary (upload destination) Any GPT-based text generator Drop your audio/music file in the right node Replace API expressions with your own credentials > 🟨 Full step-by-step instructions are in sticky notes inside the workflow.
by Lakindu Siriwardana
🔧 Automated Video Generator (n8n Workflow) 🚀 Features End-to-End Video Creation from user idea or transcript AI-Powered Scriptwriting using LLMs (e.g., DeepSeek via OpenRouter) Voiceover Generation with customizable TTS voices Image Scene Generation using generative models like together.ai Clip Creation & Concatenation into a full video Dynamic Caption Generation with styling options Google Drive & Sheets Integration for asset storage and progress tracking ⚙️ How It Works User Submits Form with: Main topic or transcript Desired duration TTS voice Visual style (e.g., Pixar, Lego, Cyberpunk) Image generation provider AI generates a script: A catchy title, description, hook, full script, and CTA using a language model. Text-to-Speech (TTS): The script is turned into audio using the selected voice, with timestamped captions generated. Scene Segmentation: The script is split into 5–6 second segments for visual storyboarding. Image Prompt Creation: Each scene is converted into an image prompt in the selected style (e.g., "anime close-up of a racing car"). Image Generation: Prompts are sent to together.ai or fal.ai to generate scenes. Clip Creation: Each image is turned into a short video clip (Ken Burns-style zoom) based on script timing. Video Assembly: All clips are concatenated into a single video. Captions are overlaid using the earlier timestamps. Final Output is uploaded to Google Drive, Telegram and links are saved in Google Sheets. 🛠 Inital Setup 🗣️ 1. Set Up TTS Voice (Text-to-Speech) Run your TTS server locally using Docker. 🧰 2. Set Up NCA-Toolkit The nca-toolkit appears to be a custom video/image processing backend used via HTTP APIs: http://host.docker.internal:9090/v1/image/transform/video http://host.docker.internal:9090/v1/video/concatenate http://host.docker.internal:9090/v1/ffmpeg/compose 🔧 Steps: Clone or build the nca-toolkit container (if it's a private tool): Ensure it exposes port 9090. It should support endpoints for: Image to video (zoom effect) Video concatenation Audio + video merging Caption overlay via FFmpeg Run it locally with Docker: docker run -d -p 9090:80 your-nca-toolkit-image 🧠 3. Set Up together.ai (Image Generation) (Optional You can use ChatGPT API Instead) This handles image generation using models like FLUX.1-schnell. 🔧 Steps: Create an account at: https://www.together.ai Generate your API key
by Marcelo Abreu
What this workflow does Runs automatically every Monday morning at 8 AM Collects your Google Search Console from the last month and the month before that for a given url (date range is configurable) Formats the data, aggregating it by date, query, page, device and country Generates AI-driven analysis and insights on your results, providing actionable recommendations Renders the report as a visually appealing PDF with charts and tables Sends the report via Slack (you can also add email or WhatsApp) A sample for the first page of the report: Setup Guide Create an account of pdforge and use the pre-made Meta Ads template. Connect Google OAuth2 (guide on the template), OpenAI and Slack to n8n Set your site url and date range (opcional) Customize the scheduling date and time Requirements Google OAuth2 (via Google Search Console): Documentation pdforge access: Create an account AI API access (e.g. via OpenAI, Anthropic, Google or Ollama) Slack acces (via OAuth2): Documentation Feel free to contact me via Linkedin, if you have any questions! 👋🏻
by Jimleuk
Cohere's new multimodal model releases make building your own Vision RAG agents a breeze. If you're new to Multimodal RAG and for the intent of this template, it means to embed and retrieve only document scans relevant to a query and then have a vision model read those scans to answer. The benefits being (1) the vision model doesn't need to keep all document scans in context (expensive) and (2) ability to query on graphical content such as charts, graphs and tables. How it works Page extracts from a technology report containing graphs and charts are downloaded, converted to base64 and embedded using Cohere's Embed v4 model. This produces embedding vectors which we will associate with the original page url and store them in our Qdrant vector store collection using the Qdrant community node. Our Vision RAG agent is split into 2 parts; one regular AI agent for chat and a second Q&A agent powered by Cohere's Command-A-vision model which is required to read contents of images. When a query requires access to the technology report, the Q&A agent branch is activated. This branch performs a vector search on our image embeddings and returns a list of matching image urls. These urls are then used as input for our vision model along with the user's original query. The Q&A vision agent can then reply to the user using the "respond to chat" node. Because both agents share the same memory space, it would be the same conversation to the user. How to use Ensure you have a Cohere account and sufficient credit to avoid rate limit or token usage restrictions. For embeddings, swap out the page extracts for your own. You may need to split and convert document pages to images if you want to use image embeddings. For chat, you may want to structure the agent(s) in another way which makes sense for your environment eg. using MCP servers. Requirements Cohere account for Embeddings and LLM Qdrant for vector store
by David Roberts
The workflow first populates a Pinecone index with vectors from a Bitcoin whitepaper. Then, it waits for a manual chat message. When received, the chat message is turned into a vector and compared to the vectors in Pinecone. The most similar vectors are retrieved and passed to OpenAI for generating a chat response. Note that to use this template, you need to be on n8n version 1.19.4 or later.
by Dmitry Mikheev
Telegram Rich Output Helper Workflow Who is this for? Builders of Telegram chat‑bots, AI assistants, or notification services who already run n8n and need to convert long, mixed‑media answers from an LLM (or any upstream source) into Telegram‑friendly messages. Prerequisites A Telegram bot created with @BotFather. The bot’s HTTP API token saved as a Telegram API credential in n8n. n8n ≥ 1.0 with the built‑in Telegram node still installed. A parent workflow that calls this one via Execute Workflow and passes: chatId — the destination chat ID (integer). output — a string that can contain plain text and HTTP links to images, audio, or video. What the workflow does Extract Links – A JavaScript Code node scans output, deduplicates URLs, and classifies each by file extension. Link Path If no media links exist, the text path is used. Otherwise, each link is routed through a Switch node that triggers the correct Telegram call (sendPhoto, sendAudio, sendVideo) so users get inline previews or players. Text Path An IF node checks whether the remaining text exceeds Telegram’s 1 000‑character limit. When it does, a Code node slices the text at line boundaries; SplitInBatches then sends the chunks sequentially so nothing is lost. All branches converge, keeping the whole exchange inside one execution. Customisation tips Adjust the character limit** – edit the first expression in “If text too long”. Filter/enrich links** – extend the regex or add MIME checks before dispatch. Captions & keyboards** – populate additionalFields in the three “Send back” nodes. Throughput vs. order* – tweak the batch size in both *SplitInBatches** nodes. With this template in place, your users receive the complete message, playable media, and zero manual formatting – all within Telegram’s API limits.
by NanaB
Description This n8n workflow automates the entire process of creating and publishing AI-generated videos, triggered by a simple message from a Telegram bot (YTAdmin). It transforms a text prompt into a structured video with scenes, visuals, and voiceover, stores assets in MongoDB, renders the final output using Creatomate, and uploads the video to YouTube. Throughout the process, YTAdmin receives real-time updates on the workflow’s progress. This is ideal for content creators, marketers, or businesses looking to scale video production using automation and AI. You can see a video demonstrating this template in action here: https://www.youtube.com/watch?v=EjI-ChpJ4xA&t=200s How it Works Trigger: Message from YTAdmin (Telegram Bot) The flow starts when YTAdmin sends a content prompt. Generate Structured Content A Mistral language model processes the input and outputs structured content, typically broken into scenes. Split & Process Content into Scenes The content is split into categorized parts for scene generation. Generate Media Assets For each scene: Images: Generated using OpenAI’s image model. Voiceovers: Created using OpenAI’s text-to-speech. Audio files are encoded and stored in MongoDB. Scene Composition Assets are grouped into coherent scenes. Render with Creatomate A complete payload is generated and sent to the Creatomate rendering API to produce the video. Progress messages are sent to YTAdmin. The flow pauses briefly to avoid rate limits. Render Callback Once Creatomate completes rendering, it sends a callback to the flow. If the render fails, an error message is sent to YTAdmin. If the render succeeds, the flow proceeds to post-processing. Generate Title & Description A second Mistral prompt generates a compelling title and description for YouTube. Upload to YouTube The rendered video is retrieved from Creatomate. It’s uploaded to YouTube with the AI-generated metadata. Final Update A success message is sent to YTAdmin, confirming upload completion. Set Up Steps (Approx. 10–15 Minutes)Step 1: Set Up YTAdmin Bot Create a Telegram bot via BotFather and get your API token. Add this token in n8n's Telegram credentials and link to the "Receive Message from YTAdmin" trigger. Step 2: Connect Your AI Providers Mistral: Add your API key under HTTP Request or AI Model nodes. OpenAI: Create an account at platform.openai.com and obtain an API key. Use it for both image generation and voiceover synthesis. Step 3: Configure Audio File Storage with MongoDB via Custom API Receives the Base64 encoded audio data sent in the request body. Connects to the configured MongoDB instance (connection details are managed securely within the API- code below). Uses the MongoDB driver and GridFS to store the audio data. Returns the unique _id (ObjectId) of the stored file in GridFS as a response. This _id is crucial as it will be used in subsequent steps to generate the download URL for the audio file. My API code can be found here for reference: https://github.com/nanabrownsnr/YTAutomation.git Step 4: Set Up Creatomate Create a Creatomate account, define your video templates, and retrieve your API key. Configure the HTTP request node to match your Creatomate payload requirements. Step 5: Connect YouTube In n8n, add OAuth2 credentials for your YouTube account. Make sure your Google Cloud project has YouTube Data API enabled. Step 6: Deploy and Test Send a message to YTAdmin and monitor the flow in n8n. Verify that content is generated, media is created, and the final video is rendered and uploaded. Customization Options Change the AI Prompts Modify the generation prompts to adjust tone, voice, or content type (e.g., news recaps, product videos, educational summaries). Switch Messaging Platform Replace Telegram (YTAdmin) with Slack, Discord, or WhatsApp by swapping out the trigger and response nodes. Add Subtitles or Effects Integrate Whisper or another speech-to-text tool to generate subtitles. Add overlay or transition effects in the Creatomate video payload. Use Local File Storage Instead of MongoDB Swap out MongoDB upload http nodes with filesystem or S3-compatible storage. Repurpose for Other Platforms Swap YouTube upload with TikTok, Instagram, or Vimeo endpoints for broader publishing. **Need Help or Want to Customize This Workflow? If you'd like assistance setting this up or adapting it for a different use case, feel free to reach out to me at nanabrownsnr@gmail.com. I'm happy to help!**
by David Harvey
iMessage AI-Powered Smart Calorie Tracker > 📌 What it looks like in use: > This image shows a visual of the workflow in action. Use it for reference when replicating or customizing the template. This n8n template transforms a user-submitted food photo into a detailed, friendly, AI-generated nutritional report — sent back seamlessly as a chat message. It combines OpenAI's visual reasoning, Postgres-based memory, and real-time messaging with Blooio to create a hands-free calorie and nutrition tracker. 🧠 Use Cases Auto-analyze meals based on user-uploaded images. Daily/weekly/monthly diet summaries with no manual input. Virtual food journaling integrated into messaging apps. Nutrition companion for healthcare, fitness, and wellness apps. 📌 Good to Know ⚠️ This uses GPT-4 with image capabilities, which may incur higher usage costs depending on your OpenAI pricing tier. Review OpenAI’s pricing. The model uses visual reasoning and estimation to determine nutritional info — results are estimates and should not replace medical advice. Blooio is used for sending/receiving messages. You will need a valid API key and project set up with webhook delivery. A Postgres database is required for long-term memory (optional but recommended). You can use any memory node with it. ⚙️ How It Works Webhook Trigger The workflow begins when a message is received via Blooio. This webhook listens for user-submitted content, including any image attachments. Image Validation and Extraction A conditional check verifies the presence of attachments. If images are found, their URLs are extracted using a Code node and prepared for processing. Image Analysis via AI Agent Images are passed to an OpenAI-based agent using a custom system prompt that: Identifies the meal, Estimates portion sizes, Calculates calories, macros, fiber, sugar, and sodium, Scores the meal with a health and confidence rating, Responds in a chatty, human-like summary format. Memory Integration A Postgres memory node stores user interactions for recall and contextual continuity, allowing day/week/month reports to be generated based on cumulative messages. Response Aggregation & Summary Messages are aggregated and summarized by a second AI agent into a single concise message to be sent back to the user via Blooio. Message Dispatch The final message is posted back to the originating conversation using the Blooio Send Message API. 🚀 How to Use The included webhook can be triggered manually or programmatically by linking Blooio to a frontend chat UI. You can test the flow using a manual POST request containing mock Blooio payloads. Want to use a different messages app? Replace the Blooio nodes with your preferred messaging API (e.g., Twilio, Slack, Telegram). ✅ Requirements OpenAI API access with GPT-4 Vision or equivalent multimodal support. Blooio account with access to incoming and outgoing message APIs. Optional: Postgres DB (e.g., via Neon) for tracking message context over time. 🛠️ Customising This Workflow Prompt Tuning** Tailor the system prompt in the AI Agent node to fit specific diets (e.g., keto, diabetic), age groups, or regionally-specific foods. Analytics Dashboards** Hook up your Postgres memory to a data visualization tool for nutritional trends over time. Multilingual Support** Adjust the response prompt to translate messages into other languages or regional dialects. Image Preprocessing** Insert a preprocessing node before sending images to the model to resize, crop, or enhance clarity for better results.
by Cooper
Chat with thing This n8n template lets you build a smart AI chat assistant that can handle text, images, and PDFs — using OpenAI's GPT-4o multimodal model. It supports dynamic conversations and file analysis, making it great for AI-driven support bots, personal assistants, or embedded chat widgets. 🔍 How it Works The chat trigger node kicks off a session using n8n's hosted chat UI. Users can send text or upload images or PDFs — the workflow checks if a file was included. If an image is uploaded, the file is converted to base64 and analyzed using GPT-4o's vision capabilities. GPT-4o generates a natural language description of the image and responds to the user's question in context. A memory buffer keeps track of the conversation thread, so follow-up questions are handled intelligently. OpenAI’s chat model handles both text-only and mixed media input seamlessly. 🧪 How to Use You can embed this in a website or use it with your own webhook/chat interface. The logic is modular — just swap out the chatTrigger node for another input (e.g. form or API). To use with documents, you can modify the logic to pass PDF content to GPT-4 directly. You can extend it with action nodes, e.g. saving results to Notion, Airtable, or sending replies via email or Slack. 🔐 Requirements Your OpenAI GPT-4o API key Set File Upload on the chat 🚀 Use Cases PDF explainer bot Internal knowledge chat with media support Personal assistant for mixed content
by Gulfiia
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Automated Data-Driven UX Persona Creation – Try It Out!* About You can create personas based on your website, region, and industry. Unlike traditional persona creation, this process uses reliable data sources and can estimate market size for each persona. UX personas have a wide range of applications: use them to better define your target users during product development, align your team around user goals during workshops, or inspire new features and ideas by deeply understanding user needs and behaviors. How It Works The flow is triggered via a web form Perplexity analyzes the market and creates a data foundation for the personas An AI agent transforms the data into detailed persona descriptions and publishes them in a Google Doc We use DALL·E 3 to generate an image for each persona, which is saved to your Google Drive How To Use Import the package into your N8N interface Set up the credentials in each node to access the necessary tools Wait for the process to run (it takes just a few seconds) Check the final output in Google Docs and your Google Drive Requirements Perplexity for research OpenAI for LLM and Image generation Google Doc Google Drive to upload images
by dmr
This n8n workflow implements a version of the Adaptive Retrieval-Augmented Generation (RAG) framework. It recognizes that the best way to retrieve information often depends on the type of question asked. Instead of a one-size-fits-all approach, this workflow adapts its strategy based on the user's query intent. 🌟 How it Works Receive Query: Takes a user query as input (along with context like a chat session ID and Vector Store collection ID if used as sub-workflow). Classify Query: First, the workflow classifies the query into a predefined category. This template uses four examples: Factual: For specific facts. Analytical: For deeper explanations or comparisons. Opinion: For subjective viewpoints. Contextual: For questions relying on specific background. Select & Adapt Strategy: Based on the classification, it selects a corresponding strategy to prepare for information retrieval. The example strategies aim to: Factual: Refine the query for precision. Analytical: Break the query into sub-questions for broad coverage. Opinion: Identify different viewpoints to look for. Contextual: Incorporate implied or user-specific context. Retrieve Info: Uses the output of the selected strategy to search the specified knowledge base (Qdrant vector store - change as needed) for relevant documents. Generate Response: Constructs a response using the retrieved documents, guided by a prompt tailored to the original query type. By adapting the retrieval strategy, this workflow aims to provide more relevant results tailored to the user's intent. ⚙️ Usage & Flexibility Sub-Workflow:** Designed to be called from other n8n workflows, passing user_query, chat_memory_key, and vector_store_id as inputs. Chat Testing:** Can also be triggered directly via the n8n Chat interface for easy testing and interaction. Customizable Framework:** The query categories (Factual, Analytical, etc.) and the associated retrieval strategies are examples. You can modify or replace them entirely to fit your specific domain or requirements. 🛠️ Requirements Credentials:** You will need API credentials configured in your n8n instance for: Google Gemini (AI Models) Qdrant (Vector Store)
by Sk developer
🚀 LinkedIn Video to MP4 Automation with Google Drive & Sheets | RapidAPI Integration This n8n workflow automatically converts LinkedIn video URLs into downloadable MP4 files using the LinkedIn Video Downloader API, uploads them to Google Drive with public access, and logs both the original URL and Google Drive link into Google Sheets. It leverages the LinkedIn Video Downloader service for fast and secure video extraction. 📝 Node Explanations (Single-Line) 1️⃣ On form submission → Captures LinkedIn video URL from the user via a web form. 2️⃣ HTTP Request → Calls LinkedIn Video Downloader to fetch downloadable MP4 links. 3️⃣ If → Checks for API errors and routes workflow accordingly. 4️⃣ Download mp4 → Downloads the MP4 video file from the API response URL. 5️⃣ Upload To Google Drive → Uploads the downloaded MP4 file to Google Drive. 6️⃣ Google Drive Set Permission → Makes the uploaded file publicly accessible. 7️⃣ Google Sheets → Logs successful conversions with LinkedIn URL and sharable Drive link. 8️⃣ Wait → Delays execution before logging failed attempts. 9️⃣ Google Sheets Append Row → Logs failed video downloads with N/A Drive link. 📄 Google Sheets Columns URL** → Original LinkedIn video URL entered in the form. Drive_URL** → Publicly sharable Google Drive link to the converted MP4 file. (For failed downloads) → Drive_URL will display N/A. 💡 Use Case Automate LinkedIn video downloading and sharing using LinkedIn Video Downloader for social media managers, marketers, and content creators without manual file handling. ✅ Benefits Time-saving* (auto-download & upload), *Centralized tracking* in Sheets, *Easy sharing* via Drive links, and *Error logging* for failed downloads—all powered by *RapidAPI LinkedIn Video Downloader**.