Skip to main content
Glama

Import Media from URL

import_media_from_url
Destructive

Import a media file from a publicly accessible URL into Wistia, optionally into a folder; the asynchronous job returns a background job status to poll.

Instructions

This endpoint imports a media file from a given URL. The import is processed asynchronously and will return a background_job_status object rather than the typical Media response object. You can poll the background job status endpoint to check on the progress of the import.

If no folder_id is provided, a new folder called "Untitled Folder" will be created and the imported media will be placed there.

The URL must be publicly accessible : Wistia's servers need to be able to fetch the file directly.

Note: imports from certain domains (e.g. vimeo.com, wistia.com) are not permitted.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoThe publicly accessible URL of the media file to import.
accountNoNamed private Wistia account; selects credentials, not a remote account ID.
confirmNoMust be true for the specific user-requested write.
payloadNoComplete JSON request body instead of body flags. Supports current nested customization, caption and nullable values.
folder_idNoThe hashed ID of the folder (project) to import the media into. If not provided, a new folder will be created.
payload_fileNoRegular local JSON body file, at most 5 MB. Cannot be mixed with body flags or payload.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations (destructiveHint=true, openWorldHint=true) by disclosing the async return shape (background_job_status instead of Media), the required polling, the auto-created 'Untitled Folder', the public-URL fetch requirement, blocked domains (vimeo/wistia), the confirm=true requirement, and permission/scope constraints.

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?

Front-loads the core purpose and async behavior, then constraints. Mostly earned, though the token-permission block is verbose boilerplate that slightly dilutes the operational content.

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?

For a complex, nested, destructive async tool with no output schema, the description covers return shape, polling, defaults, auth, and domain restrictions, leaving no critical gap for correct invocation.

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 baseline is 3, but the description adds value: it names the auto-created folder ('Untitled Folder'), reinforces the publicly-accessible URL constraint, and clarifies the confirm=true mutation gate. The payload/body-flag distinction is left to 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?

States a specific verb+resource ('imports a media file from a given URL') and distinguishes itself from the upload siblings (upload_media, upload_media_file) by making clear the source is a remote URL rather than a local file. An agent can immediately tell what this does.

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?

Explains the async workflow and that you must poll the background job status endpoint, plus the fallback behavior when no folder_id is given. It does not explicitly name alternatives (e.g. 'use upload_media_file for local files'), so the sibling routing is left implicit.

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

Deploy Server

Other Tools