Publish post(s) immediately
publish_postImmediately publish one or more text posts to Threads, X (Twitter), and/or LinkedIn accounts. Threads posts can carry images from the media library via mediaIds on the first post: one image, or 2–20 images as a carousel; all target accounts must then be Threads accounts. TikTok Business takes video with an uploaded mediaId, a requestId UUID, and explicit PUBLIC_TO_EVERYONE privacy, for exactly one account and one caption. TikTok video is processed asynchronously: get_publish_status tracks the returned jobId, and repeating a request with the same requestId returns the same job. Instagram takes instagram with one account, a requestId UUID, FEED (1–20 media items), REELS (1 item), or STORIES (1 item), and uploaded mediaIds; it cannot be combined with posts or video. Caption is optional except that STORIES rejects it, and shareToFeed is REELS-only. Instagram publishing is asynchronous. YouTube takes youtube with one account, a requestId UUID, an uploaded video mediaId, a title (1–100 characters), optional description, privacyStatus (public, unlisted, or private), and optional madeForKids; it cannot be combined with posts, video, or instagram. YouTube publishing is asynchronous: get_publish_status tracks the returned jobId, and repeating a request with the same requestId returns the same job. A Facebook Page takes facebook with one account, a requestId UUID, and explicit FEED, REELS, or STORY content type. FEED accepts text and up to 10 uploaded media items, REELS requires one video, and STORY requires one image or video and rejects message. Facebook publishing is asynchronous and reported by get_publish_status. Multiple posts are chained as a thread on Threads/X. LinkedIn is single-caption only — it does not support chaining, so sending more than one post to a LinkedIn account is rejected. Supports cross-posting to up to 5 accounts at once. For X, links (http://, https://, www., and bare domains such as foo.io/path) are automatically removed from posts[0] before publishing. Replies in posts[1+] and other platforms keep their links. Character limits apply after removal; an empty first X post rejects the entire request with VALIDATION_ERROR. Character limits: Threads 500, X 280 (25000 for Premium), LinkedIn 3000. The target workspace is determined automatically from accountIds (each account belongs to exactly one workspace); all accountIds must belong to the same workspace. ⚠️ This action is IRREVERSIBLE — posts are sent to the platform immediately.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"accountIds": "<accountIds>"
},
"name": "publish_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| posts | No | Text posts to publish. Required for text and TikTok modes; omit for Instagram, YouTube, or Facebook. If multiple, they are published as a thread chain. Max 25 items. For X, links (http://, https://, www., and bare domains such as foo.io/path) are automatically removed from posts[0] before publishing. Replies in posts[1+] and other platforms keep their links. Character limits apply after removal; an empty first X post rejects the entire request with VALIDATION_ERROR. | |
| video | No | TikTok Business video: an uploaded mediaId and a requestId UUID (a repeated requestId returns the same job). Requires exactly one account and one caption. Only PUBLIC_TO_EVERYONE is supported. | |
| youtube | No | YouTube video: one account, a requestId UUID, an uploaded video mediaId, a title, optional description, privacyStatus public/unlisted/private, and optional madeForKids. Cannot be combined with posts, video, or instagram. | |
| No | Facebook Page post: one account, a requestId UUID, explicit FEED/REELS/STORY content type, optional FEED/REELS message, and uploaded media IDs. STORY does not accept message. Cannot be combined with posts, video, instagram, or youtube. | ||
| mediaIds | No | Threads only: image mediaIds from the media library (list_media with mediaType IMAGE, or uploaded images) attached to posts[0]. One image makes an image post; 2–20 images make a carousel. Replies in posts[1+] stay text. Every accountId must be a Threads account. Cannot be combined with video, instagram, youtube, or facebook. | |
| No | Instagram media post: one account, a requestId UUID, FEED/REELS/STORIES content type, and 1–20 uploaded media IDs. Cannot be combined with posts or video. | ||
| accountIds | Yes | Account IDs to publish to (from list_accounts). 1–5 accounts. Each account ID must be a UUID. | |
| workspaceId | No | Optional. The target workspace is determined automatically from accountIds; when given, it must match the accounts' workspace. |