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
- Creates 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, Post YouTube) : 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 : Produces 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
- Post to Instagram : Publishes to Instagram
- Facebook Posts : Posts to Facebook
- Download Video : Downloads video 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)