Back to Catalog
NanaB

NanaB

Automation Developer with 3+ years building innovative solutions on UiPath, Power Platform, and n8n, also with a strong background in both API development and integration. Now specializing in the creation and implementation of AI Agents.

Total Views6,780
Templates5

Templates by NanaB

AI content creation and publishing engine with Mistral, Creatomate, and YouTube

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!

NanaBBy NanaB
3266

AI speech coach & generator using Telegram, Open AI and Gemini

Description This n8n workflow acts as your personal AI speechwriting coach, directly accessible through Telegram. It listens to your spoken or typed drafts, provides insightful feedback on clarity, engagement, structure, and content, and iteratively refines your message based on your updates. Once you're ready, it synthesizes a brand-new speech or talk incorporating all the improvements and your accumulated ideas. This tool streamlines the speechwriting process, offering on-demand AI assistance to help you craft impactful and well-structured presentations. How it Works Input via Telegram: You interact with the workflow by sending your speech drafts or talking points directly to a designated Telegram bot. AI Feedback: The workflow processes your input using AI models (OpenAI and/or Google Gemini) to analyze various aspects of your speech and provides constructive feedback via Telegram. Iterative Refinement: You can then send updated versions of your speech to the bot, receiving further feedback to guide your revisions. Speech Synthesis: When you send the command to "generate speech," the workflow compiles all your previous input and the AI's feedback to synthesize a new, improved speech or talk, which is then sent back to you via Telegram. New Speech Cycle: By sending the command "new speech," the workflow clears its memory, allowing you to start the process anew for a different topic. Set Up Steps (Takes Approximatly 5 Minutes) Step 1: Create a Telegram Bot and Obtain its ID Open the Telegram application and search for "BotFather". Start a chat with BotFather by clicking "Start" or sending the /start command. Create a new bot by sending the command /newbot. Follow BotFather's instructions to choose a name and username for your bot. Once your bot is created, BotFather will provide you with an API token. Keep this token secure as it's required to connect your n8n workflow to your bot. Step 2: Obtain an OpenAI API Key Go to the OpenAI website (https://platform.openai.com/) and sign up for an account if you don't already have one. Navigate to the API keys section (usually under your profile settings or a "Developers" tab). Click on "Create new secret key". Copy the generated API key and store it securely. You will need to provide this key to your n8n workflow to access OpenAI's language models. Step 3: Obtain a Google Gemini LLM API Key Go to the Google Cloud AI Platform or Google AI Studio website (the specific platform may vary depending on the current Google AI offerings; search for "Google AI API"). Sign up or log in with your Google account. Follow the instructions to enable the Gemini API and create an API key. This might involve creating a project if you haven't already. Copy the generated API key and store it securely. You can then configure your n8n workflow to utilize Google Gemini's language models as well. Customization Options This n8n workflow offers significant flexibility, below are a few options: Modify AI prompts to tailor feedback and generation for presentations, storytelling, interviews, sales pitches, academic talks, and creative writing. Switch the interface from Telegram to Slack, WhatsApp, or even a web interface by replacing the relevant n8n nodes. Integrate analysis for sentiment, keyword density, pacing (with voice input), and filler word detection by adjusting the workflow. Connect to external data sources to provide context to the AI for more targeted feedback and generation. This adaptability allows you to re use this workflow for a wide range of specific use cases and communication environments.

NanaBBy NanaB
1836

Build production-ready user authentication with Airtable and JWT

This n8n workflow provides a comprehensive solution for user authentication and management, leveraging Airtable as the backend database. It includes flows for user sign-up and login, aswell as the sample crud operations retrieving user details, and updating user information. Youtube Video of me explaining the flow: https://www.youtube.com/watch?v=gKcGfyq3dPM How it Works User Sign-Up Flow Receives POST request: A webhook listens for POST requests containing new user details (email, first name, last name, password). Checks for existing email: The workflow queries Airtable to see if the submitted email already exists. Handles email in use: If the email is found, it responds with {"response": "email in use"}. Creates new user: If the email is unique, the password is SHA256 hashed (Base64 encoded), and the user's information (including the hashed password) is stored in Airtable. A successful response of {"response": "success"} is then sent. User Login Flow Receives POST request: A webhook listens for POST requests with user email and password for login. Verifies user existence: It checks Airtable for a user with the provided email. If no user is found, it responds with a failure message ("wrong email"). Compares passwords: If a user is found, the submitted password is hashed (SHA256, Base64 encoded) and compared with the stored hashed password in Airtable. Responds with JWT or error: If passwords match, a JWT token containing the user's ID and email is issued. If they don't match, a "wrong password" response is sent. Flows for a Logged-In User These flows require a JWT-authenticated request. Get User Details: Webhook (GET): Receives a JWT-authenticated request. Airtable (Read): Fetches the current user’s record using the jwtPayload.id. Set Node ("Specify Current Details"): Maps fields like "First Name," "Last Name," "Email," and "Date" from Airtable to a standard output format. Update User Details: Webhook (POST): Receives updated user data (email, name, password). Airtable (Upsert): Updates the record matching jwtPayload.id using the submitted fields. Set Node ("Specify New Details"): Outputs the updated data in a standard format. Set Up Steps (Approx. 5 Minutes) Step 1: Set up your Airtable Base and Table You'll need an Airtable Base and a table to store your user data. Ensure your table has at least the following columns: Email (Single Line Text) First Name (Single Line Text) Last Name (Single Line Text) Password (Single Line Text - this will store the hashed password) Date (Date - optional, for user sign-up date) Step 2: Obtain an Airtable Personal Access Token Go to the Airtable website and log in to your account. Navigate to your personal access token page (usually found under your developer settings or by searching for "personal access tokens"). Click "Create new token." Give your token a name (e.g., "n8n User Management"). Grant necessary permissions: Scope: data.records:read, data.records:write for the specific base you will be using. Base: Select the Airtable base where your user management table resides. Generate the token and copy it immediately. You won't be able to see it again. Store it securely. Step 3: Create a JWT Auth Credential in n8n In your n8n instance, go to "Credentials" (usually found in the left-hand sidebar). Click "New Credential" and search for "JWT Auth". Give the credential a name (e.g., "UserAuthJWT"). For the "Signing Secret," enter a strong, random string of characters. This secret will be used to sign and verify your JWT tokens. Keep this secret highly confidential. Save the credential. Customization Options This workflow is designed to be highly adaptable: Database Integration: Easily switch from Airtable to other databases like PostgreSQL, MySQL, MongoDB, or even Google Sheets by replacing the Airtable nodes with the appropriate database nodes in n8n. Authentication Methods: Extend the authentication to include multi-factor authentication (MFA), social logins (Google, Facebook), or integrate with existing identity providers (IdP) by adding additional nodes. User Profile Fields: Add or remove user profile fields (e.g., phone number, address, user roles) by adjusting the Airtable table columns and the Set nodes in the workflow. Notification System: Integrate notification systems (e.g., email, SMS) for events like new user sign-ups, password resets, or account changes. Admin Panel: Build an admin panel using n8n to manage users directly, including functionalities for adding, deleting, or updating user records, and resetting passwords. This workflow provides a solid foundation for building robust user management systems, adaptable to a wide range of applications and security requirements. --- Need Assistance or Customization? Do you have specific integrations in mind, or are you looking to add more user management features to this workflow? If you need help setting this up, or want to adapt it for a unique use case, don't hesitate to reach out! You can contact me directly at nanabrownsnr@gmail.com. I'd be glad to assist you.

NanaBBy NanaB
866

Process voice, images & documents with GPT-4o, MongoDB & Gmail tools

What it does This n8n workflow creates a cutting-edge, multi-modal AI Memory Assistant designed to capture, understand, and intelligently recall your personal or business information from diverse sources. It automatically processes voice notes, images, documents (like PDFs), and text messages sent via Telegram. Leveraging GPT-4o for advanced AI processing (including visual analysis, document parsing, transcription, and semantic understanding) and MongoDB Atlas Vector Search for persistent and lightning-fast recall, this assistant acts as an external brain. Furthermore, it integrates with Gmail, allowing the AI to send and search emails as part of its memory and response capabilities. This end-to-end solution blurprint provides a powerful starting point for personal knowledge management and intelligent automation. How it works Multi-Modal Input Ingestion 🗣️📸📄💬 Your memories begin when you send a voice note, an image, a document (e.g., PDF), or a text message to your Telegram bot. The workflow immediately identifies the input type. Advanced AI Content Processing 🧠✨ Each input type undergoes specialized AI processing by GPT-4o: Voice notes are transcribed into text using OpenAI Whisper. Images are visually analyzed by GPT-4o Vision, generating detailed textual descriptions. Documents (PDFs) are processed for text extraction, leveraging GPT-4o for robust parsing and understanding of content and structure. Unsupported document types are gracefully handled with a user notification. Text messages are directly forwarded for further processing. This phase transforms all disparate input formats into a unified, rich textual representation. Intelligent Memory Chunking & Vectorization ✂️🏷️➡️🔢 The processed content (transcriptions, image descriptions, extracted document text, or direct text) is then fed back into GPT-4o. The AI intelligently chunks the information into smaller, semantically coherent pieces, extracts relevant keywords and tags, and generates concise summaries. Each of these enhanced memory chunks is then converted into a high-dimensional vector embedding using OpenAI Embeddings. Persistent Storage & Recall (MongoDB Atlas Vector Search) 💾🔍 These vector embeddings, along with their original content, metadata, and tags, are stored in your MongoDB Atlas cluster, which is configured with Atlas Vector Search. This allows for highly efficient and semantically relevant retrieval of memories based on user queries, forming the core of your "smart recall" system. AI Agent & External Tools (Gmail Integration) 🤖🛠️ When you ask a question, the AI Agent (powered by GPT-4o) acts as the central intelligence. It uses the MongoDB Chat Memory to maintain conversational context and, crucially, queries the MongoDB Atlas Vector Search store to retrieve relevant past memories. The agent also has access to Gmail tools, enabling it to send emails on your behalf or search your past emails to find information or context that might not be in your personal memory store. Smart Response Generation & Delivery 💬➡️📱 Finally, using the retrieved context from MongoDB and the conversational history, GPT-4o synthesizes a concise, accurate, and contextually aware answer. This response is then delivered back to you via your Telegram bot. How to set it up (~20 Minutes) Getting this powerful workflow running requires a few key configurations and external service dependencies. Telegram Bot Setup: Use BotFather in Telegram to create a new bot and obtain its API Token. In your n8n instance, add a new Telegram API credential. Give it a clear name (e.g., "My AI Memory Bot") and paste your API Token. OpenAI API Key Setup: Log in to your OpenAI account and generate a new API key. Within n8n, create a new OpenAI API credential. Name it appropriately (e.g., "My OpenAI Key for GPT-4o") and paste your API key. This credential will be used by the OpenAI Chat Model (GPT-4o for processing, chunking, and RAG), Analyze Image, and Transcribe Audio nodes. MongoDB Atlas Setup: If you don't have one, create a free-tier or paid cluster on MongoDB Atlas. Create a database and a collection within your cluster to store your memory chunks and their vector embeddings. Crucially, configure an Atlas Vector Search index on your chosen collection. This index will be on the field containing your embeddings (e.g., embedding field, type knnVector). Refer to MongoDB Atlas documentation for detailed instructions on creating vector search indexes. In n8n, add a new MongoDB credential. Provide your MongoDB Atlas connection string (ensure it includes your username, password, and database name), and give it a clear name (e.g., "My Atlas DB"). This credential will be used by the MongoDB Chat Memory node and for any custom HTTP requests you might use for Atlas Vector Search insertion/querying. Gmail Account Setup: Go to Google Cloud Console, enable the Gmail API for your project, and configure your OAuth consent screen. Create an OAuth 2.0 Client ID for a Desktop app (or Web application, depending on your n8n setup and redirect URI). Download the JSON credentials. In n8n, add a new Gmail OAuth2 API credential. Follow the n8n instructions to configure it using your Google Client ID and Client Secret, and authenticate with your Gmail account, ensuring it has sufficient permissions to send and search emails. External API Services: If your Extract from File node relies on an external service for robust PDF/DocX text extraction, ensure you have an API key and the service is operational. The current flow uses ConvertAPI. Add the necessary credential (e.g., ConvertAPI) in n8n. How you could enhance it ✨ This workflow offers numerous avenues for advanced customization and expansion: Expanded Document Type Support: Enhance the "Document Processing" section to handle a wider range of document types beyond just PDFs (e.g., .docx, .xlsx, .pptx, markdown, CSV) by integrating additional conversion APIs or specialized parsing libraries (e.g., using a custom code node or dedicated third-party services like Apache Tika, Unstructured.io). Fine-tuned Memory Chunks & Metadata: Implement more sophisticated chunking strategies for very long documents, perhaps based on semantic breaks or document structure (headings, sections), to improve recall accuracy. Add more metadata fields (e.g., original author, document date, custom categories) to your MongoDB entries for richer filtering and context. Advanced AI Prompting: Allow users to dynamically set parameters for their memory inputs (e.g., "This is a high-priority meeting note," "This image contains sensitive information") which can influence how GPT-4o processes, tags, and stores the memory, or how it's retrieved later. n8n Tool Expansion for Proactive Actions: Significantly expand the AI Agent's capabilities by providing it with access to a wider range of n8n tools, moving beyond just information retrieval and email External Data Source Integration (APIs): Expand the AI Agent's tools to query other external APIs (e.g., weather, stock prices, news, CRM systems) so it can provide real-time information relevant to your memories. Getting Assistance & More Resources Need assistance setting this up, adapting it to a unique use case, or exploring more advanced customizations? Don't hesitate to reach out! You can contact me directly at nanabrownsnr@gmail.com. Also, feel free to check out my Youtube Channel where I discuss other n8n templates, as well as Innovation and automation solutions.

NanaBBy NanaB
716

Convert documents to podcast audio with GPT-4o & OpenAI TTS

This workflow contains community nodes that are only compatible with the self-hosted version of n8n. What it does This n8n workflow delivers a comprehensive, automated solution for transforming written content into dynamic, multi-speaker podcast audio. It automatically detects new documents in Google Drive, leverages advanced AI to craft a detailed podcast script, generates individual audio segments for each speaker, uploads these segments to a dedicated file storage, seamlessly concatenates them into a full episode, and finally, saves the completed audio back into Google Drive. This end-to-end pipeline significantly streamlines your content-to-audio production process. How it works The workflow is a powerful orchestration of AI and automation, designed to take your raw document and deliver a polished audio product. Document Ingestion & Text Extraction 📄➡️💬 Your journey begins when you simply place a document in a designated Google Drive folder. AI-Powered Script Generation 🧠✍️ With the text extracted, the workflow hands it over to an AI scriptwriter. Dynamic Audio Generation & Storage 🗣️💾 Once the script is ready, each piece of dialogue is brought to life with distinct voices. Generate Podcast 🔗🎧📂 Finally, all the individual audio pieces are assembled into one complete podcast episode. How to set it up (~15 Minutes) Getting this workflow running requires a few key configurations and external service dependencies. Google Drive Account Setup: Create Google Drive Folder: Designate a specific Google Drive folder (e.g., "AIAGENTDEMO") that will serve as both the input (where you drop source documents) and output (where the final podcast audio lands). Make note of its ID or name. n8n Google Drive Credential: In your n8n instance, add a new Google Drive OAuth2 API credential. Give it a clear name (e.g., "My Google Drive Account") and authenticate it with your Google account, ensuring it has the necessary permissions for the designated folder. OpenAI API Key Setup: Obtain OpenAI API Key: Log in to your OpenAI account and generate a new API key. n8n OpenAI Credential: Within n8n, create a new OpenAI API credential. Name it appropriately (e.g., "My OpenAI Key for TTS & LLM") and paste your API key. This single credential will be used by both the AI scriptwriter (OpenAI Chat Model) and the audio generation (Generate audio files) nodes. External API Services (Self-Hosted/Provided): MongoDB File Storage API: Ensure a file storage API is fully operational and accessible from your n8n instance. This API must accept POST requests with filename and Base64 filedata in the body, returning a fileid upon successful upload. Audio Concatenation API: Verify that your audio concatenation service is live and reachable. This API should expect a POST request with an audio_urls array in the request body and provide the concatenated audio file in return. How you could enhance it ✨ This workflow offers numerous avenues for advanced customization and expansion: Flexible Document Ingestion: Expand the Google Drive Trigger to monitor multiple folders or integrate with other cloud storage services (like Dropbox, OneDrive) or even local file systems. Broaden the Extract from File node's capabilities (or add pre-processing) to handle a wider range of document types beyond just PDFs, such as Word documents, markdown files, or even raw text. Expanded Speaker & Voice Control: Move beyond simple "host" and "guest" roles. Define an arbitrary number of speakers (e.g., "Narrator," "Expert A," "Interviewer B") and assign unique, distinct voices to each. This could involve a lookup table within n8n to map speaker roles to specific voice IDs from your TTS provider, allowing for granular control over more speakers and diverse voices. Multilingual Podcast Production: Implement language detection services (e.g., Google Cloud Language API) to automatically identify the language of your input document. This detected language can then be passed to the OpenAI TTS node (if supported) to enable the generation of podcast audio in multiple languages, broadening your audience reach. Dynamic LLM Prompting: Add parameters to the initial trigger or an earlier node to allow users to configure aspects of the podcast, such as desired length, specific tone, or a list of key discussion points, all of which can dynamically adjust the LLM's prompt. Alternative Text-to-Speech Engines: Easily swap out OpenAI's TTS with other leading providers like Google Cloud Text-to-Speech, AWS Polly, or ElevenLabs by simply changing the Generate audio files node and its associated credentials. Versatile File Storage: Replace the current MongoDB file storage with your preferred cloud storage solution, such as AWS S3 or Google Cloud Storage, by utilizing dedicated n8n nodes for those services. Advanced Audio Post-Processing: Introduce more sophisticated audio post-production steps directly within the workflow. This could include adding intros/outros, integrating background music, applying sound effects, or performing volume normalization before the final concatenation. Notification and Reporting: Implement robust error handling (e.g., retries for failed API calls) and add notification systems (e.g., email, Slack, Discord messages) to alert you to workflow completions, successes, or failures, including links to the generated podcast file. Direct Playback Integration: After the final audio is concatenated and uploaded, consider integrating with a media player or a sharing platform to immediately provide a public link for easy listening and distribution. Direct Publishing to Podcast Sites: Integrate with podcast hosting platforms that offer API access (e.g., Podbean, Libsyn, Captivate, Transistor). This would involve adding an HTTP Request node after the Upload file step to publish the newly generated podcast episode directly to your chosen podcast host via their API, including episode metadata (title, description, artwork). This bypasses manual uploads and pushes your content to all major podcast directories (Apple Podcasts, Spotify, Google Podcasts, etc.) that your hosting platform distributes to. Getting Assistance & More Resources Need assistance setting this up, adapting it to a unique use case, or exploring more advanced customizations? Don't hesitate to reach out! You can contact me directly at nanabrownsnr@gmail.com. Also, feel free to check out my YouTube Channel where I discuss other n8n templates, as well as Innovation and automation solutions.

NanaBBy NanaB
96
All templates loaded