Skip to main content
Glama

score_my_video

Destructive

Create a watermarked music-scored MP4 from a supported video URL and an English music brief, an explicit catalogue track, or timed sections. Measures video duration and edit pace, selects or uses the specified music, and mixes it with the source audio. Sections support separate cues, versions or stems; silences specify music-free intervals. Section and silence boundaries are adjusted to measured shot boundaries. Returns video download/watch links, chosen cues, mix details, duration and shot-count summary. Detailed cut timestamps, storyboard frames and transcripts are provided by analyze_video, not this tool. Completed delivery packages are retrieved with deliver_score using the scoring arguments. Supports direct video files and supported Dropbox/Google Drive shares; stream-only YouTube, Vimeo, Dailymotion and Twitch pages are unsupported. Creates private processing jobs and stored outputs. After verified output storage, the temporary AINSOF-uploaded source copy is deleted or queued for deletion retry; the local original is unchanged. Processing may return still_running; recent identical requests reuse existing work. Terminal failures return a reason.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
briefNothe music you want, IN ENGLISH
versionNoforce a version — MAIN, CUT_30, CUT_60…
sectionsNoTimed sections with separate music briefs or specified cues. Boundaries are adjusted to measured shot boundaries. This tool does not support per-section volume automation.
silencesNoMusic-free intervals, in seconds. Boundaries are adjusted to measured shot boundaries. analyze_video provides the cut list.
track_idNouse this exact cue instead, e.g. 'AIN-CAT 006_004'
video_urlYeslink to the video
music_offset_dbNohow far under the video's own audio the music sits, in dB. Negative is quieter; 0 is level with it. Leave unset for the default.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / sections / description
      Previous value: -"DIFFERENT MUSIC FOR DIFFERENT PARTS OF THE STORY. Use this when a brief asks for acts, distinct sections, a change of character, or a separate cue for a specific sequence. Each section gets its own cue chosen from its own brief, and every boundary is snapped to a real shot boundary so the music turns over on the cut. This is the ONLY way to make a moment feel different. There is no volume automation in this tool and there will not be: turning one piece of music down to fake a low point is not scoring, it is the same music played quieter, and it sounds like it. If a moment needs to feel smaller, give it its own section with its own brief."New value: +"Timed sections with separate music briefs or specified cues. Boundaries are adjusted to measured shot boundaries. This tool does not support per-section volume automation."
    • changedInput schema / properties / sections / items / properties / version / description
      Previous value: -"Which mix of that cue to use. Every cue ships the full mix plus alternates the composer made: UNDERSCORE, MUSIC_BED, NO_MELODY, NO_DRUM_PERCUSSION, NO_VOCAL and others — call get_track to see what a given cue actually has. There is no rule about which suits which moment: a scene under dialogue often wants NO_MELODY, and the moment that has to land wants everything. You are scoring it — choose."New value: +"An alternate mix available for this cue, such as MAIN, UNDERSCORE, MUSIC_BED or NO_MELODY. get_track lists the versions actually available for the selected cue."
    • changedInput schema / properties / silences / description
      Previous value: -"MOMENTS WHERE THE MUSIC STOPS DEAD. Briefs ask for this in as many words — \"drop the music out completely when the statue is destroyed\" — and it is the single most effective thing a score does. Each time is snapped to the nearest real shot boundary, so the stop lands ON the cut instead of near it. Call analyze_video first if you need the cut list."New value: +"Music-free intervals, in seconds. Boundaries are adjusted to measured shot boundaries. analyze_video provides the cut list."
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=true), the description discloses concrete behaviors: creates private processing jobs, deletes the temporary uploaded source copy after verified storage, may return still_running, reuses identical requests, and returns a reason on terminal failure. It also reveals watermarks and audio mixing, adding context the annotations do not cover.

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

Conciseness5/5

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

The description is long but every sentence earns its place. It is front-loaded with the core purpose and systematically covers inputs, outputs, sibling handoffs, unsupported sources, and processing behavior. There is no filler or redundancy; each clause adds distinct, actionable information.

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 tool with 7 parameters, no output schema, and nested sections/silences, the description is thorough. It covers input types, output contents (links, cues, mix details, duration, shot count), edge behaviors (still_running, reuse, deletion), unsupported sources, and explicit delegation to sibling tools. An agent has enough to invoke it correctly and know what to expect.

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. The description adds value beyond schema by explaining how sections and silences interact with shot boundaries, that stems stay in sync, and that per-section volume automation is unsupported. It also clarifies that detailed timestamps come from analyze_video, not this tool. While not every parameter gets extra explanation, the added context meaningfully improves an agent's understanding of the parameters' roles.

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 opens with a clear, specific action: 'Create a watermarked music-scored MP4 from a supported video URL and an English music brief, an explicit catalogue track, or timed sections.' It names the resource (video URL + music input) and output (MP4), and explicitly contrasts with sibling tools (analyze_video, deliver_score). This leaves no ambiguity about what the tool does and how it differs from neighbors.

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?

The description provides direct routing guidance: 'Detailed cut timestamps, storyboard frames and transcripts are provided by analyze_video, not this tool' and 'Completed delivery packages are retrieved with deliver_score using the scoring arguments.' It also lists unsupported sources (YouTube, Vimeo, etc.) and notes the tool does not support per-section volume automation. This tells an agent when to pick this tool and when to look elsewhere.

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