Skip to main content
Glama

Make it a reel

postfjord_make_reel

Turn a post's pictures or 1–10 library images into a 9:16 reel or story video with zoom, fades and optional text, saved as a new draft.

Instructions

Makes a 9:16 video (1080x1920, 5 to 30 seconds, no sound) from pictures: a slow zoom on each picture toward the point kept in the post's fit, soft fades between them, and a short line of text on top if you send text, in the brand kit's font and colours. Send postId to use a post's pictures, text and fits, or mediaIds for pictures from the library (1 to 10). With postId this makes a story or a reel from a post that already exists (any status, published too): the post itself never changes and a NEW draft is made. format reel puts the video on a new draft for the post's channels that show short videos (Instagram as a Reel, Facebook as a video, and the other video channels from postfjord_list_channels whose formats include reel, video or short), or channelIds; story makes an Instagram story draft. For a story of ONE picture, send still: true to put the picture itself on the story (1080x1920, sharp, ready at once, not counted as a video); the answer then has still: true, status ready and mediaId is the picture. Returns mediaId (the video) and draftId (the new draft) at once. The video takes about a minute: call postfjord_get_media with mediaId until status is ready (failed says why), then show the person the draft. Nothing is published: schedule the draft with postfjord_schedule_post once the video is ready and the person agrees. Each plan makes a few videos a day. On a retry after a timeout or error, send the same idempotency_key: the first answer comes back and nothing is made or sent twice.

Input Schema

NameRequiredDescriptionDefault
textNoA short line shown on the video, such as the post's first sentence. At most 100 characters are shown. Left out: no text.
stillNoOnly for format story with one picture: true puts the picture itself on the story instead of a video. Ignored otherwise.
formatNoreel (the default): a short vertical video, an Instagram Reel. story: an Instagram story.
postIdNoA post with pictures. Its pictures, text, link and fits are used.
secondsNoHow long the video is. Left out: 6 seconds for one picture, about 3 a picture for more.
mediaIdsNoPictures from the media library, in order, in place of the post's.
channelIdsNoThe channels of the new draft. Left out: the post's channels that take the format, else every one that does.
idempotency_keyNoYour own id for this one action, for example post-20261006-launch. Make a new one for each new thing; send the same one again only when you retry. Left out, the exact same call within 10 minutes counts as a retry.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: the source post is never modified and a NEW draft is created, nothing is published, the job is async (~1 minute) and must be polled via get_media with status/failed reasons, the workspace quota is 'a few videos a day', and idempotency_key retry semantics are spelled out. These directly support the destructiveHint=false and readOnlyHint=false annotations with real operational context.

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

Conciseness3/5

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

Front-loaded and every sentence is informative, but it is one long run-on paragraph stitched with semicolons and parentheses that makes scanning for a specific rule (still, format, idempotency) slow. A few clauses, such as the repeated restatement of polling and scheduling, could be tightened without losing content.

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 does the work: it documents the return payload (mediaId, draftId, and still:true/status ready/mediaId for the still case) plus the async lifecycle. Only the rate-limit statement ('a few videos a day') is left vague, which is a minor gap for a tool with this much complexity.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already carries per-parameter meaning and ranges; the description largely restates it. It does add cross-tool semantics the schema lacks, notably which channels qualify ('formats include reel, video or short' from postfjord_list_channels) and what channelIds falls back to, but most parameter text is redundant with the schema.

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?

Opens with a concrete verb and artifact: a 9:16 video (1080x1920, 5-30s, silent) built from pictures with zoom, fades and optional overlay text. It distinguishes itself from siblings by naming postfjord_get_media, postfjord_list_channels and postfjord_schedule_post as separate steps, so an agent knows this tool only builds the draft.

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?

Gives explicit input alternatives (postId for a post's pictures/text/fits vs mediaIds for 1-10 library pictures) and explicit output routing (format reel vs story, channelIds override). It also states the one-picture exception (still: true) and the prerequisite flow: poll get_media until ready, get user agreement, then postfjord_schedule_post.

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

Deploy Server

Other Tools