{"id":"9b24fe24-acdd-4466-afbb-0cb9465b6509","shortId":"JHJpyD","kind":"skill","title":"transloadit-media-processing","tagline":"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+ pr","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","agent-skills","agents","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"capabilities":["skill","source-github","skill-transloadit-media-processing","topic-agent-skills","topic-agents","topic-awesome","topic-custom-agents","topic-github-copilot","topic-hacktoberfest","topic-prompt-engineering"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/transloadit-media-processing","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add github/awesome-copilot","source_repo":"https://github.com/github/awesome-copilot","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 33270 github stars · SKILL.md body (4,560 chars)","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-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:26.832Z","embedding":null,"createdAt":"2026-04-18T20:26:05.469Z","updatedAt":"2026-05-18T18:52:26.832Z","lastSeenAt":"2026-05-18T18:52:26.832Z","tsv":"'/audio/concat':368 '/c/-/api-credentials':236 '/clip1.mp3':362 '/clip2.mp3':365 '/docs/transcoding/':466 '/document/ocr':344 '/http/import':358,537 '/image/optimize':404 '/image/resize':309,321,397,459 '/logo.png':328 '/my-video.mp4':264 '/s3/store':409 '/video/encode':255,277,458 '/video/thumbs':292 '1080p':261,283,508 '1200':313 '15':336 '1920':401 '240':300 '320':298 '8':296 '800':315 '86':43,66 'aac':118 'access':189 'adapt':271 'add':32,126,175 'agent':187 'ai':150 'ai-bas':149 'anim':94 'api':231 'appli':148 'arg':214 'ask':16 'assembl':196,198,250,421,429,432,558 'audio':9,29,61,116,124,352 'auth':222,227 'avif':111 'aw':348 'azur':545 'b':238 'base':151 'bash':246 'batch':534 'block':498 'bottom':332 'bottom-right':331 'bucket':412,415 'build':157,525 'chain':164,380,520 'cli':239,434,452,496 'clip':31,125,353 'cloud':57 'code':202 'command':212,244 'common':512 'complet':501 'concaten':30,121,351,366 'concept':420 'config':183 'configur':481 'content':152 'convert':104 'copilot':174,204 'core':265 'count':295 'cover':42 'creat':193,195,251,426,428,433,444,446,451 'creation':559 'credenti':232 'crop':99 'defin':470 'detect':156 'direct':188,245 'document':11,35,64,134,339 'download':532 'dropbox':548 'dynam':554 'e.g':457,505 'encod':18,51,82,253,267,275 'env':218 'etc':200 'everi':518 'example.com':327,361,364 'example.com/clip1.mp3':360 'example.com/clip2.mp3':363 'example.com/logo.png':326 'export':407 'extract':28,113 'field':384 'file':7,53,490,540 'file.name':418 'fit':318 'flac':119 'format':90,107,349,513 'ftp':546 'full':461 'gcs':544 'generat':22,91,284 'get':229 'gif':95 'github':203 'give':185 'heif':112 'height':299,314 'hls':85,260,270,282,507 'hls-1080p':259,281,506 'hls/mp4':21 'ide':182 'imag':10,27,62,103,106,137,304 'import':356,370 'includ':551 'infrastructur':58 'input':263,489 'instead':515 'intermedi':531 'job':425 'jpeg':108 'json':209,273,288,305,340,354,393,468 'key':220,223,419,474 'list':197,462 'mcp':170,178,430,448 'media':3,6,39,46,52,161 'moder':153 'mp3':117,372,509 'mp4':86 'multi':159,374,527 'multi-step':158,373,526 'my-bucket':413 'name':478,523 'need':80 'notif':199 'npx':213,247 'object':155,469 'ocr':34,133,337 'oper':165 'optim':102,402,411 'option':168,237 'origin':257,279,294,311,346,399,484 'output':392 'overlay':129 'paramet':519 'pass':556 'path':416 'pdf':135 'pipelin':41,162,376,472,529 'png':109 'posit':330 'pr':44 'prefer':242 'preset':258,280,371,503 'previous':389 'process':4,5,40,47,48,68,417,424,455,500,535 'provid':347 'pull':539 'recogn':342 'recommend':172 'refer':387,485 'resiz':24,98,301,307,316,323,395,406 'reusabl':437 'right':333 'robot':69,254,276,291,308,320,343,357,367,396,403,408,453,483 'run':37,138,243 's3':543 'scan':136 'secret':225,228 'see':460 'server':171,179,210 'set':208,438 'setup':167 'singl':423 'size':335 'skill':74,77 'skill-transloadit-media-processing' 'source-github' 'special':67 'specifi':517 'speech':140,147 'speech-to-text':139 'stdio':217 'step':160,252,274,289,306,341,355,375,377,386,390,394,440,467,477,522,528 'store':441 'strategi':317 'stream':272 'subtitl':33,127 'support':59 'target':514 'templat':194,435,447,450,549 'text':130,142,145,350 'text-to-speech':144 'thumbnail':23,92,285,290 'time':560 'tip':491 'togeth':166 'tool':192 'topic-agent-skills' 'topic-agents' 'topic-awesome' 'topic-custom-agents' 'topic-github-copilot' 'topic-hacktoberfest' 'topic-prompt-engineering' 'transcod':115 'transform':49 'transloadit':2,13,45,55,177,191,211,219,224,443 'transloadit-media-process':1 'transloadit.com':235,465 'transloadit.com/c/-/api-credentials':234 'transloadit.com/docs/transcoding/':464 'transloadit/mcp-server':216 'transloadit/node':249 'unit':456 'upload':488 'url':325,359,542 'use':12,14,54,72,75,256,278,293,310,322,345,369,381,383,398,405,410,492,502,521,536 'user':207 'valu':480,504,555 'variabl':552 'via':427,445 'video':8,19,60,83,97,122,132,268,287 'vs':201 'vscode/mcp.json':205 'wait':262,493 'watermark':26,100,303,319,324,329,334 'wav':120 'webm':87 'webp':110,510 'width':297,312,400 'without':530 'workflow':266 'y':215,248","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-05-18T18:52:26.832Z"},{"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-05-07T22:40:18.775Z"}],"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","github":{"repo":"github/awesome-copilot","stars":33270,"topics":["agent-skills","agents","ai","awesome","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"license":"mit","html_url":"https://github.com/github/awesome-copilot","pushed_at":"2026-05-18T01:26:59Z","description":"Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.","skill_md_sha":"4fd69dde62efe2778492d7af61b84c81c89f1ff8","skill_md_path":"skills/transloadit-media-processing/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/github/awesome-copilot/tree/main/skills/transloadit-media-processing"},"layout":"multi","source":"github","category":"awesome-copilot","frontmatter":{"name":"transloadit-media-processing","license":"MIT","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.","compatibility":"Requires a free Transloadit account (https://transloadit.com/signup). Uses the @transloadit/mcp-server MCP server or the @transloadit/node CLI."},"skills_sh_url":"https://skills.sh/github/awesome-copilot/transloadit-media-processing"},"updatedAt":"2026-05-18T18:52:26.832Z"}}