
A solid integration for Transloadit's media processing API that handles the tedious parts of video encoding, image resizing, and document OCR. Sets up the MCP server connection or CLI properly, gives you working JSON templates for common tasks like HLS encoding and thumbnail generation, and chains multiple processing steps without you having to manage intermediate files. The step definitions are clean and the examples actually work. Most useful when you're building media pipelines and don't want to deal with FFmpeg complexity or spinning up your own processing infrastructure.
$ npx -y skills add github/awesome-copilot --skill transloadit-media-processing --agent claude-codeInstalls into .claude/skills of the current project.
Process, transform, and encode media files using Transloadit's cloud infrastructure. Supports video, audio, images, and documents with 86+ specialized processing robots.
Use this skill when you need to:
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):
{
"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
If you prefer running commands directly:
npx -y @transloadit/node assemblies create \
--steps '{"encoded": {"robot": "/video/encode", "use": ":original", "preset": "hls-1080p"}}' \
--wait \
--input ./my-video.mp4
{
"steps": {
"encoded": {
"robot": "/video/encode",
"use": ":original",
"preset": "hls-1080p"
}
}
}
{
"steps": {
"thumbnails": {
"robot": "/video/thumbs",
"use": ":original",
"count": 8,
"width": 320,
"height": 240
}
}
}
{
"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%"
}
}
}
{
"steps": {
"recognized": {
"robot": "/document/ocr",
"use": ":original",
"provider": "aws",
"format": "text"
}
}
}
{
"steps": {
"imported": {
"robot": "/http/import",
"url": ["https://example.com/clip1.mp3", "https://example.com/clip2.mp3"]
},
"concatenated": {
"robot": "/audio/concat",
"use": "imported",
"preset": "mp3"
}
}
}
Steps can be chained using the "use" field. Each step references a previous step's output:
{
"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}"
}
}
}
create_assembly (MCP) or assemblies create (CLI).create_template (MCP) or templates create (CLI)./video/encode, /image/resize). See full list at https://transloadit.com/docs/transcoding/:original: Refers to the uploaded input file.--wait with the CLI to block until processing completes.preset values (e.g., "hls-1080p", "mp3", "webp") for common format targets instead of specifying every parameter."use": "step_name" to build multi-step pipelines without intermediate downloads./http/import to pull files from URLs, S3, GCS, Azure, FTP, or Dropbox.${variables} for dynamic values passed at assembly creation time.Sponsors