Back to Catalog

Generate Funny AI Videos with Sora 2 and Auto-Publish to TikTok

DavideDavide
24772 views
2/3/2026
Official Page

This automation creates a fully integrated pipeline to generate AI-powered videos, store them, and publish them on TikTok — all automatically. It connects OpenAI Sora 2, and Postiz (for TikTok publishing) to streamline content creation.


Key Benefits

Full Automation – From text prompt to TikTok upload, everything happens automatically with no manual intervention once set up. ✅ Centralized Control – Google Sheets acts as a simple dashboard to manage prompts, durations, and generated results. ✅ AI-Powered Creativity – Uses OpenAI Sora 2 for realistic video generation and GPT-5 for optimized titles. ✅ Social Media Integration – Seamlessly posts videos to TikTok via Postiz, ready for your audience. ✅ Scalable & Customizable – Can easily be extended to other platforms like YouTube, Instagram, or LinkedIn. ✅ Time-Saving – Eliminates repetitive steps like manual video uploads or caption writing.


How it works

This workflow automates the end-to-end process of generating AI videos and publishing them to TikTok. It is triggered either manually or on a recurring schedule.

  1. Trigger & Data Fetch: The workflow starts by checking a specified Form for new entries. It looks for rows where a video has been requested (a "PROMPT" is filled) but not yet generated (the "VIDEO" column is empty).

  2. AI Video Generation: For each new prompt found, the workflow sends a request to the Fal.ai Sora 2 model to generate a video. It then enters a polling loop, repeatedly checking the status of the generation request every 60 seconds until the video is "COMPLETED".

  3. Post-Processing & Upload: Once the video is ready, the workflow performs several actions in parallel:

    • Fetch Video & Store: It retrieves the final video URL, downloads the video file
    • Generate Title: It uses the OpenAI GPT-4o-mini model to analyze the original prompt and generate an optimized, engaging title for the video.
    • Publish to TikTok: The video file is uploaded to Postiz, a social media scheduling tool, which then automatically publishes it to a connected TikTok channel, using the AI-generated title as the post's caption.

Set up steps

To make this workflow functional, you need to complete the following configuration steps:

  1. Prepare the Google Sheet:

    • Create a Form with at least "PROMPT", "DURATION", and "VIDEO" fields.
  2. Configure Fal.ai for Video Generation:

    • Create an account at Fal.ai and obtain your API key.
    • In both the "Create Video" and "Get status" HTTP Request nodes, set up the "Header Auth" credential.
    • Set the Name to Authorization and the Value to Key YOUR_API_KEY.
  3. Set up TikTok Publishing via Postiz:

    • Create an account on Postiz and connect your TikTok account to get a Channel ID.
    • Obtain your Postiz API key.
    • In the "Upload Video to Postiz" and "TikTok" (Postiz) nodes, configure the API credentials.
    • In the "TikTok" node, replace the placeholder "XXX" in the integrationId field with your actual TikTok Channel ID from Postiz.
  4. (Optional) Configure AI Title Generation:

    • The "Generate title" node uses OpenAI. Ensure you have valid OpenAI API credentials configured in n8n for this node to work.

Need help customizing?

Contact me for consulting and support or add me on Linkedin.

Header 2

n8n Form Triggered OpenAI Video Generation Workflow

This n8n workflow provides a powerful automation for generating video content using OpenAI's capabilities, triggered by a simple form submission. It allows users to input a prompt via a web form, which then gets processed by OpenAI to potentially generate video ideas or scripts, and then proceeds with further actions based on a conditional check.

What it does

