Skip to main content
Glama

convert_video

Video Converter — Convert a video so it PLAYS or IMPORTS where it currently will not: a camera, phone or camcorder recording that your editing software, media player, website or social platform refuses to accept, open or upload. Converts between mp4, mov, webm, mkv, avi, and animated GIF with codec/resolution/bitrate control and TikTok/Reels/Shorts/Twitter/WhatsApp presets. Also converts legacy formats (flv, wmv, 3gp, mpg, vob, ts, m2ts) to mp4. Free tier covers mp4/mov/webm at ≤720p; mkv, avi, gif, 1080p+ and AV1 require Business. [category: convert]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesThe format you want back. MP4 plays almost everywhere. MKV, AVI and animated GIF need Business. A GIF is made at 480p unless you set the size below.mp4
crfNoPicture quality. Lower is better-looking and bigger; higher is smaller and rougher. 23 is the everyday setting for H.264. Each compression method reads this scale differently - left alone we pick the matching everyday value (28 for H.265, 32 for VP9, 30 for AV1). Out-of-range values are pulled back into range rather than refused, and the whole setting is ignored if you set a data rate or pick a platform preset.
fileYesMax 500 MB; duration ≤5 min on Free, 30 min on Business. Format is sniffed from bytes; the filename extension is the fallback when sniffing fails.
codecNoHow the picture is compressed. Leave it on Automatic unless you know you need otherwise — a compression method the chosen format cannot carry (H.265 in a WebM, say) will fail during conversion. H.265 and AV1 need Business.auto
resolutionNoHow big the picture should be. 'Source' keeps the original size. Height is set and the shape is kept. 1080p and 4K need Business.source
preset_nameNoMake it ready for one place in particular. Picking one sets the format, size, compression and data rate for you and ignores your choices above. Business only.
bitrate_kbpsNoAim for a file size instead of a quality level. Setting this overrides the quality slider. Leave it alone unless you have a size you must hit.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / bitrate_kbps / x-ui / unset_label
      Added value: +"Chosen automatically"
  2. Changed1 schema field changed
    • addedInput schema / properties / preset_name / x-ui / unset_label
      Added value: +"No preset"
  3. Changed1 schema field changed
    • addedInput schema / properties / bitrate_kbps / x-ui
      Added value: +{
      +  "unit": "kbps"
      +}
  4. Changed12 schema fields changed
    • changedInput schema / properties / bitrate_kbps / description
      Previous value: -"Giving it switches rate control to ABR (a size target) and beats 'crf'. Omit for CRF quality mode."New value: +"Aim for a file size instead of a quality level. Setting this overrides the quality slider. Leave it alone unless you have a size you must hit."
    • addedInput schema / properties / bitrate_kbps / x-show-when
      Added value: +{
      +  "to": [
      +    "mp4",
      +    "mov",
      +    "webm",
      +    "mkv",
      +    "avi"
      +  ]
      +}
    • addedInput schema / properties / codec / default
      Added value: +"auto"
    • changedInput schema / properties / codec / description
      Previous value: -"'auto' picks the container's default. h265 and av1 need Business; a codec the container can't hold 400s."New value: +"How the picture is compressed. Leave it on Automatic unless you know you need otherwise — a compression method the chosen format cannot carry (H.265 in a WebM, say) will fail during conversion. H.265 and AV1 need Business."
    • changedInput schema / properties / codec / enum
      Previous value: -[
      -  "auto",
      -  "h264",
      -  "h265",
      -  "vp9",
      -  "av1"
      -]New value: +[
      +  "auto",
      +  "h264",
      +  "vp9",
      +  "h265",
      +  "av1"
      +]
    • addedInput schema / properties / codec / x-show-when
      Added value: +{
      +  "to": [
      +    "mp4",
      +    "mov",
      +    "webm",
      +    "mkv",
      +    "avi"
      +  ]
      +}
    • addedInput schema / properties / crf
      Added value: +{
      +  "default": 23,
      +  "description": "Picture quality. Lower is better-looking and bigger; higher is smaller and rougher. 23 is the everyday setting for H.264. Each compression method reads this scale differently - left alone we pick the matching everyday value (28 for H.265, 32 for VP9, 30 for AV1). Out-of-range values are pulled back into range rather than refused, and the whole setting is ignored if you set a data rate or pick a platform preset.",
      +  "maximum": 51,
      +  "minimum": 0,
      +  "type": "integer",
      +  "x-show-when": {
      +    "to": [
      +      "mp4",
      +      "mov",
      +      "webm",
      +      "mkv",
      +      "avi"
      +    ]
      +  }
      +}
    • changedInput schema / properties / preset_name / description
      Previous value: -"Business-only. Wins over 'to', 'codec', 'resolution' and 'bitrate_kbps' — every preset forces h264 mp4. Only set when the user names the platform."New value: +"Make it ready for one place in particular. Picking one sets the format, size, compression and data rate for you and ignores your choices above. Business only."
    • addedInput schema / properties / resolution / default
      Added value: +"source"
    • changedInput schema / properties / resolution / description
      Previous value: -"Default 'source' = no scaling. 1080p and 2160p need Business. Scales by height only; aspect ratio preserved."New value: +"How big the picture should be. 'Source' keeps the original size. Height is set and the shape is kept. 1080p and 4K need Business."
    • addedInput schema / properties / to / default
      Added value: +"mp4"
    • changedInput schema / properties / to / description
      Previous value: -"mkv, avi and gif need Business. GIF output is palette-optimized and defaults to 480p unless 'resolution' says otherwise."New value: +"The format you want back. MP4 plays almost everywhere. MKV, AVI and animated GIF need Business. A GIF is made at 480p unless you set the size below."
  5. Changed2 schema fields changed
    • changedInput schema / properties / preset_name / description
      Previous value: -"Business-only. Wins over 'to', 'codec', 'resolution' and 'bitrate_kbps' — every preset forces h264 mp4."New value: +"Business-only. Wins over 'to', 'codec', 'resolution' and 'bitrate_kbps' — every preset forces h264 mp4. Only set when the user names the platform."
    • addedInput schema / properties / preset_name / x-ui
      Added value: +{
      +  "no_recall": true
      +}
  6. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only set readOnlyHint=false and destructiveHint=false, so the description carries the burden of behavioral disclosure. It adds several key behaviors: out-of-range CRF values are clamped rather than rejected, CRF is ignored when bitrate or preset is set, format is sniffed from bytes with filename extension as fallback, and Business tier restrictions. It does not describe the output behavior (e.g., return format), but given the annotations are minimal, it provides substantial transparency.

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 leads with the core purpose, then formats, controls, presets, legacy support, and pricing. Every sentence adds value without redundancy. It is longer than a simple one-liner but justifies the length given the tool's complexity. Slightly front-loaded with the primary use case.

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?

