Repurposing: one source, a draft for every account
Repurposing turns long-form content into a ready-to-review draft. Give it an article URL, a YouTube video, a PDF or plain text. PostBoost writes a caption for each selected account, sized to that network's character limit, and renders carousel slides from the key points. The result is saved as a draft. Nothing is published until you schedule it.
You can run it in three places:
- In the app: Tools → Repurpose at
https://postboost.co/app/{workspaceUuid}/repurpose(admins and members). - Through the API:
POST /{workspaceUuid}/ai/repurpose(operationrepurposeContent). - From an AI assistant: the MCP connector tool
repurpose-content.
Your plan must include AI features, and AI must be set up for your workspace.
Sources
source_type | What you send | Notes |
|---|---|---|
url | url of an article or blog post | The page is fetched and its main text extracted. |
youtube | url of a video (watch, shorts, embed, live or youtu.be links) | PostBoost does not download captions: send the video's transcript. A transcript plus description shorter than 300 characters is rejected with a 422 that asks for transcript. Chapters in the description guide the slides. |
pdf | pdf_url, a public link to the PDF (in the app you can also upload the file) | Up to 20 MB. Only the first 30 pages are read. Scanned PDFs without a text layer are not supported. |
text | title (up to 500 characters) and text (100 to 100,000 characters) | Use this for notes, transcripts or newsletters you already have. |
Long sources are cut to their first 12,000 characters before the AI reads them.
What you get
-
One caption per account. By default every connected account in the workspace gets one. Narrow this down with
account_ids(takes priority) orplatforms. Each caption is written for the account's network and its character limit. You can steer it withtone,content_length,hashtags,cta,languageandcustom_instructions(up to 500 characters). This is the same set of options as blog to social. -
Carousel slides (
carousel, on by default): 1080×1350 PNG images. A hook slide comes first, then the key points (25 words at most per slide), then a call-to-action slide.slide_countis 3 to 8 (default 7).theme.background,theme.foregroundandtheme.accenttake#RRGGBBcolours. Each network gets as many slides as it accepts:Network Slides Instagram, Facebook Pages, Threads, Telegram, Discord, Slack up to 10 LinkedIn (profile and Page) up to 9 X, Bluesky up to 4 YouTube, TikTok none (a warning explains why) Other networks the cover slide only With
carousel: false(or when no slides could be made), the article image or video thumbnail is attached instead, when there is one. -
A draft post (
create_post, on by default) that holds all captions and slides, ready to edit in the calendar. The response returns itspost_uuid.
If one caption fails, the others are still saved. The failure is listed in warnings.
Brand voice and AI labels
- The workspace brand voice shapes both the captions and the slides, unless you send
use_brand_voice: false.meta.brand_voice_appliedtells you whether it was used. - Repurposed drafts are always marked AI-generated. PostBoost sets the native AI label where a network has one (TikTok, Instagram, YouTube); see AI disclosure.
Credits
- AI text credits: before a run starts, the workspace needs one credit per account, plus one more when
carouselis on. The response reports what the run really used (credits_used,credits_remaining). - AI image credits: a carousel needs one image credit, which is charged only when slides were rendered (
image_credits_used,image_credits_remaining). - Without enough credits the call is refused with
429and codeai_credits_exhaustedorimage_credits_exhausted, and nothing runs. Check your balance first withGET /{workspaceUuid}/usage/aior the MCP toolget-ai-credits.
In the app
Tools → Repurpose has the same options: source (with PDF upload), transcript, accounts (none ticked means all), tone, length, hashtags, call to action, language, extra instructions, slide count, and checkboxes for slides, brand voice and saving a draft. It shows the credit cost before you start.
A run is queued and its page refreshes until the run is done, so you can leave the page open. A workspace runs one repurpose at a time. A run that has not finished after 10 minutes is marked failed. If it never started, it used no credits. The page lists your last 10 runs.
API
curl -X POST "https://postboost.co/app/api/$WORKSPACE_UUID/ai/repurpose" \
-H "Authorization: Bearer $POSTBOOST_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source_type": "url",
"url": "https://example.com/blog/our-launch",
"account_ids": [12, 15],
"slide_count": 5
}'
The run is queued and the call waits up to 20 seconds. A run that finishes in time answers 200 with data.source, data.captions[] (account_id, provider, content, character_count, character_limit, error), data.slides[] (media_id, url), data.post_uuid, the credit fields and data.warnings. A slower run answers 202 with data.run_id and data.status_url; send "async": true to get the 202 right away. It answers 422 when no account matches or the source cannot be read, and 429 when credits run out, before anything is queued. The endpoint allows 10 calls per minute. An API key limited to some accounts must send account_ids. Field details: repurposeContent.
After a 202, poll the status_url (operation getRepurposeRun, 60 calls per minute) every few seconds:
curl "https://postboost.co/app/api/$WORKSPACE_UUID/ai/repurpose/runs/$RUN_ID" \
-H "Authorization: Bearer $POSTBOOST_API_TOKEN"
data.status is queued or running while the run is going, then ok, partial or failed (with data.error). data.post_uuid names the draft once it exists, and data.result holds the same body a 200 returns, for one hour after a successful run. A run still going after 10 minutes reports failed.
From an AI assistant
The MCP connector tool repurpose-content takes the same arguments as the API and returns the same result. A long run answers with a run_id; the assistant then checks it with get-repurpose-run until it ends. Ask your assistant, for example: "Turn this article into posts for our LinkedIn Page and Instagram, five slides, friendly tone." It saves a draft; you review and schedule it in PostBoost.