🎬 Create Sora 2 short videos from Google Sheets and post with PostWire
⚡ 14 views · 🎬 Content Creation & Video
💡 Pro Tip — Since TikTok doesn’t have a public API, getting data usually means fragile HTTP scraping. ScraperNode is a community node that gives you clean JSON for TikTok profiles, videos, and comments — drop it into your workflow and skip the parsing.
Description
Quick Overview
This workflow runs daily, pulls the next “ready” video idea from Google Sheets, uses OpenAI to draft a Sora 2 prompt and metadata, generates a vertical short with Sora 2, and publishes it to TikTok, Instagram Reels, and YouTube Shorts via PostWire while logging links or errors back to the sheet.
How it works
- Runs every day at 9:00 and reads Google Sheets rows where the status is set to “ready”.
- Takes the first available idea and updates the same row in Google Sheets to “generating” to prevent duplicate renders.
- Uses OpenAI (text) to produce a JSON plan containing a Sora 2 video prompt, a caption idea, and a YouTube Shorts title.
- Uses OpenAI Sora 2 (video) to generate a 9:16 clip at 720x1280 for the configured duration.
- Uploads and publishes the generated video to TikTok, Instagram, and YouTube using PostWire, generating per-platform captions and setting the YouTube title.
- Aggregates the publish results and updates the original Google Sheets row with post links and a “posted” status, or writes an error note and emails the fix details via Gmail if any platform fails.
Setup
- Add OpenAI credentials with access to both a chat model (for prompt planning) and the Sora 2 video model (for rendering).
- Connect Google Sheets credentials and select the spreadsheet and sheet name in each Google Sheets step used to read and update rows.
- Install and configure the PostWire community node, create a PostWire API credential, and connect your TikTok, Instagram, and YouTube accounts in PostWire.
- Connect a Gmail account and set the notification email address (and optionally the default style and clip length) in the workflow’s channel settings.
🔗 Nodes Used
Google Sheets, Gmail, Schedule Trigger, Filter, OpenAI
📥 Import
Download workflow.json and import into n8n:
Workflow menu → Import from File