# How to Turn a Blog Post into Social Media Posts with AI

Published: 2026-10-14 · Updated: 2026-10-21

**Key takeaways:** Don't paste one caption everywhere: X allows 280 characters, LinkedIn 3,000. Give PostBoost the article URL and it writes one caption per account within that network's limit, renders carousel slides and saves it all as a draft. Nothing is published until you schedule it.

To turn a blog post into social media posts with AI, give the article URL to a tool that writes **one caption per network**, within each network's character limit, and hands you a draft to review instead of publishing. In PostBoost that is **Tools → Repurpose**: paste the URL, tick your accounts, and you get a caption for every account plus carousel slides, saved as one draft post. If you just want captions, the free [Blog to Social Media tool](/tools/blog-to-social-media) writes them without an account and opens any one of them as a PostBoost draft.

Below: why one caption for every network fails, what to take from an article, and the three ways to do it (free tool, app, API or AI assistant), with what each costs.

## Why one caption for every network doesn't work

The same paragraph cannot fit everywhere. Each network has its own limit and counts characters its own way:

| Network | Limit | How it counts |
|---|---|---|
| X | 280 (standard account) | Every link counts as 23; emoji and CJK characters count as 2 |
| Bluesky | 300 | Graphemes: one emoji counts as 1 |
| Threads | 500 | Characters |
| Mastodon | 500 by default (some servers allow more) | Links with https:// count as 23; a bare domain counts in full |
| Instagram | 2,200 | Characters; PostBoost allows at most 5 hashtags |
| LinkedIn | 3,000 | Characters |

A LinkedIn post cut down to 280 characters loses its argument, and an X post copied to LinkedIn looks thin. Paste any draft into the free [social media character counter](/tools/social-media-character-counter) to see how it fits on all of them at once.

## What to take from the article

Good repurposing pulls a different piece of the article for each format, rather than shrinking the whole thing:

- **Short networks (X, Bluesky, Threads):** one claim or one surprising detail, and the link. The opening line has to stand on its own.
- **LinkedIn and Facebook:** the argument. Problem, what you found, what the reader should do, then the link.
- **Instagram and LinkedIn carousels:** the steps or key points, one per slide, with a hook first and a call to action last.
- **Not at all:** your intro, your SEO paragraphs and anything that only makes sense next to the article.

PostBoost's Repurpose follows this split: captions are written per network and per limit, and the carousel is built from the key points (at most 25 words per slide).

## Option 1: the free tool (captions, no account needed)

1. Open the [Blog to Social Media tool](/tools/blog-to-social-media).
2. Paste the blog URL and pick up to 8 platforms (Facebook, Instagram, X, LinkedIn, Pinterest, YouTube, TikTok, Mastodon).
3. Choose length, tone, hashtags and a call to action, then generate.

You get one caption per platform. Copy it, or click **Schedule this one** on its card to open that caption as a draft in PostBoost (after a free signup if you are not signed in), where you add the article link and images, pick your accounts and schedule it. Each click opens one caption as its own draft; the tool makes no images or carousel slides.

## Option 2: Repurpose in PostBoost (captions, slides and a draft)

In your workspace, open **Tools** in the sidebar, then **Repurpose** (under Automation; workspace admins and members see it).

1. **Source:** choose **Article URL** and paste the link. The same page takes a **YouTube video**, a **PDF** (upload up to 20 MB, text PDFs only) or **Text**.
2. **Accounts:** tick the accounts to write for. Leave all unticked to write for every connected account.
3. **Options:** tone, length, hashtags, call to action, language (empty means the same as the source), carousel slides (3 to 8) and extra instructions such as "mention our free trial".
4. Keep **Make carousel slides**, **Use the workspace brand voice** and **Save the result as a draft post** ticked, then click **Repurpose**.

The run is queued; you can leave the page, and the draft appears in Posts when it is ready. Open it in the composer, edit each account's version and schedule it.

What the draft contains:

- A caption per account, written for that network and its limit.
- 1080×1350 carousel slides: up to 10 on Instagram, Facebook and Threads, up to 9 on LinkedIn, up to 4 on X and Bluesky, the cover slide on other networks, none on YouTube and TikTok.
- Without slides, the article image is attached instead when the page has one.

If your captions should sound like you rather than like a generic AI, set up a brand voice first: [How to make AI captions sound like your brand](/learn/ai-captions-that-sound-like-your-brand).

## Option 3: the API or your AI assistant

Automate it when you publish often, for example from your CMS's "post published" webhook:

```bash
curl -X POST "https://postboost.co/app/api/$WORKSPACE_UUID/ai/repurpose" \
  -H "Authorization: Bearer $POSTBOOST_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "source_type": "url",
    "url": "https://example.com/blog/our-launch",
    "platforms": ["linkedin_page", "instagram"],
    "slide_count": 5
  }'
```

The response holds `data.captions[]` (each with `content`, `character_count` and `character_limit`), `data.slides[]` and `data.post_uuid` of the draft. Send an `Idempotency-Key` so a retried call does not create a second draft.

