Skip to main content
Glama

Create post draft

create_post_draft

Creates a draft video post for a single platform on top of an existing video upload. If a draft, failed, or ready post already exists for that (upload, platform) it is reset back to draft rather than duplicated. Call once per platform; use list_video_uploads first to get a video_upload_id. Refuses platforms that can't take the upload's content type. Accepted content types per platform: instagram: video/image/carousel; tiktok: video/image/carousel; youtube: video; facebook: video/image/text/carousel; snapchat: video/image; linkedin: video/image/text/carousel; threads: video/image/text/carousel; twitter: video/image/text/carousel; bluesky: video/image/text/carousel; pinterest: video/image/carousel; telegram: video/image/text/carousel; mastodon: video/image/text/carousel; discord: video/image/text/carousel; reddit: video/image/text; tumblr: video/image/text/carousel; pixelfed: video/image/carousel; google_business: image/text. Snapchat Spotlight is video-only (images go to Story).

Input Schema

NameRequiredDescriptionDefault
platformYesTarget platform: instagram, youtube, tiktok, facebook, snapchat, linkedin, threads, twitter, bluesky, pinterest, telegram, mastodon, discord, reddit, tumblr, pixelfed, or google_business. Discord: a workspace can connect several channels; one Discord post goes to the workspace's default channels unless you set platform_settings.channelIds afterwards with update_post (get ids from list_discord_channels). Other Discord settings: silent, mention ("none" | "here" | "everyone"), threadName (forum channels, max 100 chars), username (max 80 chars, no "discord"), textOnly. Caption up to 2000 characters, up to 10 attachments and 10 MB per post (unboosted servers), no custom thumbnail. First comment (max 2000 characters): in text channels a separate message right after the post, in forum channels the first reply in the post's thread; it never notifies on its own, and a failed comment never fails the post. Tumblr: one login can own several blogs; posts go to the primary blog unless you set platform_settings.blogName (the blog's short name) with update_post. Other Tumblr settings: tags (array, no "#", no commas, max 30), title (optional heading above the post text; overrides the post's shared title), textOnly. Tumblr's post text is the post's description (up to 5,000 characters, split into paragraphs), falling back to the caption when no description is set; video (one per post, up to 500 MB and 10 minutes), carousels (up to 10 items, images plus at most one video) or text posts; no custom thumbnail and no first comment. Tumblr limits accounts to 250 posts and 20 videos (60 minutes of video) per day. Reddit: each post goes to one subreddit, which is required; set platform_settings.subreddit with update_post (a bare name like "AskReddit", "r/AskReddit" also works, or "u_username" for the user's own profile; a bare name is always a subreddit, so "jane" posts to r/jane, never to u/jane). A saved default subreddit is applied when there is one. Other Reddit settings: title (the Reddit post title, max 300 characters; set it as platform_settings.title on the Reddit post, which only affects Reddit; when empty the publisher falls back to the upload's shared title, which YouTube, Facebook, Pinterest and Tumblr also use), nsfw (boolean, default false), flairId (id from the subreddit's flair list; some subreddits require a flair). The post body is the post's description. Video, single image or text (self) posts; no carousels, no first comment, no custom thumbnail, no analytics, and Reddit posts can't be deleted from ShortSync. Up to 10 Reddit posts per workspace per day. Some subreddits hold posts from new or low-karma accounts for moderator approval. Pixelfed: a federated, Mastodon-compatible photo network; each connection is one account on one server (instance). Every post needs media: video, image, or a carousel (mixed photos and videos allowed); no text-only posts. Settings via update_post: visibility ("public" | "unlisted" | "private", default "public"), sensitive (boolean, blurs media behind a warning), spoilerText (content warning, max 140 chars, only used when sensitive is true). Caption up to 500 characters (some servers allow more), up to 20 items per carousel (the server's own album cap, often 4, is checked at publish), one file-size cap for photos and videos (default about 15 MB per server; oversized videos are compressed, oversized images fail). Video is off by default on Pixelfed servers, so posting video to a photo-only server fails with a clear error. First comment (max 500 characters) is posted as a reply under the post; no custom thumbnail. Google Business Profile (google_business, beta): one Google login can manage several business locations; a post goes to the default locations unless you set platform_settings.locationIds with update_post (get ids from the `locations` of the google_business connection in list_platform_connections), and it fans out to every selected location. Other settings: ctaType ("BOOK" | "ORDER" | "SHOP" | "LEARN_MORE" | "SIGN_UP" | "CALL", optional button), ctaUrl (http(s) link, required for every ctaType except CALL, which dials the profile's phone number), textOnly (post a video upload's caption without the video). Caption up to 1500 characters and required; one photo (JPG or PNG, 10 KB to 5 MB) or text only; no video, no carousel, no custom thumbnail, no first comment, no mentions.
idempotency_keyNoOptional client-generated key (e.g., a UUID) to make retries safe. Identical calls with the same key within 10 minutes return the original result instead of running the write twice.
video_upload_idYesid of the source upload. Get from list_video_uploads. The user must be a member of the upload's workspace.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / platform / description
      Previous value: -"Target platform: instagram, youtube, tiktok, facebook, snapchat, linkedin, threads, twitter, bluesky, pinterest, telegram, mastodon, discord, reddit, tumblr, pixelfed, or google_business. Discord: a workspace can connect several channels; one Discord post goes to the workspace's default channels unless you set platform_settings.channelIds afterwards with update_post (get ids from list_discord_channels). Other Discord settings: silent, mention (\"none\" | \"here\" | \"everyone\"), threadName (forum channels, max 100 chars), username (max 80 chars, no \"discord\"), textOnly. Caption up to 2000 characters, up to 10 attachments and 10 MB per post (unboosted servers), no custom thumbnail. First comment (max 2000 characters): in text channels a separate message right after the post, in forum channels the first reply in the post's thread; it never notifies on its own, and a failed comment never fails the post. Tumblr: one login can own several blogs; posts go to the primary blog unless you set platform_settings.blogName (the blog's short name) with update_post. Other Tumblr settings: tags (array, no \"#\", no commas, max 30), title (optional heading above the post text; overrides the post's shared title), textOnly. Tumblr's post text is the post's description (up to 5,000 characters, split into paragraphs), falling back to the caption when no description is set; video (one per post, up to 500 MB and 10 minutes), carousels (up to 10 items, images plus at most one video) or text posts; no custom thumbnail and no first comment. Tumblr limits accounts to 250 posts and 20 videos (60 minutes of video) per day. Reddit: each post goes to one subreddit, which is required; set platform_settings.subreddit with update_post (a bare name like \"AskReddit\", \"r/AskReddit\" also works, or \"u_username\" for the user's own profile). A saved default subreddit is applied when there is one. Other Reddit settings: title (required, max 300 characters; falls back to the post's shared title), nsfw (boolean, default false), flairId (id from the subreddit's flair list; some subreddits require a flair). The post body is the post's description. Video, single image or text (self) posts; no carousels, no first comment, no custom thumbnail, no analytics, and Reddit posts can't be deleted from ShortSync. Up to 10 Reddit posts per workspace per day. Some subreddits hold posts from new or low-karma accounts for moderator approval. Pixelfed: a federated, Mastodon-compatible photo network; each connection is one account on one server (instance). Every post needs media: video, image, or a carousel (mixed photos and videos allowed); no text-only posts. Settings via update_post: visibility (\"public\" | \"unlisted\" | \"private\", default \"public\"), sensitive (boolean, blurs media behind a warning), spoilerText (content warning, max 140 chars, only used when sensitive is true). Caption up to 500 characters (some servers allow more), up to 20 items per carousel (the server's own album cap, often 4, is checked at publish), one file-size cap for photos and videos (default about 15 MB per server; oversized videos are compressed, oversized images fail). Video is off by default on Pixelfed servers, so posting video to a photo-only server fails with a clear error. First comment (max 500 characters) is posted as a reply under the post; no custom thumbnail. Google Business Profile (google_business, beta): one Google login can manage several business locations; a post goes to the default locations unless you set platform_settings.locationIds with update_post (get ids from the `locations` of the google_business connection in list_platform_connections), and it fans out to every selected location. Other settings: ctaType (\"BOOK\" | \"ORDER\" | \"SHOP\" | \"LEARN_MORE\" | \"SIGN_UP\" | \"CALL\", optional button), ctaUrl (http(s) link, required for every ctaType except CALL, which dials the profile's phone number), textOnly (post a video upload's caption without the video). Caption up to 1500 characters and required; one photo (JPG or PNG, 10 KB to 5 MB) or text only; no video, no carousel, no custom thumbnail, no first comment, no mentions."New value: +"Target platform: instagram, youtube, tiktok, facebook, snapchat, linkedin, threads, twitter, bluesky, pinterest, telegram, mastodon, discord, reddit, tumblr, pixelfed, or google_business. Discord: a workspace can connect several channels; one Discord post goes to the workspace's default channels unless you set platform_settings.channelIds afterwards with update_post (get ids from list_discord_channels). Other Discord settings: silent, mention (\"none\" | \"here\" | \"everyone\"), threadName (forum channels, max 100 chars), username (max 80 chars, no \"discord\"), textOnly. Caption up to 2000 characters, up to 10 attachments and 10 MB per post (unboosted servers), no custom thumbnail. First comment (max 2000 characters): in text channels a separate message right after the post, in forum channels the first reply in the post's thread; it never notifies on its own, and a failed comment never fails the post. Tumblr: one login can own several blogs; posts go to the primary blog unless you set platform_settings.blogName (the blog's short name) with update_post. Other Tumblr settings: tags (array, no \"#\", no commas, max 30), title (optional heading above the post text; overrides the post's shared title), textOnly. Tumblr's post text is the post's description (up to 5,000 characters, split into paragraphs), falling back to the caption when no description is set; video (one per post, up to 500 MB and 10 minutes), carousels (up to 10 items, images plus at most one video) or text posts; no custom thumbnail and no first comment. Tumblr limits accounts to 250 posts and 20 videos (60 minutes of video) per day. Reddit: each post goes to one subreddit, which is required; set platform_settings.subreddit with update_post (a bare name like \"AskReddit\", \"r/AskReddit\" also works, or \"u_username\" for the user's own profile; a bare name is always a subreddit, so \"jane\" posts to r/jane, never to u/jane). A saved default subreddit is applied when there is one. Other Reddit settings: title (the Reddit post title, max 300 characters; set it as platform_settings.title on the Reddit post, which only affects Reddit; when empty the publisher falls back to the upload's shared title, which YouTube, Facebook, Pinterest and Tumblr also use), nsfw (boolean, default false), flairId (id from the subreddit's flair list; some subreddits require a flair). The post body is the post's description. Video, single image or text (self) posts; no carousels, no first comment, no custom thumbnail, no analytics, and Reddit posts can't be deleted from ShortSync. Up to 10 Reddit posts per workspace per day. Some subreddits hold posts from new or low-karma accounts for moderator approval. Pixelfed: a federated, Mastodon-compatible photo network; each connection is one account on one server (instance). Every post needs media: video, image, or a carousel (mixed photos and videos allowed); no text-only posts. Settings via update_post: visibility (\"public\" | \"unlisted\" | \"private\", default \"public\"), sensitive (boolean, blurs media behind a warning), spoilerText (content warning, max 140 chars, only used when sensitive is true). Caption up to 500 characters (some servers allow more), up to 20 items per carousel (the server's own album cap, often 4, is checked at publish), one file-size cap for photos and videos (default about 15 MB per server; oversized videos are compressed, oversized images fail). Video is off by default on Pixelfed servers, so posting video to a photo-only server fails with a clear error. First comment (max 500 characters) is posted as a reply under the post; no custom thumbnail. Google Business Profile (google_business, beta): one Google login can manage several business locations; a post goes to the default locations unless you set platform_settings.locationIds with update_post (get ids from the `locations` of the google_business connection in list_platform_connections), and it fans out to every selected location. Other settings: ctaType (\"BOOK\" | \"ORDER\" | \"SHOP\" | \"LEARN_MORE\" | \"SIGN_UP\" | \"CALL\", optional button), ctaUrl (http(s) link, required for every ctaType except CALL, which dials the profile's phone number), textOnly (post a video upload's caption without the video). Caption up to 1500 characters and required; one photo (JPG or PNG, 10 KB to 5 MB) or text only; no video, no carousel, no custom thumbnail, no first comment, no mentions."
  2. Changed1 schema field changed
    • changedInput schema / properties / platform / description
      Previous value: -"Target platform: instagram, youtube, tiktok, facebook, snapchat, linkedin, threads, twitter, bluesky, pinterest, telegram, mastodon, discord, reddit, tumblr, pixelfed, or google_business. Discord: a workspace can connect several channels; one Discord post goes to the workspace's default channels unless you set platform_settings.channelIds afterwards with update_post (get ids from list_discord_channels). Other Discord settings: silent, mention (\"none\" | \"here\" | \"everyone\"), threadName (forum channels, max 100 chars), username (max 80 chars, no \"discord\"), textOnly. Caption up to 2000 characters, up to 10 attachments and 10 MB per post (unboosted servers), no custom thumbnail. First comment (max 2000 characters): in text channels a separate message right after the post, in forum channels the first reply in the post's thread; it never notifies on its own, and a failed comment never fails the post. Tumblr: one login can own several blogs; posts go to the primary blog unless you set platform_settings.blogName (the blog's short name) with update_post. Other Tumblr settings: tags (array, no \"#\", no commas, max 30), title (optional heading above the post text; overrides the post's shared title), textOnly. Tumblr's post text is the post's description (up to 5,000 characters, split into paragraphs), falling back to the caption when no description is set; video (one per post, up to 500 MB and 10 minutes), carousels (up to 10 items, images plus at most one video) or text posts; no custom thumbnail and no first comment. Tumblr limits accounts to 250 posts and 20 videos (60 minutes of video) per day. Pixelfed: a federated, Mastodon-compatible photo network; each connection is one account on one server (instance). Every post needs media: video, image, or a carousel (mixed photos and videos allowed); no text-only posts. Settings via update_post: visibility (\"public\" | \"unlisted\" | \"private\", default \"public\"), sensitive (boolean, blurs media behind a warning), spoilerText (content warning, max 140 chars, only used when sensitive is true). Caption up to 500 characters (some servers allow more), up to 20 items per carousel (the server's own album cap, often 4, is checked at publish), one file-size cap for photos and videos (default about 15 MB per server; oversized videos are compressed, oversized images fail). Video is off by default on Pixelfed servers, so posting video to a photo-only server fails with a clear error. First comment (max 500 characters) is posted as a reply under the post; no custom thumbnail. Google Business Profile (google_business, beta): one Google login can manage several business locations; a post goes to the default locations unless you set platform_settings.locationIds with update_post (get ids from the `locations` of the google_business connection in list_platform_connections), and it fans out to every selected location. Other settings: ctaType (\"BOOK\" | \"ORDER\" | \"SHOP\" | \"LEARN_MORE\" | \"SIGN_UP\" | \"CALL\", optional button), ctaUrl (http(s) link, required for every ctaType except CALL, which dials the profile's phone number), textOnly (post a video upload's caption without the video). Caption up to 1500 characters and required; one photo (JPG or PNG, 10 KB to 5 MB) or text only; no video, no carousel, no custom thumbnail, no first comment, no mentions."New value: +"Target platform: instagram, youtube, tiktok, facebook, snapchat, linkedin, threads, twitter, bluesky, pinterest, telegram, mastodon, discord, reddit, tumblr, pixelfed, or google_business. Discord: a workspace can connect several channels; one Discord post goes to the workspace's default channels unless you set platform_settings.channelIds afterwards with update_post (get ids from list_discord_channels). Other Discord settings: silent, mention (\"none\" | \"here\" | \"everyone\"), threadName (forum channels, max 100 chars), username (max 80 chars, no \"discord\"), textOnly. Caption up to 2000 characters, up to 10 attachments and 10 MB per post (unboosted servers), no custom thumbnail. First comment (max 2000 characters): in text channels a separate message right after the post, in forum channels the first reply in the post's thread; it never notifies on its own, and a failed comment never fails the post. Tumblr: one login can own several blogs; posts go to the primary blog unless you set platform_settings.blogName (the blog's short name) with update_post. Other Tumblr settings: tags (array, no \"#\", no commas, max 30), title (optional heading above the post text; overrides the post's shared title), textOnly. Tumblr's post text is the post's description (up to 5,000 characters, split into paragraphs), falling back to the caption when no description is set; video (one per post, up to 500 MB and 10 minutes), carousels (up to 10 items, images plus at most one video) or text posts; no custom thumbnail and no first comment. Tumblr limits accounts to 250 posts and 20 videos (60 minutes of video) per day. Reddit: each post goes to one subreddit, which is required; set platform_settings.subreddit with update_post (a bare name like \"AskReddit\", \"r/AskReddit\" also works, or \"u_username\" for the user's own profile). A saved default subreddit is applied when there is one. Other Reddit settings: title (required, max 300 characters; falls back to the post's shared title), nsfw (boolean, default false), flairId (id from the subreddit's flair list; some subreddits require a flair). The post body is the post's description. Video, single image or text (self) posts; no carousels, no first comment, no custom thumbnail, no analytics, and Reddit posts can't be deleted from ShortSync. Up to 10 Reddit posts per workspace per day. Some subreddits hold posts from new or low-karma accounts for moderator approval. Pixelfed: a federated, Mastodon-compatible photo network; each connection is one account on one server (instance). Every post needs media: video, image, or a carousel (mixed photos and videos allowed); no text-only posts. Settings via update_post: visibility (\"public\" | \"unlisted\" | \"private\", default \"public\"), sensitive (boolean, blurs media behind a warning), spoilerText (content warning, max 140 chars, only used when sensitive is true). Caption up to 500 characters (some servers allow more), up to 20 items per carousel (the server's own album cap, often 4, is checked at publish), one file-size cap for photos and videos (default about 15 MB per server; oversized videos are compressed, oversized images fail). Video is off by default on Pixelfed servers, so posting video to a photo-only server fails with a clear error. First comment (max 500 characters) is posted as a reply under the post; no custom thumbnail. Google Business Profile (google_business, beta): one Google login can manage several business locations; a post goes to the default locations unless you set platform_settings.locationIds with update_post (get ids from the `locations` of the google_business connection in list_platform_connections), and it fans out to every selected location. Other settings: ctaType (\"BOOK\" | \"ORDER\" | \"SHOP\" | \"LEARN_MORE\" | \"SIGN_UP\" | \"CALL\", optional button), ctaUrl (http(s) link, required for every ctaType except CALL, which dials the profile's phone number), textOnly (post a video upload's caption without the video). Caption up to 1500 characters and required; one photo (JPG or PNG, 10 KB to 5 MB) or text only; no video, no carousel, no custom thumbnail, no first comment, no mentions."
  3. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial traits beyond the annotations: an existing draft/failed/ready post is reset to draft rather than duplicated, unsupported content types are refused, per-platform posting limits (Tumblr 250 posts/20 videos per day, Reddit 10 per workspace per day) and per-platform constraints (no carousels, no custom thumbnail) are spelled out. Annotations only say it is a non-read-only, non-destructive write; the reset behavior is exactly the kind of mutation context the description must supply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and upsert semantics in the first two sentences, then gives constraints. The 16-platform content-type chain is a single dense sentence that would be easier to scan as a table, but it is information-dense rather than padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description covers inputs, refusal conditions, per-platform quirks, and defaults thoroughly. It does not say what the tool returns (presumably a draft post id needed for subsequent update_post calls), which is the main remaining gap for a create-and-configure workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds the accepted-content-type matrix per platform and the Snapchat Spotlight caveat, which is not fully captured in the platform parameter description. The idempotency_key and video_upload_id semantics live entirely in the schema and are not echoed, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource plus scope: 'Creates a draft video post for a single platform on top of an existing video upload.' The 'single platform' and 'on an existing video upload' qualifiers distinguish it from the plural create_post_drafts and from the upload-creation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete call guidance: 'Call once per platform' and 'use list_video_uploads first to get a video_upload_id', plus platform refusal rules. It stops short of explicitly routing between itself, create_post_drafts, and schedule_post/publish_now, so the agent must infer when a single draft is preferable to a batch or a direct publish.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.