Skip to main content
Glama
MelMayssonOwen

TimeToPost MCP server

Generate a finished AI short video

generate_short_video

Generate a finished, publishable vertical (9:16) short video with AI voiceover and captions, then get a hosted mp4 URL to schedule on TikTok, Instagram, or YouTube.

Instructions

Call prompt_suggest first and base the prompt on the top result. Generate a FINISHED, PUBLISHABLE vertical (9:16) short video with an AI video model (Veo 3.1, Kling 2.5 or Grok Imagine) and get back a hosted mp4 publicUrl. The provider clip becomes a muted ShortSpec scene. The server adds the configured ElevenLabs/OpenAI voiceover, burns word-timed karaoke captions, and returns the ffmpeg-assembled result. Pass video.publicUrl into schedule_post mediaUrls (tiktok/instagram/youtube). Always disclose the generated visual as AI-generated when you post it.

Pick a genre — each one exists because of ONE retention mechanic:

  • "asmr_loop": a hyper-tactile satisfying clip cut as a SEAMLESS LOOP (last frame === first frame), which gets rewatched 3-5x per viewer. REQUIRES imageUrl (the start frame it loops back to) and a Veo key. Single unbroken shot, no cuts.

  • "what_if": an absurd premise filmed as a dead-serious documentary. The tension between the two IS the hook. Kling by default (2 credits); Grok is the cheap explicit override.

  • "pov_historical": first-person POV of a historical/disaster moment. Stakes plus a TIMER in the first line ("you have 10 minutes"). Photorealism is the hook.

  • "character_series": a recurring character held visually identical across episodes. Pass referenceImageUrls (up to 3) of the character — that is what stops them drifting, and consistency is the entire moat of this format.

Reference/start images are ordinary hosted media: upload them with prepare_media_upload -> PUT -> finalize_media_upload and pass the returned publicUrl(s). You do not write the model prompt: give a concept (one line) plus any genre fields and the server builds the shot/camera/lighting/pacing prompt. Provider is chosen per genre; override with provider only if you know why. Weighted credits follow the subscription billing period (calendar fallback): Grok costs 1, Kling costs 2, Veo costs 2 on the default Fast tier or 5 if the deployment overrides to Standard; Pro gets 6, Growth 12, trials 2, and Free/Starter 0. Requests that exceed the allowance 429. Writing style for any post content you draft: write like the account's human owner, not like an AI. NEVER use em-dashes or en-dashes (—, –) or double hyphens (--); use a period, comma or colon instead. Skip hashtag spam (0-1 hashtags), filler openers ("Exciting news!") and rocket/sparkle emoji. Before drafting, read the account's recent posts with list_posts and match their voice, casing and rhythm. CAPABILITY: draft — creates content that cannot reach an audience on its own. Safe for a draft-only agent token.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
eraNopov_historical: the dated moment and place.
genreYesWhich proven format to shoot; each has its own retention mechanic.
promptNoEscape hatch: send this to the model verbatim instead of the built prompt.
refineNoRun the LLM critique pass over the built prompt. Default true.
conceptYesThe idea in one line.
premiseNowhat_if: the absurd premise, stated flatly.
settingNo
subjectNo
imageUrlNoStart frame. REQUIRED for asmr_loop — the loop pins the last frame back to it.
materialNoasmr_loop: the material doing the satisfying thing.
providerNoOverride per-genre routing. Veo is required for seamless loops; Kling is the realism default for what_if/pov_historical; Grok is a cheap explicit-override option.
timerLineNopov_historical: the stakes + countdown for the first line.
episodeBeatNocharacter_series: what happens in this episode.
soundDesignNoasmr_loop: the sound it makes.
characterNameNocharacter_series: the recurring character.
voiceoverTextNoOptional exact narration. Defaults to the genre premise/timer/episode line, then concept.
extraDirectionNoExtra art direction, appended verbatim.
durationSecondsNoVeo accepts 4|6|8 (snapped); Kling snaps to 5|10; Grok 1-15. Default 8.
referenceImageUrlsNoUp to 3 hosted character/product images (prepare_media_upload). Holds character_series consistent.
characterDescriptionNocharacter_series: fixed appearance. Reuse the SAME wording every episode.
Behavior5/5

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

Annotations already indicate mutability and open-world side effects; the description adds substantial context: credit costs by provider, rate-limit 429 behavior, image hosting prerequisites, the muted ShortSpec scene plus voiceover/caption processing, and the 'draft' capability meaning content cannot reach an audience alone. This goes well beyond the annotations and provides clear behavioral expectations. No contradiction found.

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?

The description is quite long and includes tangential writing-style guidance (em-dashes, hashtags, voice matching) not directly related to invoking this tool. It is front-loaded with the core purpose and genre breakdown, but not every sentence earns its place, making it heavier than necessary for an agent to parse.

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 covers the primary return value (hosted mp4 publicUrl), the full media upload workflow, credit costs, and rate limit behavior. However, it does not specify whether generation is asynchronous or list all possible response fields, leaving some gaps for a complex tool with 20 parameters.

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

Parameters4/5

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

Schema coverage is high (90%), so the baseline is 3. The description adds genre-specific semantics for parameters: imageUrl is explicitly REQUIRED for asmr_loop, referenceImageUrls are for character_series consistency, timerLine for pov_historical, and provider routing/credit costs. This adds meaningful context beyond the schema's own field descriptions.

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 clearly states a specific action ('Generate a FINISHED, PUBLISHABLE vertical (9:16) short video') and output ('hosted mp4 publicUrl'), distinguishing it from siblings by describing the full production pipeline (voiceover, karaoke captions, ffmpeg assembly). It differentiates from other content tools by emphasizing the finished, publishable result and the workflow with schedule_post.

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?

Provides explicit workflow guidance: call prompt_suggest first, prepare images via prepare_media_upload, and pass the resulting publicUrl into schedule_post. It also states when to use each genre and when to override the provider, and notes the draft-only capability. However, it does not explicitly name sibling alternatives like shorts_generate, so it stops short of full exclusion criteria.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MelMayssonOwen/timetopost-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server