Skip to main content
Glama

Create upload from URL

create_video_upload_from_url

Downloads a video or image from a public https:// URL into ShortSync and registers a NEW video_uploads row you can then reference from create_post_draft. Good for 'here's my Dropbox/Drive/S3 link, post it' flows. When the remote sends a generic Content-Type (Google Drive serves application/octet-stream), pass an explicit filename with the right extension (.mp4/.mov/.webm/.jpg/.png/.webp/.gif/etc.) so the type can be inferred. Server-side SSRF guards apply: https only, no private IPs, Content-Length required, 950 MB max for video / 20 MB for images. Returns the new video_upload_id.

DO NOT use this tool to set a cover / thumbnail on an existing video post. This creates a separate library entry, not a cover image. To set a cover on an existing post, call update_post with custom_thumbnail_url (public https URL to an image) or with custom_thumbnail_upload_id (a video_upload_id of an image already in the workspace).

Input Schema

NameRequiredDescriptionDefault
filenameNoOptional filename to store (max 255 chars, no path separators). Derived from the URL path when omitted. **Required** when the URL doesn't end in a recognizable extension (e.g. Google Drive `uc?export=download&id=…` links) because that's how we infer the media type when the remote sends application/octet-stream.
source_urlYesPublic https:// URL to download from. Direct-download links (Dropbox '?dl=1', S3, presigned URLs, Drive uc?export=download) work; pages that require login or JavaScript to reveal the file don't.
workspace_idYesWorkspace to attach the upload to. Get it from list_workspaces.
idempotency_keyNoOptional client-generated key (e.g., a UUID) to make retries safe. Identical calls with the same key within 10 minutes return the original result instead of running the write twice.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, the description explains that a new video_uploads row is created, the tool returns the new video_upload_id, and server-side SSRF guards apply: https only, no private IPs, Content-Length required, and size limits of 950 MB for video and 20 MB for images. It also highlights the important behavioral distinction that this creates a separate library entry, not a cover image.

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?

The description is front-loaded with the primary purpose and return value, then moves through practical usage, filename guidance, safety limits, and the critical misuse warning. Despite its length, every section provides actionable information for correctly invoking the tool.

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?

Given the tool's complexity and the absence of an output schema, the description covers creation behavior, return value, URL requirements, filename inference needs, size limits, SSRF restrictions, and the key non-use case. An agent has enough information to call it correctly and avoid confusing it with cover-image or draft-creation tools.

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%, so the schema already documents all four parameters thoroughly. The description reinforces the filename guidance for generic Content-Type responses and mentions public https URL behavior, but most of that detail is already present in the schema, so it adds limited additional parameter semantics beyond structured data.

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 states a precise verb and resource: downloading a video or image from a public URL into ShortSync and registering a NEW video_uploads row. It also distinguishes this tool from create_post_draft and from update_post by explaining that this creates a separate library entry rather than a cover image.

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?

It gives a concrete when-to-use scenario ('here's my Dropbox/Drive/S3 link, post it') and an explicit when-not-to-use case: it must not be used to set a cover/thumbnail on an existing video post. It also names the correct alternative, update_post with custom_thumbnail_url or custom_thumbnail_upload_id.

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.