Skip to main content
Glama

Upload file for generation

vivid_upload_file

Upload an absolute-path image, video, or audio file or a remote URL to temporary storage and get a public URL for startFrameUrl, referenceImageUrls, objectImageUrls, or audioFileUrls.

Instructions

Upload a local file (absolute path) or a remote URL — image, video or audio — to VIVID's temporary storage and get a public URL to use as startFrameUrl, referenceImageUrls, objectImageUrls or audioFileUrls. Temporary files expire after 7 days; generated results are stored permanently in the gallery.

Input Schema

NameRequiredDescriptionDefault
sourceYesAbsolute local file path or http(s) URL.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.36.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare write, open-world, non-idempotent, and non-destructive, and the description adds genuinely new behavior: files go to temporary storage, expire after 7 days, while generated results persist permanently in the gallery. That retention difference is operationally important for an agent deciding whether to reuse a URL later. Missing are practical constraints such as file-size limits or failure modes, which keeps it from a 5.

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?

Two sentences, no filler. The core action and its output come first, and the retention caveat follows as a useful second beat. Every clause carries actionable 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?

With only one parameter and no output schema, the description must explain the return value, and it does: a public URL suitable for the generation tools' URL parameters, plus expiry behavior. The remaining gap is operational limits (max size, accepted formats, failure behavior), which a caller would likely want before attempting an upload.

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%, so the single `source` parameter is already documented as an absolute local path or http(s) URL. The description adds meaning beyond that by specifying accepted media types (image, video, audio) and clarifying that the parameter is an input the agent must supply as an absolute path or remote URL. It does not add format-specific guidance (e.g., supported extensions or size caps), so it is a step above the baseline rather than exhaustive.

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?

Names a specific verb (upload) and resource (local file or remote URL) and scopes the accepted media to image, video, or audio. It also states the output — a public URL — and maps that URL to the exact downstream parameters (startFrameUrl, referenceImageUrls, objectImageUrls, audioFileUrls), which distinguishes it from siblings like vivid_download_asset or vivid_list_references.

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?

Clear guidance on when this tool is the right step: upload first so the returned URL can be fed into the generation tools that take start-frame, reference-image, object-image, or audio parameters. It does not name an alternative tool or state exclusions (e.g., when to reuse an existing asset URL instead of re-uploading), so it stops short of a full 5.

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