Repurpose a Blog Post or Video into Social Media Posts
You wrote a blog post. Or recorded a YouTube video. Or published a newsletter. Now you need to turn that content into posts for LinkedIn, Twitter, Instagram, TikTok, and Threads. Manually rewriting the same content six different ways takes hours.
This is one of the most common automation requests on the n8n forum and Make.com forum. Users build workflows that scrape a URL, extract the text, feed it into ChatGPT, and then wrestle with each platform's API to publish. The scraping step breaks on paywalled sites. The AI step needs careful prompting per platform. The publishing step requires separate OAuth setups for each social network.
Here is a three-step workflow that handles all of it.
The three-step pipeline
Ingest: Give Blotato a URL. It extracts the content (article text, YouTube transcript, TikTok transcript, PDF text, or audio transcription).
Transform: Blotato's AI rewrites the extracted content for each platform using custom instructions you provide.
Publish: Send the transformed content to each platform with one API call per platform.
Step 1: Extract content from a URL
Use the Create Source endpoint. Pass the URL and tell Blotato what type of content it is:
{
"source": {
"sourceType": "article",
"url": "https://example.com/my-blog-post"
},
"customInstructions": "Summarize this article in 3 key takeaways. Write in first person."
}For a YouTube video:
Supported source types: article, youtube, tiktok, pdf, audio, twitter, text, and perplexity-query.
The response returns an id. Poll the Get Source endpoint with that ID until the status is completed. The response includes the extracted and transformed text.
Step 2: Publish to each platform
Take the extracted text and pass it to the Publish Post endpoint for each platform. One API call per platform.
LinkedIn example:
Twitter example (same content, different platform):
Step-by-step: n8n workflow
Install the Blotato community node in n8n (Settings > Community Nodes > search "Blotato").
Add a trigger node. Use a webhook (so you fire it when you publish a new post), a Google Sheets trigger (add URLs to a spreadsheet), or a schedule (check an RSS feed on a timer).
Add a Blotato Create Source node. Set the source type to
article(oryoutube, depending on your content). Pass the URL from the trigger. Add custom instructions describing how you want the content summarized.Add a Blotato Get Source node. Connect it to the Create Source node. Pass the source ID. Enable polling until status is
completed.Add one Blotato Publish Post node per platform. Connect them in parallel from the Get Source node.
Map the extracted text into each Publish Post node's
textfield. Adjust the text per platform if needed (shorter for Twitter, longer for LinkedIn).Activate the workflow.
For a full walkthrough of the Blotato node setup, see: n8n Blotato Node
Step-by-step: Make.com scenario
Add a trigger module (webhook, Google Sheets, or RSS).
Add an HTTP module to call
POST https://backend.blotato.com/v2/source-resolutions-v3with theblotato-api-keyheader and your source type and URL in the body.Add a second HTTP module to poll
GET https://backend.blotato.com/v2/source-resolutions-v3/{id}until status iscompleted. Use Make's built-in repeater or sleep module for polling.Add a Router module after the source is complete.
Add one HTTP module per platform route, each calling
POST https://backend.blotato.com/v2/postswith the platform-specific request body.Activate the scenario.
What you feed in vs. what comes out
Blog post URL
article
Extracted article text, transformed by your custom instructions
YouTube video URL
youtube
Full transcript, transformed by your custom instructions
TikTok video URL
tiktok
Transcript from the video
PDF URL
pdf
Extracted text from the document
Audio file URL
audio
Transcription of the audio
Raw text
text
Your text, transformed by custom instructions
Search query
perplexity-query
AI-researched answer to your query
Scheduling repurposed posts
Instead of publishing immediately, stagger your posts across the week. Add scheduledTime or useNextFreeSlot to each publish request:
Or let Blotato pick the next open slot in your content calendar:
See Build a Social Media Scheduler for a full scheduling walkthrough.
Forum threads referenced
These are the community discussions that prompted this post:
Last updated