Automation, Engineering case study

Content Automation
Pipeline.

A self-hosted n8n instance that turns RSS sources into scripted, voiced short-form video and auto-publishes it to TikTok and Instagram, on a schedule, with no manual step in between.

Role
Workflow design + build
Runtime
Self-hosted n8n
Platform
TikTok + Instagram
Tools
n8n, OpenAI, Whisper, Creatomate

Scroll to watch it run. Or hold.

Feature 01Sources
01 / Trigger02 / Sources03 / Merge04 / Pick

06:00, no human.

A schedule fires the publish pipeline every morning.

Three feeds, read together.

Research news, psychology digests and clinical summaries are pulled in parallel.

One clean stream.

Items are merged, normalised and de-duplicated, so yesterday's story never runs twice.

One story goes forward.

Seven new items are packed into one payload, and one story is picked.

Feature 02Script
01 / Read02 / Write03 / Trends04 / Caption

The article goes in.

The picked story is handed to the language model with a strict script brief.

Hook, three points, call to action.

The model writes a 42 second script of about 108 words.

Tags come from what is trending.

A parallel branch pulls trending hashtags and keeps only the relevant few.

Caption and tags, saved.

A second pass writes the caption, and the row moves to scripted.

Feature 03Voice
01 / Voice02 / Listen03 / Group04 / Sync
voiceover 0:00

The script becomes audio.

The script goes to a text to speech service and comes back as a voiceover.

Whisper timestamps every word.

The audio is transcribed again to learn exactly when each word starts.

Words become caption lines.

A model pass groups words into short lines that read well on a phone.

Captions land on the beat.

Timed lines are merged with the audio, ready to render.

Feature 04Render
01 / Visuals02 / Wait03 / Render04 / Done
0/5 jobs started

One image per beat.

Each script block becomes a generated image, requested as a background job.

Not ready? Wait and ask again.

The workflow pauses, checks the job, and loops until the image is done.

Assemble the video.

Audio, images and timed captions go to a template renderer in one request.

A 9:16 video, saved.

The finished MP4 link is written back to the sheet row.

Feature 05Publish
01 / Ready02 / Upload03 / Post04 / Log
0/6 rows checked

Only finished rows post.

The publisher reads rows marked ready and ignores everything else.

Media goes up once.

The video is uploaded a single time and reused by both platforms.

TikTok and Instagram, together.

Two posting nodes run in parallel from the same upload.

The row records the result.

Status, post ids and time are written back, so every post is traceable.

Feature 06Isolation
01 / Collect02 / Store03 / Failure04 / Isolated
daily

A second workflow, on its own.

It reads a list of tracked accounts and loops through them one by one.

Signals go to two sheets.

Fresh metrics update the live sheet, and every run is also kept as history.

Then something breaks.

One scrape times out overnight, and the log names the exact node and payload.

Publishing never noticed.

The 06:00 run starts on time, because the two workflows share no path.

Feature 07Shorts
01 / Same backbone02 / Agent03 / Motion04 / Ship
long-form lane

A new format, not a new pipeline.

Schedule, wait, render and upload are reused. Script becomes an agent, plus vision and clip.

An agent writes the carousel.

A model with memory and a sheet tool drafts five slides that avoid repeats.

Stills become clips.

A vision step reads each image, then it is animated into a short clip.

Three platforms, one render.

TikTok, Instagram and YouTube Shorts are posted from the same finished video.

The real graphs

Everything above is redrawn for clarity. These are the actual n8n canvases the pipeline runs on.

n8n workflow graph for AI video content generation: RSS merge, script generation, Whisper voiceover, render, TikTok/Instagram posting
The full video-generation graph: RSS ingestion on the left, script + voiceover + render in the middle, publishing on the right.
n8n workflow for TikTok data scraping
A dedicated scraping workflow, isolated from the publishing pipeline so failures don't cascade.
n8n workflow for short-form video content generation
A second content format built on the same underlying nodes, not a separate pipeline.
Read the full write-up
01Problem

Short-form content is a production pipeline, not a script.

Publishing consistently on TikTok and Instagram means research, scriptwriting, voiceover, visuals, captioning, and posting, done daily. Doing that by hand doesn't scale, and most "automation" tools stop at scripting and still expect a human to render and upload the result.

02Goal

RSS in, published video out. No manual step.

One pipeline that watches curated content sources on a schedule, drafts a script with an LLM, generates voiceover, sources visuals, renders the final video, and posts it directly to TikTok and Instagram, with only a review checkpoint if something needs a human eye.

03Build

A 30+ node workflow, orchestrated end to end.

The video-generation graph is one schedule-triggered workflow: it merges multiple RSS sources, transcribes and rewrites them into a script with an LLM, calls OpenAI Whisper for voiceover, sources matching visuals, waits on async render jobs, and hands off the finished video to TikTok and Instagram posting nodes, with results logged back to a database at every stage.

Why n8n over a custom script

A visual workflow engine keeps every branch, retry, and merge point inspectable. When a scheduled run fails at 3am, the execution log shows exactly which node broke and with what payload, instead of a stack trace with no context.

04Data collection

Scraping trend and engagement signals.

A second workflow handles TikTok data collection separately from the publishing pipeline: pulling engagement signals to inform what gets scripted next, decoupled so a scraping failure never blocks the publishing schedule.

05Variants

A second format, same backbone.

Shorts-format content runs through a parallel workflow that reuses the same script-generation and posting backbone, tuned for a different pacing and visual style rather than being rebuilt from scratch.

06Outcome

Running on a schedule, self-hosted.

The pipeline runs on a self-hosted n8n instance rather than a managed SaaS tier, so there's no per-execution billing ceiling and every credential and API key stays under direct control.

The system in numbers: 30+ nodes in the video workflow, 3 workflows: video, scraping and shorts, 0 manual steps between feed and post.

Next case study
Made-to-Measure Shopify Platform