Skip to main content
Glama

Add voiceover

add_voiceover

PROJECT-SCOPED: this call acts only on the explicit project_id and returns the project identity with its result. Lay an uploaded audio file OVER the whole program from start_output_s (a position in the FINAL edited video, default 0). duck_others (default true) lowers all other audio 12dB while it plays. source_offset_s seeks into the file in place (use it to start a narration/song excerpt at the right moment; never create an externally trimmed workaround). duration_s ends the excerpt after exactly that many seconds. To reuse dialogue from the MAIN source over an inserted/second scene, pass asset_key='main', its SOURCE start as source_offset_s, the sentence length as duration_s, and the destination scene's OUTPUT time as start_output_s. Otherwise use a storage_key from list_assets(kind='music').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gain_dbNo
asset_keyYes
duration_sNo
project_idYesRequired immutable scope for this call. Copy the id from list_projects/open_project/project_state; the active-project pointer is never used to guess.
duck_othersNo
start_output_sNo
source_offset_sNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations are minimal (no readOnly, destructive, etc.), so the description carries the burden. It discloses key behaviors: project-scoped, duck_others lowers other audio by 12dB, source_offset_s seeks into the file, and it returns the project identity. No contradictions found with annotations.

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 description is dense but well-structured: it opens with the critical scope note, then explains each parameter with examples and use cases. While it is longer than a typical description, every sentence serves a purpose and it is logically organized.

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?

For a tool with 7 parameters and no output schema, the description covers all essential aspects: what it does, how to use it, parameter meanings, and even the return value. It lacks explicit details on edge cases (e.g., what happens if duration_s is omitted), but overall it is complete enough for an agent to invoke it correctly.

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 only 14% (only project_id is described), but the description compensates by explaining start_output_s, duck_others, source_offset_s, duration_s, and asset_key in detail. gain_db is not explicitly explained but is self-explanatory from its name. Overall, it adds substantial meaning beyond the schema.

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 the tool's function: lay an uploaded audio file over the whole program, with parameters for timing and ducking. It distinguishes itself from siblings like add_music and add_sfx by focusing on voiceover and the explicit project-scoped behavior, and it even describes a specific reuse case for main-source dialogue.

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 provides clear guidance on when to use the tool, including a specific scenario for reusing dialogue and an explicit instruction to use storage_key from list_assets(kind='music') for music. It also advises against external trimming workarounds. It doesn't explicitly list exclusions vs. alternatives, but the context is sufficient.

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.