Files
Kevin van Zonneveld ef1cdcd647 Add transloadit-media-processing skill
Media processing skill using Transloadit's 86+ robots for video encoding,
image manipulation, audio transcoding, OCR, and multi-step pipelines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 15:52:54 +01:00

195 lines
5.0 KiB
Markdown

---
name: transloadit-media-processing
description: 'Process media files (video, audio, images, documents) using Transloadit. Use when asked to encode video to HLS/MP4, generate thumbnails, resize or watermark images, extract audio, concatenate clips, add subtitles, OCR documents, or run any media processing pipeline. Covers 86+ processing robots for file transformation at scale.'
license: MIT
compatibility: Requires a free Transloadit account (https://transloadit.com/signup). Uses the @transloadit/mcp-server MCP server or the @transloadit/node CLI.
---
# Transloadit Media Processing
Process, transform, and encode media files using Transloadit's cloud infrastructure.
Supports video, audio, images, and documents with 86+ specialized processing robots.
## When to Use This Skill
Use this skill when you need to:
- Encode video to HLS, MP4, WebM, or other formats
- Generate thumbnails or animated GIFs from video
- Resize, crop, watermark, or optimize images
- Convert between image formats (JPEG, PNG, WebP, AVIF, HEIF)
- Extract or transcode audio (MP3, AAC, FLAC, WAV)
- Concatenate video or audio clips
- Add subtitles or overlay text on video
- OCR documents (PDF, scanned images)
- Run speech-to-text or text-to-speech
- Apply AI-based content moderation or object detection
- Build multi-step media pipelines that chain operations together
## Setup
### Option A: MCP Server (recommended for Copilot)
Add the Transloadit MCP server to your IDE config. This gives the agent direct access
to Transloadit tools (`create_template`, `create_assembly`, `list_assembly_notifications`, etc.).
**VS Code / GitHub Copilot** (`.vscode/mcp.json` or user settings):
```json
{
"servers": {
"transloadit": {
"command": "npx",
"args": ["-y", "@transloadit/mcp-server", "stdio"],
"env": {
"TRANSLOADIT_KEY": "YOUR_AUTH_KEY",
"TRANSLOADIT_SECRET": "YOUR_AUTH_SECRET"
}
}
}
}
```
Get your API credentials at https://transloadit.com/c/-/api-credentials
### Option B: CLI
If you prefer running commands directly:
```bash
npx -y @transloadit/node assemblies create \
--steps '{"encoded": {"robot": "/video/encode", "use": ":original", "preset": "hls-1080p"}}' \
--wait \
--input ./my-video.mp4
```
## Core Workflows
### Encode Video to HLS (Adaptive Streaming)
```json
{
"steps": {
"encoded": {
"robot": "/video/encode",
"use": ":original",
"preset": "hls-1080p"
}
}
}
```
### Generate Thumbnails from Video
```json
{
"steps": {
"thumbnails": {
"robot": "/video/thumbs",
"use": ":original",
"count": 8,
"width": 320,
"height": 240
}
}
}
```
### Resize and Watermark Images
```json
{
"steps": {
"resized": {
"robot": "/image/resize",
"use": ":original",
"width": 1200,
"height": 800,
"resize_strategy": "fit"
},
"watermarked": {
"robot": "/image/resize",
"use": "resized",
"watermark_url": "https://example.com/logo.png",
"watermark_position": "bottom-right",
"watermark_size": "15%"
}
}
}
```
### OCR a Document
```json
{
"steps": {
"recognized": {
"robot": "/document/ocr",
"use": ":original",
"provider": "aws",
"format": "text"
}
}
}
```
### Concatenate Audio Clips
```json
{
"steps": {
"imported": {
"robot": "/http/import",
"url": ["https://example.com/clip1.mp3", "https://example.com/clip2.mp3"]
},
"concatenated": {
"robot": "/audio/concat",
"use": "imported",
"preset": "mp3"
}
}
}
```
## Multi-Step Pipelines
Steps can be chained using the `"use"` field. Each step references a previous step's output:
```json
{
"steps": {
"resized": {
"robot": "/image/resize",
"use": ":original",
"width": 1920
},
"optimized": {
"robot": "/image/optimize",
"use": "resized"
},
"exported": {
"robot": "/s3/store",
"use": "optimized",
"bucket": "my-bucket",
"path": "processed/${file.name}"
}
}
}
```
## Key Concepts
- **Assembly**: A single processing job. Created via `create_assembly` (MCP) or `assemblies create` (CLI).
- **Template**: A reusable set of steps stored on Transloadit. Created via `create_template` (MCP) or `templates create` (CLI).
- **Robot**: A processing unit (e.g., `/video/encode`, `/image/resize`). See full list at https://transloadit.com/docs/transcoding/
- **Steps**: JSON object defining the pipeline. Each key is a step name, each value configures a robot.
- **`:original`**: Refers to the uploaded input file.
## Tips
- Use `--wait` with the CLI to block until processing completes.
- Use `preset` values (e.g., `"hls-1080p"`, `"mp3"`, `"webp"`) for common format targets instead of specifying every parameter.
- Chain `"use": "step_name"` to build multi-step pipelines without intermediate downloads.
- For batch processing, use `/http/import` to pull files from URLs, S3, GCS, Azure, FTP, or Dropbox.
- Templates can include `${variables}` for dynamic values passed at assembly creation time.