Skip to main content
Glama

Generate post

generate_post

Generate one social media post (a single image, a carousel, or a short video) from the workspace's brand plan, and save it as a design with a draft post. Nothing is published.

Inputs: workspace_key; optional topic, channel (default instagram_post), content_type (image, carousel, or video; default image), slide_count (carousels only: 2 to 10 slides, default 4; passing it implies a carousel), brand_plan_schedule_id (a campaign id from create_campaign or list_campaigns; omit for a standalone post), and post_at (ISO 8601; default one day from now).

Carousels: set the number of slides with slide_count, not in the topic. The carousel has exactly that many slides, or generation fails with the reason. Story channels and campaigns under strict brand control can't make carousels.

Video: the instagram_reel, tiktok_post, and youtube_short channels always produce a video, whatever content_type is given. A video is a vertical (9:16) clip of about 8 to 12 seconds. It is either an animated clip (one generated image turned into a single clip of about 8 seconds, with no audio) or a scripted video (three short shots joined together, about 12 seconds, which may include a voiceover and captions when the workspace has them turned on). Which of the two is made is set by the campaign's content strategy; it cannot be chosen here.

Generation runs in the background, and videos take longer than images. The tool returns a content id at once; pass it to get_generated_post to get the result, which for a video includes the MP4 link. Requires an active brand plan.

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": {
      "workspace_key": "<workspace_key>"
    },
    "name": "generate_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
topicNoOptional. What the post should be about (the brief / subject). If omitted, a topic is drawn from the schedule.
channelNoTarget channel. Defaults to 'instagram_post'.
post_atNoOptional ISO 8601 datetime to schedule the draft for.
slide_countNoCarousels only: how many slides (2-10, default 4). Implies content_type carousel.
content_typeNoFormat to generate. Defaults to 'image'. 'video' produces a short vertical video. Ignored for instagram_reel, tiktok_post, and youtube_short, which always produce video.
workspace_keyYesKey of the workspace to act in. Call list_workspaces to see the workspaces you have access to and their keys.
brand_plan_schedule_idNoOptional campaign (schedule) id to attach this post to. Omit for a standalone post.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / slide_count
      Added value: +{
      +  "description": "Carousels only: how many slides (2-10, default 4). Implies content_type carousel.",
      +  "maximum": 10,
      +  "minimum": 2,
      +  "type": "integer"
      +}
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

The description adds substantial behavior beyond the annotations: generation runs in the background, videos take longer, the tool returns a content id immediately, and the result must be fetched with get_generated_post. It also discloses failure conditions for carousel slide counts, channel constraints for stories and strict campaigns, and that video type is determined by campaign strategy rather than chosen here.

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

Conciseness5/5

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

The description is front-loaded with the core action and then organized into Inputs, Carousels, Video, and Generation sections. Despite its length, the structure matches the tool's conditional complexity and every section adds operational detail not fully captured by the schema alone.

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

Completeness5/5

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

For a seven-parameter generation tool with no output schema, the description covers the essential workflow: required brand plan, async result retrieval, video-specific result details, carousel constraints, and channel behavior. An agent has enough information to call the tool correctly and know how to obtain the generated result.

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

Parameters5/5

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

Although schema coverage is already 100%, the description adds meaningful parameter semantics beyond the schema: slide_count implies a carousel and must be 2-10, brand_plan_schedule_id references campaign ids from create_campaign or list_campaigns, and post_at defaults to one day from now. It also explains that reel, TikTok, and YouTube Short channels force video regardless of content_type.

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?

The description states a specific verb and resource: generate one social media post from the workspace's brand plan and save it as a design with a draft post. It also clarifies scope by saying nothing is published, which distinguishes it from publishing tools, and it names get_generated_post as the result-retrieval sibling.

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?

The description gives strong usage context: it requires an active brand plan, explains standalone versus campaign-attached posts via brand_plan_schedule_id, and states constraints for carousels and video channels. However, it does not explicitly compare this tool against alternatives such as generate_image, so the when-to-use guidance is clear but not fully alternative-aware.

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.