Skip to main content
Glama

Create Media from Trims

create_media_from_trims
Destructive

Create a new trimmed video from an existing Wistia media by removing specified time ranges, or set keep_trims to retain only chosen ranges.

Instructions

Creates a new media that trims off parts of an existing media.

By default, the trims parameter specifies time ranges to remove from the media. When keep_trims is set to true, the trims parameter instead specifies time ranges to keep in the media.

NOTE: currently this endpoint only supports trimming video files.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

Input Schema

NameRequiredDescriptionDefault
trimsNo
accountNoNamed private Wistia account; selects credentials, not a remote account ID.
confirmNoSet true only when the user asked for exactly this action.
payloadNoComplete JSON request body instead of body flags. Supports current nested customization, caption and nullable values.
keep_trimsNoWhen set to true, the trims parameter is treated as ranges to keep rather than ranges to remove. Defaults to false.
payload_fileNoRegular local JSON body file, at most 5 MB. Cannot be mixed with body flags or payload.
media_hashed_idYesThe hashed ID of the media.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv3.0.0
    • addedInput schema / $defs
      Added value: +{
      +  "trims": {
      +    "description": "An array of strings matching the format of HH:MM:SS.mmm-HH:MM:SS.mmm where HH is hours, MM is minutes, SS is seconds and mmm is milliseconds. When keep_trims is false (default), the ranges specify parts of the media to remove. When keep_trims is true, the ranges specify parts of the media to keep.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  }
      +}
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true for the specific user-requested write."New value: +"Set true only when the user asked for exactly this action."
    • addedInput schema / properties / payload / properties / trims / $ref
      Added value: +"#/$defs/trims"
    • removedInput schema / properties / payload / properties / trims / description
      Removed value: -"An array of strings matching the format of HH:MM:SS.mmm-HH:MM:SS.mmm where HH is hours, MM is minutes, SS is seconds and mmm is milliseconds. When keep_trims is false (default), the ranges specify parts of the media to remove. When keep_trims is true, the ranges specify parts of the media to keep."
    • removedInput schema / properties / payload / properties / trims / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / payload / properties / trims / type
      Removed value: -"array"
    • addedInput schema / properties / trims / $ref
      Added value: +"#/$defs/trims"
    • removedInput schema / properties / trims / description
      Removed value: -"An array of strings matching the format of HH:MM:SS.mmm-HH:MM:SS.mmm where HH is hours, MM is minutes, SS is seconds and mmm is milliseconds. When keep_trims is false (default), the ranges specify parts of the media to remove. When keep_trims is true, the ranges specify parts of the media to keep."
    • removedInput schema / properties / trims / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / trims / type
      Removed value: -"array"
  2. First observedv2.0.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructive=true, non-idempotent and openWorld, so the safety profile is partly covered. The description adds real context beyond that: token permission requirements, the confirm=true gate, the video-only limitation, and side effects (may share access, notify people, incur provider charges). The confirm=true note partially duplicates the confirm parameter's own schema description.

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, then the trims/keep_trims distinction, then the constraint note and permissions. The permissions block is boilerplate-ish but relevant; overall it is tight and structured with no wasted preamble.

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 non-idempotent mutation with 7 params, a nested payload object, and no output schema, the description covers what to do, how trims are interpreted, the media-type limit, and auth/confirmation needs. It does not describe pagination or response shape, but no output schema exists and returns aren't the agent's blocking concern here.

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 86%, so trims and keep_trims are already well documented in the schema ($defs and property descriptions). The description restates the same remove-vs-keep semantics rather than adding new syntax or format detail, so the baseline 3 is appropriate.

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+resource+mechanism: creates a new media by trimming time ranges from an existing media. It distinguishes the operation from siblings like copy_media or upload_media by describing the trim-based transformation, and the keep_trims inversion is called out immediately.

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?

Gives clear conditions: trims removes by default, keep_trims=true instead keeps, and it notes the endpoint currently only supports video files. It does not name an alternative sibling (e.g., copy_media for untrimmed duplication) or state when-not-to-use, so it stops short of explicit routing.

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

Deploy Server

Other Tools