Skip to main content
Glama

Doseedo: Film Scoring, AI Instruments, Sound Effects & Stems

Put a video in another frame (9:16, 4:5, 1:1, 16:9)

doseedo_reframe_video

REFRAME A VIDEO: the same video in another frame, for where it is posted — 9:16 (stories, reels, shorts), 4:5 (a feed post), 1:1 (square) or 16:9 (a landscape master). fit "fit" (default) keeps the whole picture, centred over a blurred fill of itself, so nothing is cut (captions at the top or bottom of a vertical ad stay); "fill" scales to cover the frame and centre-crops the rest (the report says how much of the picture is kept). The sound is kept as it is (a scored film's mix untouched). Up to 1080 px on the short side (never upscaled past the source's), H.264 MP4. A video already in that frame is copied, not re-encoded. Input: video_key (an upload) or video_url (a doseedo_score_to_picture video as returned, or any public https URL). CPU, no credits. Async: job_id → doseedo_wait_task. Cancel: the plane has no stop for a running re-frame — it runs to completion (credits spent), the job ends as canceled and its output is discarded. Only a job still queued at the plane is refunded by the plane's own failure refund.

Input Schema

NameRequiredDescriptionDefault
fitNofit (default): the whole picture over a blurred fill, nothing cut. fill: cropped to fill the frame.
nameNoOptional: a name for this job's files, e.g. "rainy-loop-3". Every file it returns downloads as <name>_<part>.<ext> (rainy-loop-3_Celesta.wav, rainy-loop-3_rough-mix.wav; one take: rainy-loop-3.wav), so the user can find them. Give each job its own name (a second take: "rainy-loop-3b"). Default: doseedo-<last 6 characters of the job id>.
aspectYesThe frame: 9:16 (stories, reels, shorts), 4:5 (feed), 1:1 (square), 16:9 (landscape).
video_keyNoR2 ingest key of the video (from doseedo_get_upload_url).
video_urlNoThe video's URL: a doseedo_score_to_picture video as returned, or a public https URL.
idempotency_keyNoOptional. Any unique string for THIS request (e.g. a UUID). Re-sending the same call with the same key after a timeout returns the same job instead of starting a second one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

With annotations only covering the read/write/safety profile, the description carries rich behavior: fit versus fill (blurred-fill preservation vs centre crop), audio preserved untouched, 1080 px short-side cap with no upscaling, H.264 MP4 output, and passthrough copy when the video is already in that frame. It also discloses the important operational facts — CPU with no credits, async job_id, and that a running re-frame cannot be stopped (credits spent, output discarded, only queued jobs refunded). The idempotentHint=false alongside an idempotency_key parameter is a nuance rather than a contradiction, since the key makes retry-safety opt-in.

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?

The purpose is front-loaded in the first clause and every operational fact (fit semantics, format, credits, async, cancel) is present. There is some redundancy — the four aspect ratios and their use cases are restated from the schema's enum descriptions, and the cancel explanation is a long parenthetical chain — but little is genuinely wasted.

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?

For a mutation-style render with no output schema, the description supplies everything an agent needs: accepted inputs and their provenance, output container and resolution ceiling, cost model, async hand-off to doseedo_wait_task, and the cancellation/refund outcome. Nothing essential to calling it correctly or setting user expectations is absent.

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 100%, so the baseline is 3, but the description adds genuine meaning: it explains that fit (the default) centres the picture over a blurred fill of itself so captions survive, and that fill centre-crops with the report stating how much of the picture was kept. It also clarifies where video_url may legitimately come from. The name and idempotency_key parameters are left entirely to the schema, which keeps this below 5.

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?

"REFRAME A VIDEO: the same video in another frame" gives a specific verb and resource, and immediately enumerates the four target frames with their real-world use cases (stories, reels, shorts, feed, square, landscape master). An agent can distinguish this from doseedo_score_to_picture or doseedo_bounce_session without inspecting 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 Guidelines4/5

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

It names the concrete situations each aspect ratio serves and the two acceptable input sources (an upload video_key, or a video_url obtained from doseedo_score_to_picture or any public https URL), plus the async follow-up route via doseedo_wait_task. What is missing is an explicit exclusion — nothing says when to reach for a sibling instead, e.g. when re-framing is unnecessary because the video is already correct.

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