Skip to main content
Glama

Gumlet MCP

create_asset_direct_upload

This endpoint creates a video asset allowing upload of a video from the local file system and ingest media content into the Gumlet system for processing and delivery. Body parameters are the same as the Create Asset body parameters except for the input parameter, which this endpoint does not take. A successful response will be returned with upload_url field. You can make PUT request to that URL to upload video. To upload video using upload_url refer to this.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
padNoThis transformation can be used to add padding to the video.
tagNoSpecify a text string or identifier which can identify an asset or bunch of assets later.
cropNoThis transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video.
trimNoTrim transformation can be used to trim videos based on time duration.
titleNoSpecify a text string or identifier which can be used for filtering or searching the asset.
widthNoResize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Applicable only when specified format is `MP4`.
folderNoAdd this asset to an existing folder by `folder_id`.
formatNoTranscode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`.
heightNoResize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Applicable only when specified format is `MP4`.
metadataNoAdd your metadata you want to associate with this asset.<br/> Example: <br/> <code> { "internal_video_id" : "123Abc" } </code>
audio_onlyNoThis flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`**
enable_drmNoEnable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs.
mp4_accessNoCreates `MP4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**
profile_idNoProvide `profile_id` of the previously created video profile. This parameter will override all the parameters (except `input` and `collection_id`) from the video profile.
resolutionNoRequired resolutions of the transformed asset in case of HLS or MPEG-DASH delivery format. Can be a comma-separated string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p`. Resized rendition will retain the input aspect ratio.
descriptionNoAttach some textual data with the asset. This field is neither searchable nor filterable.
playlist_idNoAdd this asset to a playlist.
animated_gifNoCreate an animated GIF from the video.
text_overlayNoText overlay can be used to brand a video or add a label in the form of text.
collection_idNoGumlet video workspace id.
image_overlayNoImage overlay can be used to brand a video or add a visual label in the form of an image.
call_to_actionsNoA CTA is an explicit prompt within the video content encouraging viewers to take a particular action.
additional_tracksNoAdd additional Audio / Subtitle tracks to Gumlet for transcoding and delivery along with video asset track.
generate_subtitlesNoGumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes)
per_title_encodingNoGumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**
process_low_resolution_inputNoCurrently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations confirm a non-destructive, non-idempotent mutation, so the safety profile is largely covered. The description adds genuine value beyond the annotations by disclosing the asynchronous two-step ingestion flow (returned `upload_url` + follow-up PUT) that an agent must execute to complete the operation.

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 purpose, then the key differentiator, then the completion workflow and docs link. Reasonably tight, though the docs-link sentence could be folded into the preceding workflow sentence.

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?

A rich output schema exists, so return-value explanation is unnecessary, and the description still names the key response field (`upload_url`). The essential gaps an agent needs — that `input` is excluded and that a follow-up PUT is required — are both covered, making it largely complete.

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 100% across 26 parameters, so the schema already carries the parameter documentation and the baseline is 3. The description only adds a cross-reference to Create Asset parameters and the excluded `input` field, which is useful routing context but not deeper semantic detail.

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 (creates a video asset via direct local-file upload) and distinguishes itself from its closest sibling by noting that body parameters match Create Asset 'except for the `input` parameter, which this endpoint does not take.' An agent can tell it apart from create_asset without opening either schema.

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?

Clearly frames the use case (uploading from the local file system) and lays out the two-step flow: call this to get `upload_url`, then make a PUT to that URL, with a docs pointer. It does not explicitly say when NOT to use it versus create_asset, but the `input` distinction and the upload workflow make the choice inferable.

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