Skip to main content
Glama

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

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

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true. The description adds real behavioral context beyond that: the response returns an `upload_url` and a PUT request is required to actually transfer the file, plus the `input` parameter is rejected. It does not mention auth/permission requirements or what happens to an abandoned upload.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences: purpose, the parameter-divergence caveat, then the response/next-step contract with a docs link. No filler and the critical next step (PUT to upload_url) is stated before the reference link.

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 26-parameter, zero-required mutation tool with an output schema present, the description supplies the missing two-step upload contract that the schema cannot express, and the output schema covers the return shape. It stops short of permissions, failure handling, or upload URL expiry, which would round it out.

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 description coverage is 100%, so the baseline is 3. The description adds one genuinely useful semantic note: all body parameters mirror Create Asset except `input`, which this endpoint omits. That is modest but real added meaning over the schema, which cannot express the cross-tool relationship.

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 allowing upload ... from the local file system') and pins down the workflow with the create-then-PUT upload_url sequence. It also implicitly distinguishes itself from create_asset by noting the one body parameter (`input`) it does not accept.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through the local-file-system upload flow, but never states explicitly when to choose this over create_asset or complete_multipart_upload, nor any prerequisites. It points to external docs for the upload step, which partially compensates but leaves selection guidance to inference.

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