The call waits up to 20 seconds. A run that takes longer answers `202` instead, with `data.run_id` and `data.status_url`. Poll that URL (`GET /app/api/{workspaceUuid}/ai/repurpose/runs/{runId}`) every few seconds until `data.status` is `ok`, `partial` or `failed`; an `ok` or `partial` run returns the same body in `data.result` for one hour (the draft post stays). From a webhook or CMS hook, send `"async": true` to get the `202` right away instead of holding the connection open. Details: [Repurposing docs](/docs/repurposing) and the [API reference](/docs/api/postboost-api).

From Claude or another assistant connected to PostBoost's [MCP connector](/docs/mcp), ask in plain words: "Turn this article into posts for our LinkedIn Page and Instagram, five slides, friendly tone." The `repurpose-content` tool saves a draft; you review and schedule it. Setup: [How to schedule social media posts with Claude](/learn/schedule-social-media-posts-with-claude).

## What it costs

- **AI text credits:** one per target account, plus one for the carousel outline.
- **AI image credits:** one per carousel, charged only when slides were rendered.
- **Example:** an article sent to 4 accounts with a carousel costs 5 text credits and 1 image credit. Without enough credits nothing runs and no credit is spent.

Each plan includes a monthly allowance of AI text and image credits; see [plans](/#pricing).

## Check the draft before you schedule it

AI drafts save time, but they still need a person to read them:

- **Facts and numbers** match the article, word for word where it matters.
- **The first line** works without the rest; most feeds cut long posts after a line or two.
- **The link** is in every caption that needs it. On X it always costs 23 characters.
- **Hashtags** are relevant, and no more than 5 on Instagram.
- **AI labels:** repurposed drafts are marked AI-generated, and PostBoost sets the native AI label on TikTok, Instagram and YouTube ([AI disclosure](/docs/ai-disclosure)).

Want a thread instead of a single post? Paste the article into the free [X thread maker](/tools/x-thread-maker): it splits text at paragraphs and sentences into numbered posts that fit X, Threads, Bluesky or Mastodon.

## Do this in PostBoost

- [AI create](https://postboost.co/features/ai): Get caption ideas in the editor, turn an article or video into a draft for every account, and keep the tone in line with a saved brand voice.

## Free tools for this guide

- [Blog to social media post generator](https://postboost.co/tools/blog-to-social-media): Paste a blog post URL and get AI captions for Facebook, Instagram, X, LinkedIn, Pinterest, YouTube, TikTok and Mastodon, sized for each network. Free.
- [Social media character counter](https://postboost.co/tools/social-media-character-counter): Free character counter for X, Threads, Bluesky, Instagram, LinkedIn, TikTok and more. Counts as each network does, live in your browser.
- [X thread maker: split long text into numbered posts](https://postboost.co/tools/x-thread-maker): Split long text into numbered posts for X, Threads, Bluesky or Mastodon. Never cuts a word or a link. Free, no signup, runs in your browser.

## FAQ

### Can I turn a blog post into social posts for free?

Yes. The free Blog to Social Media tool at postboost.co/tools/blog-to-social-media takes a blog URL and writes captions for up to 8 networks, without an account; Schedule this one opens a caption as a draft in PostBoost. To get one draft with a caption per account plus carousel slides, use Repurpose inside PostBoost.

### Does PostBoost publish the posts automatically?

No. Repurpose always saves a draft post. Nothing goes out until you schedule it in the calendar or composer, or ask your assistant to schedule it.

### How many AI credits does one article cost?

One AI text credit per target account, plus one for the carousel outline. The slides themselves use one AI image credit, charged only when slides were rendered. An article sent to 4 accounts with a carousel costs 5 text credits and 1 image credit.

### Can I repurpose a YouTube video or a PDF the same way?

Yes. Repurpose also takes a YouTube video (send the transcript for good results), a public PDF of up to 20 MB (first 30 pages) or pasted text of at least 100 characters.

### Will the captions be labelled as AI-generated?

Repurposed drafts are always marked AI-generated in PostBoost, and the native AI label is set on networks that have one (TikTok, Instagram, YouTube).

### How do I turn a blog post into an X thread instead of one post?

Paste the article or your draft into the free X thread maker. It splits the text at paragraphs and sentences into numbered posts that each fit X, Threads, Bluesky or Mastodon.

## Sources

- [X developer docs: counting characters](https://docs.x.com/resources/fundamentals/counting-characters)
- [Threads API: posts (500-character limit)](https://developers.facebook.com/docs/threads/posts)
- [Bluesky docs: post rich text and length](https://docs.bsky.app/docs/advanced-guides/post-richtext)
- [Mastodon docs: posting](https://docs.joinmastodon.org/user/posting/)
- [Meta Instagram Platform: error codes (2,200-character caption limit)](https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/error-codes)
- [LinkedIn Help: differences between posts and articles (3,000-character posts)](https://www.linkedin.com/help/linkedin/answer/86780)
- [PostBoost docs: repurposing](https://postboost.co/docs/repurposing)
- [PostBoost API reference: repurposeContent and blogToSocial](https://postboost.co/docs/api/postboost-api)

Canonical: https://postboost.co/learn/blog-post-to-social-media-posts-with-ai
