Skip to main content
Glama

Upload file

upload_file

Upload a local file to VideoGen to get a file ID and signed URLs for voiceover, slideshow, logo, or B-roll video creation.

Instructions

Upload a local file to VideoGen and wait until it is processed. Returns the file with its id (vg_file_...) and signed URLs. Use the returned fileId for voiceover_to_video, slideshow_to_video, logos, or B-roll. To upload a remote asset, download it first and pass its local path.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNoFile type. Inferred when omitted.
filePathYesAbsolute path to a local file to upload.
displayNameNoDisplay name for the file. Defaults to the source file name.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNoFile type once processing has determined it.
scopeNoFile scope.
fileIdYesFile id (vg_file_...).
hlsSourceNo
descriptionNoFile description when analyzed.
displayNameNoDisplay name for the file.
downloadUrlNoSigned download URL when ready.
publicHlsUrlNo
thumbnailUrlNoSigned thumbnail URL when available.
previewSourceNo
downloadSourceNo
sourceToolTypeNo
transcriptTextNoPlain transcript text when available.
durationSecondsNoDuration in seconds for video/audio; null for images.
thumbnailSourceNo
publicPlaybackIdNo
downloadUrlExpiresAtNoUnix expiry for downloadUrl.
sourceToolExecutionIdNo
thumbnailUrlExpiresAtNoUnix expiry for thumbnailUrl.
isPublicPreviewEnabledNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.1

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare a non-destructive write with no open-world access, and the description adds the key behavioral fact those annotations cannot convey: the call blocks until processing finishes. It does not state size limits, failure modes, or expected latency, which would be valuable for an upload that waits.

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?

Three tightly packed sentences that lead with the action and proceed to return value and downstream usage; no filler. Slightly dense, but every sentence carries information.

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?

Covers the local-vs-remote distinction, the blocking behavior, and the returned identifier, and an output schema exists so return formatting needn't be repeated. Missing only guidance on limits or error handling for a tool that waits on processing.

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% and each parameter (type, filePath, displayName) is already documented with defaults and inference rules, so the description adds little parameter detail. Baseline 3 is appropriate when the schema carries the semantic load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Upload a local file to VideoGen') plus the synchronous processing behavior, which is more than a restatement of the name. It does not, however, differentiate itself from the sibling 'create_file_upload', which an agent could reasonably confuse it with.

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 downstream context ('Use the returned fileId for voiceover_to_video, slideshow_to_video, logos, or B-roll') and an explicit precondition for remote assets ('download it first and pass its local path'). It stops short of saying when to prefer this over the sibling create_file_upload.

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