Skip to main content
Glama

Trim audio

trim_audio

Save one stretch of an owned voice-over, song or audio upload as a new WAV audio generation, cut to the sample. Specify the start time and duration in seconds. To cut a whole take into a talking head's lines, pass each window of chunks from transcribe_media with chunk_max_seconds. Costs no credits; uses account storage. get_generation waits for the result.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceYes
accurateNo
start_secondsYes
duration_secondsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
messageYes
generationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / generation / properties / ready_in_seconds
      Added value: +{
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / generation / required
      Previous value: -[
      -  "generation_id",
      -  "kind",
      -  "status",
      -  "model",
      -  "prompt",
      -  "aspect_ratio",
      -  "refined_from",
      -  "caption_style",
      -  "output_url",
      -  "credits_cost",
      -  "error",
      -  "vendor_phase",
      -  "stalled",
      -  "created_at",
      -  "app_url"
      -]New value: +[
      +  "generation_id",
      +  "kind",
      +  "status",
      +  "model",
      +  "prompt",
      +  "aspect_ratio",
      +  "refined_from",
      +  "caption_style",
      +  "output_url",
      +  "credits_cost",
      +  "error",
      +  "vendor_phase",
      +  "stalled",
      +  "ready_in_seconds",
      +  "created_at",
      +  "app_url"
      +]
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare the safety profile (readOnly=false, idempotent=false, destructive=false), but the description adds genuinely non-structured context: no credit cost, consumption of account storage, that only *owned* media is eligible, and that the result is asynchronous and should be awaited via get_generation. This is exactly the value-add expected when annotations already cover safety.

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?

Front-loads the core action in the first sentence, then layers the input contract, the chunking workflow, the cost/storage note, and the async tip. Every sentence earns its place; the only slight awkwardness is the mid-sentence `chunks` backtick reference that assumes prior knowledge of transcribe_media.

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?

An output schema exists so return values need not be described, and the description still supplies cost, storage, ownership, and async-completion context. It is not fully complete because a 0%-coverage schema with an unused `accurate` flag is left unexplained.

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

Parameters3/5

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

Schema description coverage is 0%, so the description has to carry the parameter burden, and it covers start/duration semantics (seconds, matching the schema's 0-600 bounds implicitly) and loosely the source union ('owned voice-over, song or audio upload'). However, the `accurate` boolean is never mentioned and the source object shape (upload_id vs generation_id discriminator) is not clarified, leaving real gaps.

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?

States a specific verb and resource ('Save one stretch ... as a new WAV audio generation, cut to the sample') and scopes the eligible sources to owned voice-overs, songs or audio uploads. An agent can immediately tell this apart from the sibling trim_video (audio vs video) and from generate_voiceover (trim vs create).

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?

Goes beyond a bare statement of purpose by prescribing the inputs ('Specify the start time and duration in seconds') and describing a concrete companion workflow for cutting a long take into lines via transcribe_media's `chunks` with chunk_max_seconds. It does not name trim_video or explicitly say when *not* to use this tool, so it stops short of a 5.

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