Skip to main content
Glama

Create Upload Tool

create_upload

Start an upload of a LOCAL video file (use this instead of submit_video when you have a file on disk rather than a URL). Pass the filename, its content_type (e.g. "video/mp4"), and optionally its size in bytes and audio_language.

Returns a new video id (hashid) and a presigned upload_url. Upload the raw file bytes to it with a single HTTP PUT (no extra headers needed), e.g.: curl -X PUT --upload-file ./video.mp4 "" Then call complete_upload with the returned video id to start processing.

The url expires (see expires_in_seconds). Single-PUT uploads are capped at 5 GB (max_bytes); for larger files use the web uploader.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sizeNoOptional file size in bytes. Rejected if over the 5 GB single-upload limit.
filenameYesThe file name, e.g. "interview.mp4" (used for the title and extension).
content_typeYesThe file MIME type, e.g. "video/mp4".
audio_languageNoOptional spoken-language code of the video, e.g. "en".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations are empty, so description must disclose behavior. It does: returns video id and upload_url, URL expiration (expires_in_seconds), single-PUT upload limit of 5GB, and suggests web uploader for larger files. No contradictions.

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?

Concise yet comprehensive: starts with core purpose, then actionable steps. Every sentence adds value; well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all essential aspects: tool purpose, parameter usage, return values, follow-up steps, size constraint, and expiration. Complete for a multi-step upload tool without output schema.

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 coverage is 100%, baseline 3. Description adds context: filename used for title and extension, size optional but enforced, audio_language as spoken-language code. This enhances meaning beyond the schema.

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?

Clearly states it initiates an upload of a LOCAL video file and explicitly distinguishes from sibling tool submit_video (for URLs). The verb 'start an upload' and resource 'local video file' are specific.

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

Usage Guidelines5/5

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

Provides explicit guidance: use when file is on disk, not URL; directs to call complete_upload after upload; explains that for files >5GB use web uploader. Also includes detailed steps for the HTTP PUT request with a curl example.

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