🎬 Convert websites to Instagram Reels with Gemini Veo, OpenAI TTS, and JsonCut

⚡ 146 views · 🎬 Content Creation & Video

💡 Pro Tip — Heads up — if this workflow’s Instagram scraping breaks (it happens whenever Meta updates their frontend), ScraperNode is a community node that handles profiles, posts, reels, and comments without any HTML parsing.

View All Scrapers

Description

⚠️ Important: This workflow uses community nodes (JsonCut, Blotato) and requires a self-hosted n8n instance.

This n8n template automates the entire process of transforming blog articles and any kind of other websites into short-form informational videos for Instagram. It scrapes content, generates AI-powered video clips, adds voiceover and subtitles, and publishes directly to social media—all with proper source attribution and branding.

Who’s it for

Content creators, digital marketers, and social media managers who want to repurpose quality blog content into engaging video formats. Perfect for those running content marketing operations who need to maintain consistent social media presence without manual video editing.

What it does

The workflow takes a blog article URL as input and produces a fully composed Instagram-ready video with:

How it works

  1. Content Extraction: Firecrawl scrapes the blog article and extracts clean markdown content
  2. Content Summarization: An LLM via OpenRouter condenses the article into digestible talking points (max 1,000 characters)
  3. Script Generation: A second LLM generates 3-5 video prompts, narration text, and social media caption in structured JSON format
  4. Video Generation: Google Veo API creates 8-second background clips in 9:16 format for each prompt
  5. Audio Creation: OpenAI TTS converts the narration to speech, while Openverse API fetches royalty-free background music
  6. File Upload: All assets (videos, voice, music) are uploaded to JsonCut’s storage
  7. Video Composition: JsonCut merges everything together with auto-subtitles, transitions, branding overlays, and source attribution
  8. Publishing: Blotato uploads the final video to Instagram as a reel with the generated caption

Setup requirements

Required accounts and credentials:

Installation steps:

  1. Install community nodes:

    • @mendable/n8n-nodes-firecrawl
    • n8n-nodes-jsoncut
    • @blotato/n8n-nodes-blotato
  2. Configure all API credentials in n8n’s credential manager

  3. Update the Blotato Instagram account ID in the “Create Instagram post” node

  4. Replace the branding overlay image URL in the JsonCut “Generate media” node config:

    "path": "https://your-logo-url.png"
  5. Test with the chat trigger by entering a blog article URL

Good to know

Cost considerations:

Rate limits: Google Veo free tier is limited to 10 requests per day, which means ~2-3 complete workflows daily

Processing time: Full workflow takes 5-10 minutes depending on Veo API response times

Source attribution: The workflow automatically extracts the domain from the input URL and displays it on the first video clip

Video quality: Output depends heavily on input quality. The workflow is designed for repurposing legitimate content

đź”— Nodes Used

HTTP Request, AI Agent, Structured Output Parser, Chat Trigger, OpenAI, OpenRouter Chat Model

📥 Import

Download workflow.json and import into n8n: Workflow menu → Import from File

📖 Importing guide · 🔑 Credential setup