Title: AI-Powered Short-Form Video Content Factory (TikTok / Instagram Reels)

Context: Business / Content Production

Problem: Producing a steady stream of vertical short-form video content — script writing, visual generation, voice-over, character animation, editing, and publishing — is time-consuming and hard to scale manually, especially for a solo creator or small team running multiple channels.

Solution: A system of 6 interconnected workflows in n8n Cloud automates the full content pipeline from idea to published video, coordinated entirely through a single Google Sheet — no manual handoffs between steps.

Overall logic:

  1. WF_00 – Character Setup — generates 4 candidate AI-blogger portraits for a consistent recurring character (run once manually).
  2. WF_01 – Idea & Script — generates a fresh topic, hook, and full scene-by-scene script via LLM, with anti-repeat logic against the last 40 published topics (scheduled daily at 09:00) → sets status script_ready.
  3. WF_02 – Images — generates a scene image for every scene, keeping the recurring character consistent via a reference photo → images_done.
  4. WF_03 – Voice & Animate — generates voice-over and lip-synced talking-head clips or dynamic b-roll for each scene → clips_done.
  5. WF_04 – Assembly — stitches all clips together with subtitles and music via JSON2Video → rendered + final video link.
  6. WF_05 – Publish — auto-posts the finished video to TikTok/Instagram via Blotato → posted.

Key feature: Workflows never call each other directly — they communicate purely through status fields in Google Sheets (script_ready → images_processing → images_done → animating → clips_done → rendering → rendered → posting → posted). This lets each module be tested, re-run, or swapped independently, and lets multiple videos move through the pipeline in parallel without collisions.


Process

1. Prompt Design

The core system prompt lives in a single Code node ("Prompt Builder") inside WF_01. It's assembled dynamically from the Config sheet — niche, language, target video length, number of scenes, and character mode (a single recurring AI persona vs. fresh characters every video). The model always opens with a hook in the first scene, mixes "talking" and "b-roll" scene types, and closes with a call to action. To keep content fresh, the prompt includes the last 40 used topics from the Videos sheet as a forbidden list, forcing a new angle every run. Output is constrained to a strict JSON schema so the rest of the pipeline can parse it without extra cleanup.

2. API Integration

The system integrates four external services: