Back to Templates

Generate News-based AI Videos with HeyGen and Publish to Instagram & TikTok

Created by

Created by: Harry Hazby || harryhaz

Harry Hazby

Last update

Last update 21 hours ago

Share


This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

HeyGen AI Video Generation with Social Media Publishing

Description

This workflow automates the entire process of creating AI-generated videos from trending news content and publishing them to social media platforms (Instagram and TikTok). It runs daily at 6 AM, finds viral-worthy news, generates scripts, creates AI avatar videos using HeyGen, and automatically publishes to multiple social platforms.

How it works

Content Discovery & Script Generation

  1. Schedule Trigger: Runs daily at 6 AM
  2. Perplexity Search: Finds trending news articles that would make good viral content
  3. Write Video Script: Uses GPT-4.1 to create a 30-second video script with hook, main content, and CTA
  4. Extract URL: Parses the article URL and script data for further processing

Video Creation Pipeline

  1. Get Screenshot: Uses ScreenshotOne API to create an animated scrolling video of the news article
  2. Upload to Cloudinary: Temporarily stores the background video
  3. Write Video Caption: Generates an engaging social media caption (150-200 characters)
  4. Prepare Avatar Data: Combines all data needed for HeyGen video generation
  5. Create Avatar Video: Sends request to HeyGen API to generate AI avatar video with:
    • Talking photo avatar
    • Text-to-speech voice
    • Background video from the news article
    • 720x1280 dimensions (vertical format)

Data Management

  1. Prepare Sheets Data: Formats video metadata
  2. Store to Google Sheets: Saves video_id, caption, timestamp, and status for tracking

Webhook Processing (Asynchronous)

  1. HeyGen Webhook: Receives callback when video generation is complete
  2. Process HeyGen Callback: Extracts video URLs and status from webhook
  3. Get Caption from Sheets: Retrieves the associated caption using video_id
  4. Combine Data: Merges video data with caption

Social Media Publishing

  1. Upload to Blotato: Uploads the completed video to Blotato media service
  2. Extract Blotato URL: Gets the media URL for social posting
  3. Assign Social Media IDs: Sets the account IDs for each platform
  4. INSTAGRAM: Posts video to Instagram with caption
  5. TIKTOK: Posts video to TikTok with caption and appropriate settings

Setup

Prerequisites

  1. API Keys Required:

    • Perplexity API (for news search)
    • OpenAI API (for script and caption generation)
    • ScreenshotOne API (for article screenshots)
    • HeyGen API (for AI video generation)
    • Cloudinary account (for temporary video storage)
    • Blotato API (for social media posting)
    • Google Sheets API (for data tracking)
  2. HeyGen Setup:

    • Create a talking photo avatar and get the talking_photo_id
    • Select a voice and get the voice_id
    • Set up a webhook endpoint in n8n for callbacks
  3. Google Sheets Setup:

    • Create a new Google Sheet
    • Add headers: video_id, caption, timestamp, status
    • Get the sheet ID from the URL
  4. Social Media Setup:

    • Connect Instagram and TikTok accounts to Blotato
    • Get the account IDs for each platform

Configuration Steps

  1. Replace all placeholder values:

    • YOUR_TALKING_PHOTO_ID - HeyGen avatar ID
    • YOUR_VOICE_ID - HeyGen voice ID
    • YOUR_WEBHOOK_URL - Your n8n webhook URL
    • YOUR_GOOGLE_SHEET_ID - Google Sheets document ID
    • YOUR_INSTAGRAM_ACCOUNT_ID - Blotato Instagram account ID
    • YOUR_TIKTOK_ACCOUNT_ID - Blotato TikTok account ID
    • YOUR_CLOUD_NAME - Cloudinary cloud name
    • YOUR_UPLOAD_PRESET - Cloudinary upload preset
  2. Add credentials in n8n:

    • Perplexity API credentials
    • OpenAI API credentials
    • HeyGen API credentials (create custom API credentials with X-Api-Key)
    • Blotato API credentials
    • Google Sheets OAuth2
    • ScreenshotOne API credentials
  3. Configure the webhook:

    • Copy the webhook URL from the "HeyGen Webhook" node
    • Use this URL in the "Create Avatar Video" node's callback_url

Notes

  • The workflow uses a two-part asynchronous process: initial video creation and webhook-based completion
  • Videos are optimized for vertical format (720x1280) for mobile social media
  • The Google Sheet acts as a database to link video IDs with captions
  • All sensitive content (URLs, API keys) should be replaced with your own values
  • Consider content moderation and copyright when selecting news sources
  • Monitor API usage and costs, especially for HeyGen video generation

Customization Options

  • Content Sources: Modify the Perplexity search query to target specific news sources or topics
  • Video Style: Adjust avatar position, scale, and background video settings
  • Voice Settings: Change voice_id, speed, and pitch for different narration styles
  • Publishing Schedule: Modify the Schedule Trigger for different times or frequencies
  • Social Platforms: Add more platforms by duplicating the Blotato posting nodes