Skip to main content
Glama

Create animated Reel

create_reel

Turns an existing post's pictures (a carousel's slides, or a single post's picture) into a short animated vertical video and saves it as a NEW draft video post; the original post is left as it is, unless consumeSource is passed. For a slot that should hold only a Reel, make the carousel with create_carousel, then pass consumeSource: true here: once the Reel is saved the carousel draft is deleted (and a dated draft gives the Reel its day), so the plan holds no deck that will never go out. Only a draft that never went out can be consumed, and it is kept if another post was made from it; sourceRemoved says whether it went. The video opens with a hook headline that pops in word by word over a cover drawn in the post's own carousel style at full height (a single picture opens in boldPhoto on that picture; pass style to choose editorial, clean, boldPhoto or dark; the cover is also the video's thumbnail; a carousel drawn before styles, or an ad, already has words in its pictures, so its cover is drawn without them, in dark unless style is passed), shows the pictures one after another nearly full screen with a story bar counting them, then an end card with the logo, a closing line and a call-to-action button, all set in real type. Pass hook, endLine and cta to choose the words; leave them out and Simplo writes them from the post. COSTS CREDITS (one render). Rendering takes about a minute. The draft is never published or scheduled here: schedule it with schedule_post after the user approves. It goes to the source post's video platforms (Instagram as a Reel, Facebook, TikTok, YouTube as a Short; never X), or to platforms when passed: make a TikTok twin by passing platforms: ["tiktok"]. With TikTok among its platforms the caption is rewritten for TikTok (short, its own hashtags); otherwise it keeps the source post's caption. It has no music: suggest adding a sound in the Instagram or TikTok app.

Input Schema

NameRequiredDescriptionDefault
ctaNoButton text on the end card, e.g. a bare domain or "Link in bio"
hookNoHeadline that opens the Reel, word by word; ideally under 45 characters
styleNoThe carousel style the opening cover is drawn in; omit to use the post's own
postIdYesThe post whose pictures become the Reel
endLineNoClosing line on the end card
platformsNoWhere the Reel goes; omit to use the source post's video platforms
projectIdYesSimplo project id (from list_projects)
aiGeneratedNoWhether the post is AI-made (use it for AI-made video or voices): true shows it on TikTok with its "AI-generated content" label and marks a YouTube video as altered or synthetic content, false does neither. Omit to follow the defaults: on TikTok the brand's "Label TikTok posts as AI-generated" setting when on, else pictures are labelled and videos are not; on YouTube the brand's own synthetic content setting. get_post shows the TikTok result as tiktokAiLabel. Omit to keep the source post's choice
consumeSourceNotrue deletes the source post once the Reel is saved (only a draft that never went out; refused before charging otherwise). Use it when the post was made only to draw this Reel from
tiktokSettingsNoTikTok accounts connected directly (not through Simplo's posting partner) need these on every post that goes to TikTok, or TikTok fails with "Choose who can see this TikTok post". Ask the user who can see it and whether comments are allowed; never choose for them. A Reel never takes these from its source post

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / consumeSource
      Added value: +{
      +  "description": "true deletes the source post once the Reel is saved (only a draft that never went out; refused before charging otherwise). Use it when the post was made only to draw this Reel from",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / tiktokSettings
      Added value: +{
      +  "description": "TikTok accounts connected directly (not through Simplo's posting partner) need these on every post that goes to TikTok, or TikTok fails with \"Choose who can see this TikTok post\". Ask the user who can see it and whether comments are allowed; never choose for them. A Reel never takes these from its source post",
      +  "properties": {
      +    "allowComment": {
      +      "description": "Allow comments; off when omitted",
      +      "type": "boolean"
      +    },
      +    "allowDuet": {
      +      "description": "Videos only: allow Duet; off when omitted",
      +      "type": "boolean"
      +    },
      +    "allowStitch": {
      +      "description": "Videos only: allow Stitch; off when omitted",
      +      "type": "boolean"
      +    },
      +    "brandedContent": {
      +      "description": "A paid partnership promoting someone else (\"Branded content\"); never with SELF_ONLY",
      +      "type": "boolean"
      +    },
      +    "postMode": {
      +      "description": "direct (the default) posts it on the profile; draft sends it to the user's TikTok inbox to finish and post in the TikTok app, and then needs no other field",
      +      "enum": [
      +        "direct",
      +        "draft"
      +      ],
      +      "type": "string"
      +    },
      +    "privacyLevel": {
      +      "description": "Direct posts: who can see the post, as the user chose it: one of the options the account allows (the app shows them)",
      +      "enum": [
      +        "PUBLIC_TO_EVERYONE",
      +        "MUTUAL_FOLLOW_FRIENDS",
      +        "FOLLOWER_OF_CREATOR",
      +        "SELF_ONLY"
      +      ],
      +      "type": "string"
      +    },
      +    "yourBrand": {
      +      "description": "The post promotes the user's own business (\"Your brand\")",
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations it discloses credit consumption ('COSTS CREDITS (one render)'), latency (~a minute), source deletion semantics with its precondition and refusal path, the sourceRemoved signal, TikTok caption rewriting, and the no-music limitation. These are exactly the side effects an agent cannot infer from readOnlyHint=false / destructiveHint=false.

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?

It is front-loaded with the core action and every claim is load-bearing for a 10-parameter, credit-charging tool. It loses a point for heavily nested parentheticals (the cover/style clause) that make single sentences hard to parse on first read.

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?

With no output schema, the description still signals the meaningful result (a new draft, sourceRemoved, removed source), the cost and timing, and the next step. Nothing needed to call it safely is missing.

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?

Schema coverage is 100% so the baseline is 3, but the description adds real meaning on top: what happens when hook/endLine/cta are omitted, why consumeSource exists, how platforms changes the caption and routes the video, and why tiktokSettings must be asked of the user rather than defaulted.

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 opening sentence gives a specific verb and resource ('Turns an existing post's pictures ... into a short animated vertical video and saves it as a NEW draft video post') plus the scope distinction that the original post is untouched unless consumeSource is passed. An agent can distinguish this from create_carousel and create_post without opening any schema.

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

Usage Guidelines5/5

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

It names the explicit pre-step pattern ('make the carousel with create_carousel, then pass consumeSource: true here'), states the follow-up ('schedule it with schedule_post after the user approves'), and rules out behavior ('never published or scheduled here', 'never X'). Exclusions and alternatives are both spelled out.

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.

Resources