π¬ Create Instagram, TikTok and LinkedIn carousels with OpenAI and PostWire
β‘ 4 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 collects a carousel topic via an n8n form, uses OpenAI to plan slide copy and generate images, uploads the slides to PostWire, and publishes them as Instagram, TikTok, and LinkedIn multi-image posts, logging results to Google Sheets and emailing failures via Gmail.
How it works
- Receives a submission from an n8n form with the topic, audience, number of slides, and target networks.
- Uses OpenAI (gpt-5-mini) to generate a JSON plan containing per-slide headlines, image prompts, alt text, and platform-specific captions.
- For each planned slide, requests an upload URL from PostWire, generates a square image with OpenAI GPT Image (gpt-image-1-mini), uploads the PNG to PostWire, and finalizes it to get a hosted media URL.
- Aggregates all slide media URLs, sorts them into the original slide order, and publishes a multi-image post to the selected platforms via PostWire using an idempotency key based on the form submission.
- If all platforms publish successfully, appends a βpostedβ record with slide headlines and post links to Google Sheets.
- If any platform fails, logs the error details to Google Sheets and sends a Gmail message with the platform-specific fixes and any successfully published links.
Setup
- Create a PostWire account, connect Instagram/TikTok/LinkedIn, and add an HTTP Header Auth credential in n8n with
Authorization: Bearer <your PostWire API key>for the PostWire HTTP Request steps. - Add an OpenAI credential with access to
gpt-5-miniandgpt-image-1-mini. - Connect Google Sheets OAuth credentials and select the target spreadsheet and sheet in both Google Sheets append steps.
- Connect Gmail credentials and replace
you@example.comwith your recipient address. - Use the form URL from the form trigger to submit a test topic and confirm posting permissions for the selected networks.
π Nodes Used
Google Sheets, HTTP Request, Gmail, n8n Form Trigger, OpenAI
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File