ShortsFlow
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_shortA | Create an original vertical short video from an idea: an AI-written script, voice-over, stock footage, background music and animated captions, rendered locally by the ShortsFlow pipeline. It runs in the background: the call returns a job_id immediately and the render takes a few minutes, so poll get_render_status until the job is 'completed' or 'failed'. It uses the user's own LLM, voice and stock-footage keys from the ShortsFlow .env, writes files only inside the ShortsFlow folder, and never uploads or posts anything. Use this to make a new short from a topic; use extract_clips instead to cut shorts out of an existing video. |
| extract_clipsA | Cut the best moments out of a long video (a local file path or a YouTube link) into captioned vertical shorts: it transcribes the speech with Whisper, scores the moments, crops to 9:16 with face tracking and burns in animated captions. It runs in the background: the call returns a job_id immediately and the work can take several minutes (longer on a computer without an NVIDIA GPU), so poll get_render_status until the job is 'completed' or 'failed'. Clipping works without any API key; an AI key only improves scoring and titles. Files are written under the ShortsFlow folder (sessions/...) and nothing is uploaded. Use generate_short instead to create a video from a topic. |
| generate_social_packageA | Write platform-ready text for a short: a title, description, hashtags and a short caption for YouTube Shorts, TikTok and Instagram Reels. It answers immediately (no job). It uses the configured AI model; if none is reachable it returns a generic template filled with the topic instead, so check the wording. It does not publish anything. |
| get_render_statusA | Check a background job started by generate_short or extract_clips. Returns a JSON object with status ('processing', 'completed', 'failed' or 'not_found'), progress (0-100), the last log lines, and an error message (the last lines of the log) when the job failed. Jobs are remembered only while this server is running. Call it every 20-30 seconds until the status is no longer 'processing'. It changes nothing. |
| list_supported_modesA | List the options the other tools accept: content modes for generate_short, caption styles, voice-over engines, aspect ratios and sound-effect presets. Instant, read-only, takes no input. Call it first if you are unsure which value to pass. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool occupies a distinct slot: two creation paths (extract_clips vs generate_short), one text-only tool (generate_social_package), one job poller (get_render_status), and one read-only options lister. The descriptions explicitly cross-reference each other ("use generate_short instead to create a video from a topic"), so the two video-producing tools cannot be confused.
All five names follow a strict verb_noun snake_case pattern: extract_clips, generate_short, generate_social_package, get_render_status, list_supported_modes. There is no mixing of conventions or vague verbs.
Five tools is a tight, well-scoped surface for a short-video pipeline: two render entry points, one status poller (required because renders are asynchronous), one text helper, and one options reference. Every tool earns its place and nothing is redundant.
The core lifecycle is covered: start a render (from topic or existing video), poll it, get platform text, and discover valid option values. Minor gaps remain — there is no cancel/abort for a running job, no list of past or active jobs, and no way to retrieve output file paths or clean up sessions, so an agent must infer results from status logs.