This workflow automates the following steps:

  1. Listens for Form Submissions: The workflow is initiated when a user submits data through an n8n form.
  2. Processes Input with OpenAI: The submitted data is sent to OpenAI, likely to generate creative content such as video ideas, scripts, or descriptions based on the user's prompt.
  3. Conditional Logic: An "If" node evaluates the output from OpenAI. This allows for branching logic, enabling different actions based on whether certain conditions are met (e.g., if the generated content is suitable, or if a specific keyword is present).
  4. Waits (Conditional): If the condition in the "If" node is met (TRUE branch), the workflow pauses for a specified duration using a "Wait" node. This could be used to simulate a processing time or to introduce a delay before the next steps.
  5. HTTP Request (Conditional): Following the wait, an HTTP Request is made. This could be used to interact with a video generation API (like Sora 2, as hinted by the directory name), upload content, or trigger another external service.

Prerequisites/Requirements

To use this workflow, you will need:

  • n8n Instance: A running n8n instance to host and execute the workflow.
  • OpenAI API Key: An API key for OpenAI to utilize its language and content generation models. This will need to be configured in the OpenAI node's credentials.
  • External Video Generation Platform (Optional but likely): While not explicitly configured in the provided JSON, the HTTP Request node strongly suggests integration with an external video generation service (e.g., Sora 2, or similar platforms for AI video creation) that accepts API calls. You will need an account and API access for such a service.
  • TikTok Account (Optional but likely): The directory name suggests auto-publishing to TikTok. This would require a TikTok integration, likely via another HTTP Request or a dedicated n8n node, which is not fully detailed in the provided JSON but would be a logical extension.

Setup/Usage

  1. Import the Workflow: Import the provided JSON into your n8n instance.
  2. Configure Credentials:
    • OpenAI Node: Add your OpenAI API key as a credential for the "OpenAI" node.
  3. Configure Form Trigger:
    • Activate the "On form submission" trigger node. You will get a unique URL for your form.
    • Customize the form fields as needed for your video prompt input.
  4. Configure OpenAI Node:
    • Adjust the model and prompt in the "OpenAI" node to suit your video generation requirements. You will likely reference the input from the "On form submission" node.
  5. Configure If Node:
    • Set up the conditions in the "If" node based on the expected output from OpenAI. For example, you might check for specific keywords, sentiment, or a flag indicating successful content generation.
  6. Configure Wait Node:
    • Adjust the duration of the "Wait" node if needed.
  7. Configure HTTP Request Node:
    • Crucially: Configure the "HTTP Request" node with the correct URL, headers (including API keys/tokens), and body for your chosen video generation API. This is where the actual video creation or publishing action would be initiated. You will likely pass the generated content from OpenAI to this request.
  8. Activate the Workflow: Once configured, activate the workflow.
  9. Submit the Form: Access the form URL from the "On form submission" node and submit a prompt to trigger the workflow.

Related Templates

Auto-reply & create Linear tickets from Gmail with GPT-5, gotoHuman & human review

This workflow automatically classifies every new email from your linked mailbox, drafts a personalized reply, and creates Linear tickets for bugs or feature requests. It uses a human-in-the-loop with gotoHuman and continuously improves itself by learning from approved examples. How it works The workflow triggers on every new email from your linked mailbox. Self-learning Email Classifier: an AI model categorizes the email into defined categories (e.g., Bug Report, Feature Request, Sales Opportunity, etc.). It fetches previously approved classification examples from gotoHuman to refine decisions. Self-learning Email Writer: the AI drafts a reply to the email. It learns over time by using previously approved replies from gotoHuman, with per-classification context to tailor tone and style (e.g., different style for sales vs. bug reports). Human Review in gotoHuman: review the classification and the drafted reply. Drafts can be edited or retried. Approved values are used to train the self-learning agents. Send approved Reply: the approved response is sent as a reply to the email thread. Create ticket: if the classification is Bug or Feature Request, a ticket is created by another AI agent in Linear. Human Review in gotoHuman: How to set up Most importantly, install the gotoHuman node before importing this template! (Just add the node to a blank canvas before importing) Set up credentials for gotoHuman, OpenAI, your email provider (e.g. Gmail), and Linear. In gotoHuman, select and create the pre-built review template "Support email agent" or import the ID: 6fzuCJlFYJtlu9mGYcVT. Select this template in the gotoHuman node. In the "gotoHuman: Fetch approved examples" http nodes you need to add your formId. It is the ID of the review template that you just created/imported in gotoHuman. Requirements gotoHuman (human supervision, memory for self-learning) OpenAI (classification, drafting) Gmail or your preferred email provider (for email trigger+replies) Linear (ticketing) How to customize Expand or refine the categories used by the classifier. Update the prompt to reflect your own taxonomy. Filter fetched training data from gotoHuman by reviewer so the writer adapts to their personalized tone and preferences. Add more context to the AI email writer (calendar events, FAQs, product docs) to improve reply quality.

