POV Video Creator: Automating TikTok-Style Instagram Video Automation, Approval, and Multi-Platform Posting Using AI, ElevenLabs, Google Sheets, and Social Media APIs

Description
What Problem Does This Solve? š„
This workflow automates the creation, rendering, approval, and posting of TikTok-style POV (Point of View) videos to Instagram, with cross-posting to Facebook and YouTube. It eliminates manual video production, approval delays, and inconsistent posting schedules. It ensures high-quality content creation and distribution for social media managers and content creators
Target audience : Social media managers, content creators, small to medium-sized businesses, and n8n users familiar with AI tools, Google Sheets, and social media APIs
What Does It Do? š
- Generates daily POV video ideas using OpenAI
- Create images, videos, and audio with PIAPI.ai and ElevenLabs
- Renders final videos with Creatomate
- Manages approvals via email and Google Sheets
- Posts approved videos to Instagram, Facebook, and YouTube
- Tracks progress in a Google Sheet for transparency
Key Features
- AI-driven idea generation and script creation
- Automated media production with image, video, and audio synthesis
- Email-based approval system for quality control
- Cross-platform posting to Instagram, Facebook, and YouTube
- Real-time tracking in Google Sheets and Google Drive
- Error handling for rendering and posting failures
Setup Instructions
Prerequisites
-
n8n Instance : Self-hosted or cloud n8n instance
-
API Credentials :
-
OpenAI API : API key for idea generation, stored in n8n credentials
-
PIAPI.ai API : API key for image and video generation, stored in n8n credentials
-
ElevenLabs API : API key for audio generation, stored in n8n credentials
-
Creatomate API : API key for video rendering, stored in n8n credentials
-
Google Sheets/Drive API : OAuth2 credentials from Google Cloud Console with Sheets and Drive scopes
-
Gmail API : OAuth2 credentials from Google Cloud Console with Gmail scope
-
Instagram Graph API : User Access Token with
instagram_content_publish permission from a Facebook App
-
Facebook Graph API : Access Token from the same Facebook App
-
YouTube API : OAuth2 credentials for YouTube uploads
-
Google Sheet : A sheet named "POV Videos" with a tab "Instagram" and columns:
Timestamp , ID , Subject , Topic , Caption , POV_Status , Prompt , Publish_Status , Link , Final Video , Approval , row_number
-
Creatomate Template : A pre-configured template with video, audio, and text elements
Installation Steps
-
Import the Workflow :
- Copy the workflow JSON from the āTemplate Codeā section (to be provided)
- Import it into n8n via āImport from Fileā or āImport from URLā
-
Configure Credentials :
- Add API credentials in n8n's Credentials section for OpenAI, PIAPI.ai , ElevenLabs, Creatomate, Google Sheets/Drive, Gmail, Instagram Graph, Facebook Graph, and YouTube
- Assign credentials to respective nodes. For example:
- In "Text-to-Image", use PIAPI.ai credentials:
{{ $credentials.PIAPI }}
- In "Render with Creatomate", use Creatomate credentials:
{{ $credentials.Creatomate }}
- In "Send Approval Request", use Gmail credentials
-
Set Up Nodes :
-
Schedule Trigger : Configure to run daily
-
Approval Email (Send Approval Request) : Customize the HTML email template with approval/rejection links
-
Post to Social Media Nodes (Instagram Container, Facebook Posts, YouTube Posts) : Configure with your Instagram Business Account ID, Facebook Page ID, and YouTube channel details
-
Configure Google Sheet and Drive :
- Create "POV Videos" Google Sheet with "Instagram" tab and specified columns
- Share the sheet with your Google Sheets credential email
- Create "Audio" and "Video" folders in Google Drive, noting their IDs
-
Test the Workflow :
- Run manually to verify idea generation, media creation, and posting
- Check email notifications, Google Sheet updates, and social media posts
-
Schedule the Workflow :
- Enable "Schedule Trigger" and "Schedule Trigger1" for daily runs
- Enable "Get Latest Approved Video" to poll at 7 PM daily
How It Works
High-Level Steps
-
Generate Video Ideas : Creates daily POV video concepts with OpenAI
-
Create Media : Produces images, videos, and audio using AI tools
-
Render Video : Combines media into a final video with Creatomate
-
Manage Approvals : Sends approval emails and processes decisions
-
Post to Platforms : Publishes approved videos to Instagram, Facebook, and YouTube
Detailed Descriptions
Detailed node descriptions are available in the sticky notes within the workflow (to be provided). Below is a summary of key actions
Node Names and Actions
Video Idea Generation and Script Creation
-
Schedule Trigger : Initiates daily workflow
-
Get Title : Fetches pending video ideas from Google Sheet
-
Generate Topics : Uses OpenAI to create a new video idea
-
Format Row : Structures the idea into a Google Sheet row
-
Insert new Prompt, Caption and Title/Topic : Adds the idea to Google Sheet
-
Generate Ideas : Produces 3 POV sequences
-
Generate Script : Expands a sequence into a detailed script
-
Set Topics : Stores the script for media creation
Media Creation
-
Text-to-Image : Generates an image with PIAPI.ai
-
Get Image : Retrieves the generated image
-
Generate Video Prompt : Creates a video prompt from the image
-
Generate Video : Produce a 5-second video with PIAPI.ai
-
Access Videos : Retrieves the video URL
-
Store Video : Updates Google Sheet with video URL
-
Generate Sound Prompt : Creates an audio prompt
-
Text-to-Sound : Generates a 20-second audio clip with ElevenLabs
-
Store Sound : Uploads audio to Google Drive
-
Allow Access : Sets audio file permissions
Video Rendering
-
Merge : Combines script, video, and audio data
-
List Elements : Formats data for Creatomate
-
Render with Creatomate : Renders the final video
-
Check Video Status : Routes based on render success/failure
Storage and Notification
-
Google Drive : Uploads the rendered video
-
New Render Video Alert : Sends success email
-
Failed Render : Sends failure email
-
Render Video Link : Updates Google Sheet with final video URL
Approval Process
-
Approval Email : Sends approval request email
-
Handle Approval/Rejection1 : Processes approval/rejection via webhook
-
Video Update1 : Updates Google Sheet with approval status
Social Media Posting
-
Get Latest Approved Video : Polls for approved videos
-
Check Approval : Routes based on approval status
-
Instagram Container : Creates Instagram media container
-
Posts to Instagram : Publishes to Instagram
-
Facebook Posts : Posts to Facebook
-
Download Video : Download videos for YouTube
-
Post YouTube : Uploads to YouTube
-
Mark Rejected : Updates status for rejected videos
-
Update Google Sheet : Updates publish status
Customization Tips
-
Expand Platforms : Add nodes to post to other platforms
-
Modify Approval Email : Update the Send Approval Request node to customize the HTML template
-
Alternative Notifications : Add nodes for Slack or Telegram alerts
-
Adjust Video Duration : Modify Generate Video node to change duration (default: 5 seconds)