Skip to main content
Glama

Upload one local input file

upload_file
Destructive

Upload a confirmed absolute local media file (1 byte–20 MiB) to fal.media via a credential-free HTTPS PUT for use in fal.ai workflows.

Instructions

Confirmed selected absolute regular non-symlink local file, 1 byte–20 MiB. Uses pinned SDK upload-initiation protocol then a credential-free HTTPS fal.media PUT with redirects refused. No remote URL ingestion, base64 model output, multipart retries or automatic generation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accountNoExact configured isolated API-key profile label.
confirmNoExplicit approval for the requested paid work, mutation, upload or private file.
file_pathYesAbsolute selected local media file, regular/non-symlink, 1 byte–20 MiB.
lifecycleNoNative CDN expiry/ACL preference. Omit to use account defaults. null expiration means no expiry; default CDN access may be public. Unknown nicknames may be dropped by provider.
content_typeYesPlain MIME type matching the selected media.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

B3/5.0
Behavior4/5

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

Annotations already declare the mutation/destructive/open-world profile, so the bar is lower. The description nonetheless adds real behavioral context beyond the schema: the upload-initiation protocol, a credential-free HTTPS PUT, and redirects being refused. It stops short of stating auth requirements or retry/failure behavior for the caller.

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

Conciseness3/5

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

It is compact at two sentences with no filler, but it is front-loaded with a verbless constraint fragment instead of the action, and the telegraphic style ('Confirmed selected...', 'credential-free... with redirects refused') reads as compressed internal notes rather than a purpose-first statement.

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

Completeness3/5

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

For a destructive, non-idempotent mutation with five parameters, a nested ACL/expiration object, and no output schema, the description covers the transport mechanism and file limits but says nothing about the lifecycle/ACL parameters, the confirm requirement, or any return indication. Adequate but with clear gaps for the tool's complexity.

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 five parameters including the nested lifecycle/ACL object. The description largely restates the file_path constraints (absolute, regular, non-symlink, 1 byte–20 MiB) rather than adding syntax or semantics beyond the schema, so the baseline 3 is appropriate.

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

Purpose3/5

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

The title names a clear verb+resource ('Upload one local input file'), and the description implies the upload target ('HTTPS fal.media PUT') plus explicit scope limits (no remote URL, no base64, no auto-generation). However, the opening is a verbless noun fragment ('Confirmed selected absolute regular non-symlink local file'), and the sibling upload_asset is never referenced, so the agent cannot easily tell the two apart.

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

Usage Guidelines2/5

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

The description lists what it will NOT do (no remote URL ingestion, no base64 output, no multipart retries), which is exclusionary input guidance rather than when-to-use routing. There is no mention of alternatives such as upload_asset, nor any condition telling the agent when this tool is the right choice.

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