gotoHumanBy gotoHuman
353

Ai website scraper & company intelligence

AI Website Scraper & Company Intelligence Description This workflow automates the process of transforming any website URL into a structured, intelligent company profile. It's triggered by a form, allowing a user to submit a website and choose between a "basic" or "deep" scrape. The workflow extracts key information (mission, services, contacts, SEO keywords), stores it in a structured Supabase database, and archives a full JSON backup to Google Drive. It also features a secondary AI agent that automatically finds and saves competitors for each company, building a rich, interconnected database of company intelligence. --- Quick Implementation Steps Import the Workflow: Import the provided JSON file into your n8n instance. Install Custom Community Node: You must install the community node from: https://www.npmjs.com/package/n8n-nodes-crawl-and-scrape FIRECRAWL N8N Documentation https://docs.firecrawl.dev/developer-guides/workflow-automation/n8n Install Additional Nodes: n8n-nodes-crawl-and-scrape and n8n-nodes-mcp fire crawl mcp . Set up Credentials: Create credentials in n8n for FIRE CRAWL API,Supabase, Mistral AI, and Google Drive. Configure API Key (CRITICAL): Open the Web Search tool node. Go to Parameters → Headers and replace the hardcoded Tavily AI API key with your own. Configure Supabase Nodes: Assign your Supabase credential to all Supabase nodes. Ensure table names (e.g., companies, competitors) match your schema. Configure Google Drive Nodes: Assign your Google Drive credential to the Google Drive2 and save to Google Drive1 nodes. Select the correct Folder ID. Activate Workflow: Turn on the workflow and open the Webhook URL in the “On form submission” node to access the form. --- What It Does Form Trigger Captures user input: “Website URL” and “Scraping Type” (basic or deep). Scraping Router A Switch node routes the flow: Deep Scraping → AI-based MCP Firecrawler agent. Basic Scraping → Crawlee node. Deep Scraping (Firecrawl AI Agent) Uses Firecrawl and Tavily Web Search. Extracts a detailed JSON profile: mission, services, contacts, SEO keywords, etc. Basic Scraping (Crawlee) Uses Crawl and Scrape node to collect raw text. A Mistral-based AI extractor structures the data into JSON. Data Storage Stores structured data in Supabase tables (companies, company_basicprofiles). Archives a full JSON backup to Google Drive. Automated Competitor Analysis Runs after a deep scrape. Uses Tavily web search to find competitors (e.g., from Crunchbase). Saves competitor data to Supabase, linked by company_id. --- Who's It For Sales & Marketing Teams: Enrich leads with deep company info. Market Researchers: Build structured, searchable company databases. B2B Data Providers: Automate company intelligence collection. Developers: Use as a base for RAG or enrichment pipelines. --- Requirements n8n instance (self-hosted or cloud) Supabase Account: With tables like companies, competitors, social_links, etc. Mistral AI API Key Google Drive Credentials Tavily AI API Key (Optional) Custom Nodes: n8n-nodes-crawl-and-scrape --- How It Works Flow Summary Form Trigger: Captures “Website URL” and “Scraping Type”. Switch Node: deep → MCP Firecrawler (AI Agent). basic → Crawl and Scrape node. Scraping & Extraction: Deep path: Firecrawler → JSON structure. Basic path: Crawlee → Mistral extractor → JSON. Storage: Save JSON to Supabase. Archive in Google Drive. Competitor Analysis (Deep Only): Finds competitors via Tavily. Saves to Supabase competitors table. End: Finishes with a No Operation node. --- How To Set Up Import workflow JSON. Install community nodes (especially n8n-nodes-crawl-and-scrape from npm). Configure credentials (Supabase, Mistral AI, Google Drive). Add your Tavily API key. Connect Supabase and Drive nodes properly. Fix disconnected “basic” path if needed. Activate workflow. Test via the webhook form URL. --- How To Customize Change LLMs: Swap Mistral for OpenAI or Claude. Edit Scraper Prompts: Modify system prompts in AI agent nodes. Change Extraction Schema: Update JSON Schema in extractor nodes. Fix Relational Tables: Add Items node before Supabase inserts for arrays (social links, keywords). Enhance Automation: Add email/slack notifications, or replace form trigger with a Google Sheets trigger. --- Add-ons Automated Trigger: Run on new sheet rows. Notifications: Email or Slack alerts after completion. RAG Integration: Use the Supabase database as a chatbot knowledge source. --- Use Case Examples Sales Lead Enrichment: Instantly get company + competitor data from a URL. Market Research: Collect and compare companies in a niche. B2B Database Creation: Build a proprietary company dataset. --- WORKFLOW IMAGE --- Troubleshooting Guide | Issue | Possible Cause | Solution | |-------|----------------|-----------| | Form Trigger 404 | Workflow not active | Activate the workflow | | Web Search Tool fails | Missing Tavily API key | Replace the placeholder key | | FIRECRAWLER / find competitor fails | Missing MCP node | Install n8n-nodes-mcp | | Basic scrape does nothing | Switch node path disconnected | Reconnect “basic” output | | Supabase node error | Wrong table/column names | Match schema exactly | --- Need Help or More Workflows? Want to customize this workflow for your business or integrate it with your existing tools? Our team at Digital Biz Tech can tailor it precisely to your use case from automation logic to AI-powered enhancements. Contact: shilpa.raju@digitalbiz.tech For more such offerings, visit us: https://www.digitalbiz.tech ---

