# Shotstack

Shotstack is a cloud-based platform that enables developers, marketers, and designers to automate the generation of videos, images, and audio at scale using a RESTful API.

- **Category:** video & audio
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 24
- **Triggers:** 0
- **Slug:** `SHOTSTACK`
- **Version:** 20260316_00

## Tools

### Create Template

**Slug:** `SHOTSTACK_CREATE_TEMPLATE`

Tool to create a new template for video editing. Use when you want to save a reusable timeline configuration as a template. Template changes do not retroactively affect past renders.

### Create Template (v2)

**Slug:** `SHOTSTACK_CREATE_TEMPLATE2`

Tool to save an Edit as a re-usable template. Templates can be retrieved and modified before rendering. Use when you want to create a template with merge fields for dynamic content.

### Delete Ingested Media

**Slug:** `SHOTSTACK_DELETE_INGESTED_MEDIA`

Tool to delete an ingested media asset. Use when you've confirmed the ingest ID and need to remove the file from Shotstack storage.

### Delete Template

**Slug:** `SHOTSTACK_DELETE_TEMPLATE2`

Tool to delete a specific Shotstack template by its ID. Use when you need to remove a template permanently.

### Delete Shotstack Workflow

**Slug:** `SHOTSTACK_DELETE_WORKFLOW`

Tool to delete a specific Shotstack workflow. Use when you need to permanently remove a workflow after confirming its ID.

### Fetch Source

**Slug:** `SHOTSTACK_FETCH_SOURCE`

Tool to fetch a remote media file and store it as a source asset. Operation is asynchronous — poll SHOTSTACK_GET_INGEST_STATUS or SHOTSTACK_INSPECT_MEDIA until the asset is ready before passing it to SHOTSTACK_RENDER_VIDEO or other downstream tools. Use when you need to ingest a file before rendering.

### Get Asset

**Slug:** `SHOTSTACK_GET_ASSETS`

Tool to fetch details of a hosted asset by its unique identifier. Use when you need to retrieve information about videos, images, audio files, thumbnails, or poster images hosted on Shotstack's CDN.

### Get Assets by Render ID

**Slug:** `SHOTSTACK_GET_ASSETS_RENDER`

Tool to retrieve hosted assets by render ID. Use when you need to fetch one or more files (video, thumbnail, poster image) generated by a specific render job.

### Get Ingest Status (Deprecated)

**Slug:** `SHOTSTACK_GET_INGEST_STATUS`

DEPRECATED: Use SHOTSTACK_GET_SOURCE instead. Tool to retrieve the status and details of an ingested media asset. Poll until the asset status is 'ready' before using it in SHOTSTACK_RENDER_VIDEO; rendering against an unprocessed asset causes missing clips or failed renders.

### Get Render Callback

**Slug:** `SHOTSTACK_GET_RENDER_CALLBACK`

Tool to retrieve the webhook/callback URL configuration for a specific render job. Returns only callback settings (URL, method, headers), not render status or output URLs — use a separate render-status check to obtain final results.

### Get Render Status

**Slug:** `SHOTSTACK_GET_RENDER_STATUS`

Tool to retrieve the current status and details of a Shotstack render job by render ID. Use when polling a render until done or failed, typically after creating a render with SHOTSTACK_RENDER_VIDEO.

### Get Source Details

**Slug:** `SHOTSTACK_GET_SOURCE`

Tool to fetch the details of a specific source asset. Use when you need to inspect a source after uploading, check its status, or diagnose ingest/render failures—such as unsupported codecs, corrupt files, or bad URLs—before retrying.

### Get Template

**Slug:** `SHOTSTACK_GET_TEMPLATE`

Tool to retrieve details of a specific template. Use when you have the ID of an existing template and need its metadata.

### Get Template By Version

**Slug:** `SHOTSTACK_GET_TEMPLATE_BY_VERSION`

Tool to retrieve a template by template id and API version. Use when you need to fetch template details from a specific Edit API version.

### Get Upload URL

**Slug:** `SHOTSTACK_GET_UPLOAD_URL`

Tool to request a signed URL for direct file upload to Shotstack. Use when you need to upload a file to Shotstack storage. The response returns a signed URL that you use to upload the file using a PUT request with the binary file.

### Inspect Media

**Slug:** `SHOTSTACK_INSPECT_MEDIA`

Tool to inspect media metadata. Use before rendering to retrieve duration, resolution, frame rate, and format of an online media file — clip timecodes, trim points, and audio sync calculations depend on these values. Mixing assets without prior inspection can cause letterboxing, jitter, or audio sync issues in the final output.

### List Sources

**Slug:** `SHOTSTACK_LIST_SOURCES`

Tool to list all source assets. Use when you need to retrieve source entries with optional pagination.

### List Sources (with Environment)

**Slug:** `SHOTSTACK_LIST_SOURCES2`

Tool to list all ingested source files with environment selection. Use when you need to retrieve sources from stage (sandbox) or v1 (production) environment with optional pagination.

### List Templates

**Slug:** `SHOTSTACK_LIST_TEMPLATES`

Tool to list all Shotstack templates for the account. Use after creating or updating templates to view your available templates.

### List Templates with Environment

**Slug:** `SHOTSTACK_LIST_TEMPLATES2`

Tool to list all Shotstack templates for the specified environment. Use when you need to retrieve templates from a specific environment (stage or production).

### Request Upload URL

**Slug:** `SHOTSTACK_POST_UPLOAD`

Tool to request a signed URL for direct file upload. Use when you need to upload a file to Shotstack storage. The response returns a signed URL that expires in one hour.

### Render Video

**Slug:** `SHOTSTACK_RENDER_VIDEO`

Tool to initiate a new video render job. Use when you have defined a timeline and output settings and want to start rendering.

### Transfer Asset

**Slug:** `SHOTSTACK_TRANSFER_ASSET`

Tool to transfer a file from any publicly available URL to one or more Serve API destinations. Use when you need to copy a file from an external source to Shotstack's hosting service or other configured destinations.

### Update Template

**Slug:** `SHOTSTACK_UPDATE_TEMPLATE`

Tool to update an existing template by its ID. Use when you need to modify a template's name or edit configuration. Both name and complete template definition must be provided.
