Skip to main content
Glama

Make a short video

make_short_video

Turns your script into a narrated, subtitled short video with free neural voice-over, stock footage, word-highlight captions, and optional music in 1-5 minutes.

Instructions

Render a narrated, subtitled short video from a script you wrote: free neural voice-over (Microsoft Edge TTS), stock footage for each search term (Pexels/Pixabay with free keys, else Wikimedia Commons), word-highlight subtitles, optional background music, MP4 output. Takes 1-5 minutes.

Input Schema

NameRequiredDescriptionDefault
bgmNofalse disables background music
rateNoSpeaking speed, e.g. "+10%"
orderNo
pitchNo
titleNoUsed for the file name
voiceNoEdge voice, e.g. en-US-AndrewNeural, en-US-AvaNeural, ar-SA-HamedNeural, ar-EG-SalmaNeural. See list_voices
aspectNoportrait 1080x1920 (default), landscape 1920x1080, square 1080x1080
scriptYesSpoken narration only, in the target language
bgm_fileNoBackground music file (mp3/m4a/wav). Or set SHORTS_BGM_DIR for a random track
languageNoISO code, e.g. en, ar, fr (picks a default voice)
providerNo
materialsNoYour own video/image files (absolute paths) or URLs, used before stock footage
subtitlesNo
bgm_volumeNoDefault 0.15
output_dirNo
voice_fileNoUse this audio file as narration instead of TTS (subtitles are timed by text length)
search_termsNoEnglish visual search terms in script order
clip_durationNoSeconds per clip before cutting (default 4)
clips_per_termNo
materials_onlyNoUse only "materials", no stock search

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, openWorldHint=true) it discloses the external dependencies and their cost model ("free keys" for Pexels/Pixabay, Wikimedia Commons fallback), the TTS engine (Microsoft Edge), the output format (MP4) and a 1-5 minute runtime. It does not say where the file lands or what happens when a provider key is missing, which are the remaining behavioral gaps.

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-loaded with the outcome, and the parenthetical list efficiently packs the pipeline details. It is a single dense sentence, so the runtime note at the end slightly trails, but nothing is padded or redundant.

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

Completeness3/5

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

For a 20-parameter, nested-schema, no-output-schema tool, the description covers the high-level contract well. It leaves unexplained how output is named/located (output_dir, title), how materials_only and provider interact, and how failures degrade - details an agent needs to invoke it confidently.

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 70%, so most parameters are self-documented. The description adds meaning for a few: search_terms are tied to individual footage lookups, bgm is framed as optional, and the voice-over is framed as the default narration source. It says nothing about materials/materials_only, order, provider precedence, or the nested subtitles object, so it only partially compensates.

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 concrete verb and deliverable: "Render a narrated, subtitled short video from a script", then enumerates the pipeline (TTS voice-over, stock footage, subtitles, BGM, MP4). Because it is the only end-to-end render step among siblings like generate_voiceover and search_footage, an agent can place it immediately.

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

Usage Guidelines3/5

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

Usage is only implied: it is the tool you reach for when you want a finished video, and the presence of materials/materials_only implies alternatives exist. It never states when to prefer generate_voiceover or search_footage as standalone steps, nor any prerequisites such as API keys for Pexels/Pixabay being needed before calling.

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