Skip to main content
Glama
thenavidm
by thenavidm

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SHOTSTACK_ENVNostage or v1; fallback for account entries, default v1
SHOTSTACK_API_KEYNoPrivate x-api-key credential; single-account alternative
SHOTSTACK_ACCOUNTSNoPrivate named JSON account array; takes precedence over single settings
SHOTSTACK_AUDIT_LOGNoOptional private local guard-attempt log
SHOTSTACK_READ_ONLYNo1/true hides and refuses all mutations
SHOTSTACK_TOKEN_FILENoRegular private token-only file, max 64 KB; overrides environment key
SHOTSTACK_MAX_RETRIESNo0–5, default 2; only short explicit GET 429 retries
SHOTSTACK_DEFAULT_ACCOUNTNoExact configured label; default first entry
SHOTSTACK_ALLOW_DESTRUCTIVENo0/false blocks confirmed mutations; default enabled
SHOTSTACK_REQUEST_TIMEOUT_MSNo100–300000, default 30000
SHOTSTACK_MIN_REQUEST_INTERVAL_MSNo0–10000, default 150; account/process pacing

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
renderA

Queue and render the contents of an Edit as a video, image or audio file.

Rendering Process:

  1. Validation: The edit JSON is validated

  2. Download: All assets are downloaded and cached

  3. Preprocessing: Video assets are automatically processed to fix compatibility issues

  4. Rendering: The timeline is rendered using the processed assets

  5. Output: The final media file is generated and stored

Video Preprocessing: Video assets undergo automatic preprocessing to ensure compatibility. You can force preprocessing by setting "transcode": true on video assets. See VideoAsset for more details.

Base URL: https://api.shotstack.io/edit/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

get_renderA

Get the rendering status, temporary asset url and details of a render by ID.

Base URL: https://api.shotstack.io/edit/{version} Read operation.

create_templateA

Save an Edit as a re-usable template. Templates can be retrieved and modified in your application before being rendered. Merge fields can be also used to merge data in to a template and render it in a single request.

Base URL: https://api.shotstack.io/edit/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

list_templatesB

Retrieve a list of templates stored against a users account and stage.

Base URL: https://api.shotstack.io/edit/{version} Read operation.

get_templateB

Retrieve a template by template id.

Base URL: https://api.shotstack.io/edit/{version} Read operation.

update_templateB

Update an existing template by template id.

Base URL: https://api.shotstack.io/edit/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

delete_templateA

Delete a template by its template id.

Base URL: https://api.shotstack.io/edit/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

render_templateB

Render an asset from a template id and optional merge fields. Merge fields can be used to replace placeholder variables within the Edit.

Base URL: https://api.shotstack.io/edit/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

probe_mediaA

Inspects any media asset (image, video, audio) on the internet using a hosted version of FFprobe. The probe endpoint returns useful information about an asset such as width, height, duration, rotation, framerate, etc...

Base URL: https://api.shotstack.io/edit/{version} Read operation.

generate_assetA

Generate a single image, video or audio asset from a text prompt without rendering a full edit. Submit a prompt-bearing asset; the response is immediate when an identical asset has been generated before (results are cached by prompt, model and options), otherwise the job is queued and can be polled via the status endpoint.

Generation is billed in credits per asset. Identical repeat requests resolve from the cache at no charge.

Base URL: https://api.shotstack.io/edit/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

get_generated_assetB

Get the status of an on-demand asset generation job created with the generate endpoint. Jobs are owner-scoped.

Base URL: https://api.shotstack.io/edit/{version} Read operation.

list_modelsA

List the generation models available for prompt-bearing image, video and audio assets, with the options each accepts and what it costs in credits.

Use this to populate a model picker and render its option fields, rather than hard coding a model list. A newly launched model appears here without any change on your side. Each entry carries the asset type it generates, so filter the list client side when a picker only needs one kind.

Option schemas are omitted by default. Request them with expand=options.

Each model's available reflects the plan of the account behind the calling API key, so offer only the models it marks available.

Base URL: https://api.shotstack.io/edit/{version} Read operation.

get_modelA

Get one generation model, including the JSON Schema for the options it accepts and what it costs in credits.

Base URL: https://api.shotstack.io/edit/{version} Read operation.

get_assetB

The Serve API is used to interact with, and delete hosted assets including videos, images, audio files, thumbnails and poster images. Use this endpoint to fetch an asset by asset id. Note that an asset id is unique for each asset and different from the render id.

Base URL: https://api.shotstack.io/serve/{version} Read operation.

delete_assetA

Delete an asset by its asset id. If a render creates multiple assets, such as thumbnail and poster images, each asset must be deleted individually by the asset id.

Base URL: https://api.shotstack.io/serve/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

get_asset_by_render_idA

A render may generate more than one file, such as a video, thumbnail and poster image. When the assets are created the only known id is the render id returned by the original render request, status request or webhook. This endpoint lets you look up one or more assets by the render id.

Base URL: https://api.shotstack.io/serve/{version} Read operation.

transfer_assetA

Transfer a file from any publicly available URL to one or more Serve API destinations.

Base URL: https://api.shotstack.io/serve/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

ingest_sourceA

Queue a source file to be fetched from a URL and stored by Shotstack. Source files can be videos, images, audio files and fonts. Once ingested, new output renditions can be created from the source file.

Base URL: https://api.shotstack.io/ingest/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

list_sourcesC

Retrieve a list of ingested source files stored against a users account and stage.

Base URL: https://api.shotstack.io/ingest/{version} Read operation.

get_sourceB

Fetch a source file details and status by its id.

Base URL: https://api.shotstack.io/ingest/{version} Read operation.

delete_sourceA

Delete an ingested source file by its id.

Base URL: https://api.shotstack.io/ingest/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

create_upload_url_fileA

Request a signed URL to upload a file to. The response returns a signed URL that you use to upload the file to. The signed URL looks similar to:

[temporary signed credential URL omitted]

In a separate API call, use this signed URL to send a PUT request with the binary file. Using cURL you can use a command like:

curl -X PUT -T video.mp4 {data.attributes.url}

Where video.mp4 is the file you want to upload and {data.attributes.url} is the signed URL returned in the response. The request must be a PUT type.

The SDK does not currently support the PUT request. You can use the SDK to make the request for the signed URL and then use cURL to make the PUT request.

Base URL: https://api.shotstack.io/ingest/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

list_accountsA

List private account labels, default selection and configured token method. No credentials, token paths or account content; no network request.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 23 tools

Disambiguation4/5

Most tools have clearly distinct purposes, targeting specific resources like renders, templates, assets, sources, or models. A few tools (ingest_source, transfer_asset, create_upload_url_file) all involve ingesting files but differ in destination and intent, which could cause minor confusion.

Naming Consistency5/5

Consistent snake_case with verb-first naming throughout (e.g., get_render, create_template, delete_source). The only minor deviation is the bare 'render' without a noun, but it remains consistent with the verb-first convention.

Tool Count4/5

23 tools is on the heavy side but each maps to a distinct API operation across editing, serving, ingesting, and generation sub-APIs. The breadth justifies the count, though it slightly exceeds the ideal 3-15 range.

Completeness4/5

The surface covers CRUD for templates and sources, render creation and status, asset retrieval and deletion, AI generation, and model listing. Missing operations like listing all assets or canceling a render are minor and likely outside the core scope.

Maintenance

ActivityMaintained
ResponsivenessNo issues