DIGITAL BIZ TECHBy DIGITAL BIZ TECH
923

Generate Weather-Based Date Itineraries with Google Places, OpenRouter AI, and Slack

🧩 What this template does This workflow builds a 120-minute local date course around your starting point by querying Google Places for nearby spots, selecting the top candidates, fetching real-time weather data, letting an AI generate a matching emoji, and drafting a friendly itinerary summary with an LLM in both English and Japanese. It then posts the full bilingual plan with a walking route link and weather emoji to Slack. 👥 Who it’s for Makers and teams who want a plug-and-play bilingual local itinerary generator with weather awareness — no custom code required. ⚙️ How it works Trigger – Manual (or schedule/webhook). Discovery – Google Places nearby search within a configurable radius. Selection – Rank by rating and pick the top 3. Weather – Fetch current weather (via OpenWeatherMap). Emoji – Use an AI model to match the weather with an emoji 🌤️. Planning – An LLM writes the itinerary in Markdown (JP + EN). Route – Compose a Google Maps walking route URL. Share – Post the bilingual itinerary, route link, and weather emoji to Slack. 🧰 Requirements n8n (Cloud or self-hosted) Google Maps Platform (Places API) OpenWeatherMap API key Slack Bot (chat:write) LLM provider (e.g., OpenRouter or DeepL for translation) 🚀 Setup (quick) Open Set → Fields: Config and fill in coords/radius/time limit. Connect Credentials for Google, OpenWeatherMap, Slack, and your LLM. Test the workflow and confirm the bilingual plan + weather emoji appear in Slack. 🛠 Customize Adjust ranking filters (type, min rating). Modify translation settings (target language or tone). Change output layout (side-by-side vs separated). Tune emoji logic or travel mode. Add error handling, retries, or logging for production use.

nodaBy noda
52