The description covers formats, codecs, resolution, bitrate, presets, file size/duration limits, and legacy conversion. It explains failure modes (codec/format incompatibility) and free vs. Business constraints. Without an output schema, it doesn't detail the return value, but for a conversion tool the output is implied. Overall, it gives enough context for an agent to invoke correctly.

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?

The input schema already has 100% description coverage with detailed explanations for each parameter (e.g., CRF scale, codec compatibility, resolution behavior, preset effects). The description adds some contextual value (e.g., legacy formats, free tier limitations) but does not meaningfully enhance parameter meaning beyond what the schema already provides. Baseline of 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?

The description clearly states the verb (convert), the resource (video), and the specific purpose: making a video play or import where it currently won't. It enumerates target formats (mp4, mov, webm, mkv, avi, gif) and distinguishes from siblings like media_compress_video by focusing on format/codec conversion rather than compression. It also mentions legacy format conversion, which adds scope clarity.

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?

The description identifies the core use case: videos that fail to play/import/upload due to format incompatibility. It mentions presets for specific platforms (TikTok, Reels, Shorts, Twitter, WhatsApp) and free tier limits, which guide when the tool is appropriate. However, it does not explicitly name alternative tools (e.g., media_compress_video) or state when not to use it, so it lacks explicit exclusions.

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