Generate News Digest Videos from WordPress to YouTube with Shotstack

Go to Workflow
185 views
Built by Alexandru Burca Alexandru Burca
Created on June 05, 2026

Description

Daily News Digest Video Generator for YouTube Shorts

Instalations Instructions

Youtube Instalation Instructions

Overview

This workflow automatically creates and publishes daily news digest videos from WordPress articles to YouTube. It runs every evening at 7 PM, compiling the day's top stories from a news portal into a professionally formatted vertical video (1080x1920px) optimized for social media platforms like YouTube Shorts.

What It Does

1. ๐Ÿ• Scheduled Trigger
Runs automatically every day at 19:00 (7 PM)

2. ๐Ÿ“ฐ Fetches Today's Articles
Retrieves all published WordPress posts from the current day

3. โœ… Validates Content
Ensures there are at least 3 articles before proceeding

4. ๐ŸŽฌ Video Detection
Scans article content HTML for embedded videos
Extracts MP4 URLs from WordPress video players
Parses wp-playlist-script JSON data
Falls back to ` and <source>` tag detection

5. ๐Ÿงน Data Processing
Extracts** article titles, links, and featured media IDs
Decodes HTML entities**: Converts – to โ€“, " to ", etc.
Fetches featured images** from WordPress Media API
Assigns default images** for articles without featured media
Calculates reading time** per article (3-7 seconds based on word count)
Cleans text**: Removes HTML tags and normalizes whitespace

6. ๐ŸŽฅ Video Generation (via Shotstack API)

Intro Slide (3 seconds)
Black background
Large logo (centered)
Title on center
Current date in DD-MM-YYYY format

News Slides (3-7 seconds each)
Each article is displayed with:
Background**: Video (if available) or featured image, cropped to fit
Dark overlay**: 40% opacity black layer for text readability
Article headline**: Large white text at top
Small logo**: Top-right corner
Pagination counter**: Bottom-right white badge (e.g., "1 / 22")
CTA button**: Centered CTA
Background music**: Subtle looped audio track
Transitions**: Smooth fade in/out between slides

Outro Slide (3 seconds)
Identical to intro slide
Provides clean ending to the video

7. โณ Processing Wait
Waits 30 seconds for Shotstack to render the video
Polls Shotstack API to verify video completion

8. ๐Ÿ“ฅ Download Video
Retrieves the finished MP4 file from Shotstack
Downloads video data for YouTube upload

9. ๐Ÿ“ค YouTube Upload
Automatically uploads to YouTube with:
Title**: "Daily Digest - [Day] [Weekday], [Year]"
Description**: Same as title
Category**: News & Politics
Made for kids**: Yes
Tags**: dailydigest

โœจ Key Features

Intelligent Content Handling
โœ… Automatic video/image detection and intelligent media selection
โœ… Dynamic reading time calculation for optimal viewer engagement
โœ… HTML entity cleaning for proper text display (WordPress compatibility)
โœ… Fallback default images for articles without media
โœ… Video background support with automatic muting

Professional Video Production
โœ… Vertical format optimized for mobile viewing (1080x1920px)
โœ… Professional branding with logos and consistent styling
โœ… Smooth fade transitions between slides
โœ… Background music with looping support
โœ… Dynamic pagination counters
โœ… Call-to-action buttons for engagement

Customization
โœ… Centralized variables for easy branding updates
โœ… Configurable logos, colors, and text
โœ… Adjustable reading time calculation
โœ… Flexible date formatting
โœ… Customizable audio track

๐ŸŽฏ Use Cases

Perfect for:
๐Ÿ“ฐ News websites wanting to repurpose daily articles
๐Ÿ“ฑ Media outlets creating social media content
๐ŸŽฅ Content creators automating video production
๐Ÿ”„ Publishers maximizing content distribution
๐Ÿ“Š Marketing teams driving traffic from social platforms

๐Ÿ”ง Customization Options

Easy Changes
Update logos by changing logo_big and logo_small URLs
Modify branding colors via button_bg_color variable
Adjust button text with button_text variable
Change video title with daily_digest_text variable
Update background music by replacing audio URL

Advanced Customization
Adjust reading time formula in calculateReadingTime() function
Modify date format in getRomanianDate() function
Change video dimensions (currently 1080x1920)
Update font family and sizes
Adjust overlay opacity and colors
Modify transition effects

๐Ÿ“‹ Prerequisites

Required Credentials
WordPress API - Access your WordPress site
Shotstack API - API key for video rendering (Stage environment)
YouTube OAuth2 - Authenticated YouTube account for uploads



Nodes Used (4)

Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest
Wordpress
n8n-nodes-base.wordpress
YouTube
n8n-nodes-base.youTube