{"id":"9b24fe24-acdd-4466-afbb-0cb9465b6509","shortId":"JHJpyD","kind":"skill","title":"Transloadit Media Processing","tagline":"Awesome Copilot skill by Github","description":"# Transloadit Media Processing\n\nProcess, transform, and encode media files using Transloadit's cloud infrastructure.\nSupports video, audio, images, and documents with 86+ specialized processing robots.\n\n## When to Use This Skill\n\nUse this skill when you need to:\n\n- Encode video to HLS, MP4, WebM, or other formats\n- Generate thumbnails or animated GIFs from video\n- Resize, crop, watermark, or optimize images\n- Convert between image formats (JPEG, PNG, WebP, AVIF, HEIF)\n- Extract or transcode audio (MP3, AAC, FLAC, WAV)\n- Concatenate video or audio clips\n- Add subtitles or overlay text on video\n- OCR documents (PDF, scanned images)\n- Run speech-to-text or text-to-speech\n- Apply AI-based content moderation or object detection\n- Build multi-step media pipelines that chain operations together\n\n## Setup\n\n### Option A: MCP Server (recommended for Copilot)\n\nAdd the Transloadit MCP server to your IDE config. This gives the agent direct access\nto Transloadit tools (`create_template`, `create_assembly`, `list_assembly_notifications`, etc.).\n\n**VS Code / GitHub Copilot** (`.vscode/mcp.json` or user settings):\n\n```json\n{\n  \"servers\": {\n    \"transloadit\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@transloadit/mcp-server\", \"stdio\"],\n      \"env\": {\n        \"TRANSLOADIT_KEY\": \"YOUR_AUTH_KEY\",\n        \"TRANSLOADIT_SECRET\": \"YOUR_AUTH_SECRET\"\n      }\n    }\n  }\n}\n```\n\nGet your API credentials at https://transloadit.com/c/-/api-credentials\n\n### Option B: CLI\n\nIf you prefer running commands directly:\n\n```bash\nnpx -y @transloadit/node assemblies create \\\n  --steps '{\"encoded\": {\"robot\": \"/video/encode\", \"use\": \":original\", \"preset\": \"hls-1080p\"}}' \\\n  --wait \\\n  --input ./my-video.mp4\n```\n\n## Core Workflows\n\n### Encode Video to HLS (Adaptive Streaming)\n\n```json\n{\n  \"steps\": {\n    \"encoded\": {\n      \"robot\": \"/video/encode\",\n      \"use\": \":original\",\n      \"preset\": \"hls-1080p\"\n    }\n  }\n}\n```\n\n### Generate Thumbnails from Video\n\n```json\n{\n  \"steps\": {\n    \"thumbnails\": {\n      \"robot\": \"/video/thumbs\",\n      \"use\": \":original\",\n      \"count\": 8,\n      \"width\": 320,\n      \"height\": 240\n    }\n  }\n}\n```\n\n### Resize and Watermark Images\n\n```json\n{\n  \"steps\": {\n    \"resized\": {\n      \"robot\": \"/image/resize\",\n      \"use\": \":original\",\n      \"width\": 1200,\n      \"height\": 800,\n      \"resize_strategy\": \"fit\"\n    },\n    \"watermarked\": {\n      \"robot\": \"/image/resize\",\n      \"use\": \"resized\",\n      \"watermark_url\": \"https://example.com/logo.png\",\n      \"watermark_position\": \"bottom-right\",\n      \"watermark_size\": \"15%\"\n    }\n  }\n}\n```\n\n### OCR a Document\n\n```json\n{\n  \"steps\": {\n    \"recognized\": {\n      \"robot\": \"/document/ocr\",\n      \"use\": \":original\",\n      \"provider\": \"aws\",\n      \"format\": \"text\"\n    }\n  }\n}\n```\n\n### Concatenate Audio Clips\n\n```json\n{\n  \"steps\": {\n    \"imported\": {\n      \"robot\": \"/http/import\",\n      \"url\": [\"https://example.com/clip1.mp3\", \"https://example.com/clip2.mp3\"]\n    },\n    \"concatenated\": {\n      \"robot\": \"/audio/concat\",\n      \"use\": \"imported\",\n      \"preset\": \"mp3\"\n    }\n  }\n}\n```\n\n## Multi-Step Pipelines\n\nSteps can be chained using the `\"use\"` field. Each step references a previous step's output:\n\n```json\n{\n  \"steps\": {\n    \"resized\": {\n      \"robot\": \"/image/resize\",\n      \"use\": \":original\",\n      \"width\": 1920\n    },\n    \"optimized\": {\n      \"robot\": \"/image/optimize\",\n      \"use\": \"resized\"\n    },\n    \"exported\": {\n      \"robot\": \"/s3/store\",\n      \"use\": \"optimized\",\n      \"bucket\": \"my-bucket\",\n      \"path\": \"processed/${file.name}\"\n    }\n  }\n}\n```\n\n## Key Concepts\n\n- **Assembly**: A single processing job. Created via `create_assembly` (MCP) or `assemblies create` (CLI).\n- **Template**: A reusable set of steps stored on Transloadit. Created via `create_template` (MCP) or `templates create` (CLI).\n- **Robot**: A processing unit (e.g., `/video/encode`, `/image/resize`). See full list at https://transloadit.com/docs/transcoding/\n- **Steps**: JSON object defining the pipeline. Each key is a step name, each value configures a robot.\n- **`:original`**: Refers to the uploaded input file.\n\n## Tips\n\n- Use `--wait` with the CLI to block until processing completes.\n- Use `preset` values (e.g., `\"hls-1080p\"`, `\"mp3\"`, `\"webp\"`) for common format targets instead of specifying every parameter.\n- Chain `\"use\": \"step_name\"` to build multi-step pipelines without intermediate downloads.\n- For batch processing, use `/http/import` to pull files from URLs, S3, GCS, Azure, FTP, or Dropbox.\n- Templates can include `${variables}` for dynamic values passed at assembly creation time.","tags":["transloadit","media","processing","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/transloadit-media-processing","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T09:40:13.670Z","embedding":null,"createdAt":"2026-04-18T20:26:05.469Z","updatedAt":"2026-04-22T09:40:13.670Z","lastSeenAt":"2026-04-22T09:40:13.670Z","tsv":"'/audio/concat':332 '/c/-/api-credentials':200 '/clip1.mp3':326 '/clip2.mp3':329 '/docs/transcoding/':430 '/document/ocr':308 '/http/import':322,501 '/image/optimize':368 '/image/resize':273,285,361,423 '/logo.png':292 '/my-video.mp4':228 '/s3/store':373 '/video/encode':219,241,422 '/video/thumbs':256 '1080p':225,247,472 '1200':277 '15':300 '1920':365 '240':264 '320':262 '8':260 '800':279 '86':30 'aac':82 'access':153 'adapt':235 'add':90,139 'agent':151 'ai':114 'ai-bas':113 'anim':58 'api':195 'appli':112 'arg':178 'assembl':160,162,214,385,393,396,522 'audio':25,80,88,316 'auth':186,191 'avif':75 'aw':312 'awesom':4 'azur':509 'b':202 'base':115 'bash':210 'batch':498 'block':462 'bottom':296 'bottom-right':295 'bucket':376,379 'build':121,489 'category-awesome-copilot' 'chain':128,344,484 'cli':203,398,416,460 'clip':89,317 'cloud':21 'code':166 'command':176,208 'common':476 'complet':465 'concaten':85,315,330 'concept':384 'config':147 'configur':445 'content':116 'convert':68 'copilot':5,138,168 'core':229 'count':259 'creat':157,159,215,390,392,397,408,410,415 'creation':523 'credenti':196 'crop':63 'defin':434 'detect':120 'direct':152,209 'document':28,98,303 'download':496 'dropbox':512 'dynam':518 'e.g':421,469 'encod':15,46,217,231,239 'env':182 'etc':164 'everi':482 'example.com':291,325,328 'example.com/clip1.mp3':324 'example.com/clip2.mp3':327 'example.com/logo.png':290 'export':371 'extract':77 'field':348 'file':17,454,504 'file.name':382 'fit':282 'flac':83 'format':54,71,313,477 'ftp':510 'full':425 'gcs':508 'generat':55,248 'get':193 'gif':59 'github':8,167 'give':149 'heif':76 'height':263,278 'hls':49,224,234,246,471 'hls-1080p':223,245,470 'ide':146 'imag':26,67,70,101,268 'import':320,334 'includ':515 'infrastructur':22 'input':227,453 'instead':479 'intermedi':495 'job':389 'jpeg':72 'json':173,237,252,269,304,318,357,432 'key':184,187,383,438 'list':161,426 'mcp':134,142,394,412 'media':2,10,16,125 'moder':117 'mp3':81,336,473 'mp4':50 'multi':123,338,491 'multi-step':122,337,490 'my-bucket':377 'name':442,487 'need':44 'notif':163 'npx':177,211 'object':119,433 'ocr':97,301 'oper':129 'optim':66,366,375 'option':132,201 'origin':221,243,258,275,310,363,448 'output':356 'overlay':93 'paramet':483 'pass':520 'path':380 'pdf':99 'pipelin':126,340,436,493 'png':73 'posit':294 'prefer':206 'preset':222,244,335,467 'previous':353 'process':3,11,12,32,381,388,419,464,499 'provid':311 'pull':503 'recogn':306 'recommend':136 'refer':351,449 'resiz':62,265,271,280,287,359,370 'reusabl':401 'right':297 'robot':33,218,240,255,272,284,307,321,331,360,367,372,417,447 'run':102,207 's3':507 'scan':100 'secret':189,192 'see':424 'server':135,143,174 'set':172,402 'setup':131 'singl':387 'size':299 'skill':6,38,41 'source-github' 'special':31 'specifi':481 'speech':104,111 'speech-to-text':103 'stdio':181 'step':124,216,238,253,270,305,319,339,341,350,354,358,404,431,441,486,492 'store':405 'strategi':281 'stream':236 'subtitl':91 'support':23 'target':478 'templat':158,399,411,414,513 'text':94,106,109,314 'text-to-speech':108 'thumbnail':56,249,254 'time':524 'tip':455 'togeth':130 'tool':156 'transcod':79 'transform':13 'transloadit':1,9,19,141,155,175,183,188,407 'transloadit.com':199,429 'transloadit.com/c/-/api-credentials':198 'transloadit.com/docs/transcoding/':428 'transloadit/mcp-server':180 'transloadit/node':213 'unit':420 'upload':452 'url':289,323,506 'use':18,36,39,220,242,257,274,286,309,333,345,347,362,369,374,456,466,485,500 'user':171 'valu':444,468,519 'variabl':516 'via':391,409 'video':24,47,61,86,96,232,251 'vs':165 'vscode/mcp.json':169 'wait':226,457 'watermark':64,267,283,288,293,298 'wav':84 'webm':51 'webp':74,474 'width':261,276,364 'without':494 'workflow':230 'y':179,212","prices":[{"id":"14e7252a-bbd4-4b1a-bdaf-96ebf7321bb3","listingId":"9b24fe24-acdd-4466-afbb-0cb9465b6509","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:26:05.469Z"}],"sources":[{"listingId":"9b24fe24-acdd-4466-afbb-0cb9465b6509","source":"github","sourceId":"github/awesome-copilot/transloadit-media-processing","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/transloadit-media-processing","isPrimary":false,"firstSeenAt":"2026-04-18T21:51:28.236Z","lastSeenAt":"2026-04-22T06:52:32.966Z"},{"listingId":"9b24fe24-acdd-4466-afbb-0cb9465b6509","source":"skills_sh","sourceId":"github/awesome-copilot/transloadit-media-processing","sourceUrl":"https://skills.sh/github/awesome-copilot/transloadit-media-processing","isPrimary":true,"firstSeenAt":"2026-04-18T20:26:05.469Z","lastSeenAt":"2026-04-22T09:40:13.670Z"}],"details":{"listingId":"9b24fe24-acdd-4466-afbb-0cb9465b6509","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"transloadit-media-processing","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/transloadit-media-processing"},"updatedAt":"2026-04-22T09:40:13.670Z"}}