Viral Video Generator: HeyGen to TikTok & Instagram Auto-Post + Any Content

Go to Workflow
525 views
Built by Reddit Dev Reddit Dev
Created on June 05, 2026

Description

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
Schedule Trigger: Runs daily at 6 AM or any time you choose.
Perplexity Search: Finds trending news articles that would make good viral content
Write Video Script: Uses GPT-4.1 to create a 30-second video script with hook, main content, and CTA
Extract URL: Parses the article URL and script data for further processing

Video Creation Pipeline
Get Screenshot: Uses ScreenshotOne API to create an animated scrolling video of the news article
Upload to Cloudinary: Temporarily stores the background video
Write Video Caption: Generates an engaging social media caption (150-200 characters)
Prepare Avatar Data: Combines all data needed for HeyGen video generation
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
Prepare Sheets Data: Formats video metadata
Store to Google Sheets: Saves video_id, caption, timestamp, and status for tracking

Webhook Processing (Asynchronous)
HeyGen Webhook: Receives callback when video generation is complete
Process HeyGen Callback: Extracts video URLs and status from webhook
Get Caption from Sheets: Retrieves the associated caption using video_id
Combine Data: Merges video data with caption

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

Setup

Prerequisites
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)

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

Google Sheets Setup:
Create a new Google Sheet
Add headers: video_id, caption, timestamp, status
Get the sheet ID from the URL

Social Media Setup:
Connect Instagram and TikTok accounts to Blotato
Get the account IDs for each platform

Configuration Steps

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

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

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

Nodes Used (5)

Code
n8n-nodes-base.code
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
OpenAI
n8n-nodes-base.openAi
Perplexity
n8n-nodes-base.perplexity