transloadit-media-processing

Par github · awesome-copilot

Traitez des fichiers multimédias (vidéo, audio, images, documents) avec Transloadit. À utiliser pour encoder des vidéos en HLS/MP4, générer des miniatures, redimensionner ou apposer des filigranes sur des images, extraire de l'audio, concaténer des clips, ajouter des sous-titres, effectuer de l'OCR sur des documents, ou exécuter tout pipeline de traitement multimédia. Couvre 86+ robots de traitement pour la transformation de fichiers à grande échelle.

npx skills add https://github.com/github/awesome-copilot --skill transloadit-media-processing

Transloadit Media Processing

Traitez, transformez et encodez des fichiers médias en utilisant l'infrastructure cloud de Transloadit. Supporte la vidéo, l'audio, les images et les documents avec plus de 86 robots de traitement spécialisés.

Quand utiliser cette compétence

Utilisez cette compétence quand vous devez :

  • Encoder une vidéo en HLS, MP4, WebM ou autres formats
  • Générer des miniatures ou des GIF animés à partir d'une vidéo
  • Redimensionner, recadrer, ajouter un filigrane ou optimiser des images
  • Convertir entre différents formats d'image (JPEG, PNG, WebP, AVIF, HEIF)
  • Extraire ou transcoder de l'audio (MP3, AAC, FLAC, WAV)
  • Concaténer des clips vidéo ou audio
  • Ajouter des sous-titres ou du texte en surimpression sur une vidéo
  • OCR sur des documents (PDF, images scannées)
  • Exécuter de la conversion vocale-texte ou texte-vocal
  • Appliquer une modération de contenu basée sur l'IA ou une détection d'objets
  • Construire des pipelines médias multi-étapes qui enchaînent les opérations

Configuration

Option A : Serveur MCP (recommandé pour Copilot)

Ajoutez le serveur Transloadit MCP à la configuration de votre IDE. Cela donne à l'agent un accès direct aux outils Transloadit (create_template, create_assembly, list_assembly_notifications, etc.).

VS Code / GitHub Copilot (.vscode/mcp.json ou paramètres utilisateur) :

{
  "servers": {
    "transloadit": {
      "command": "npx",
      "args": ["-y", "@transloadit/mcp-server", "stdio"],
      "env": {
        "TRANSLOADIT_KEY": "YOUR_AUTH_KEY",
        "TRANSLOADIT_SECRET": "YOUR_AUTH_SECRET"
      }
    }
  }
}

Obtenez vos identifiants API sur https://transloadit.com/c/-/api-credentials

Option B : CLI

Si vous préférez exécuter les commandes directement :

npx -y @transloadit/node assemblies create \
  --steps '{"encoded": {"robot": "/video/encode", "use": ":original", "preset": "hls-1080p"}}' \
  --wait \
  --input ./my-video.mp4

Flux de travail principaux

Encoder une vidéo en HLS (Streaming adaptatif)

{
  "steps": {
    "encoded": {
      "robot": "/video/encode",
      "use": ":original",
      "preset": "hls-1080p"
    }
  }
}

Générer des miniatures à partir d'une vidéo

{
  "steps": {
    "thumbnails": {
      "robot": "/video/thumbs",
      "use": ":original",
      "count": 8,
      "width": 320,
      "height": 240
    }
  }
}

Redimensionner et ajouter un filigrane à des images

{
  "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 sur un document

{
  "steps": {
    "recognized": {
      "robot": "/document/ocr",
      "use": ":original",
      "provider": "aws",
      "format": "text"
    }
  }
}

Concaténer des clips audio

{
  "steps": {
    "imported": {
      "robot": "/http/import",
      "url": ["https://example.com/clip1.mp3", "https://example.com/clip2.mp3"]
    },
    "concatenated": {
      "robot": "/audio/concat",
      "use": "imported",
      "preset": "mp3"
    }
  }
}

Pipelines multi-étapes

Les étapes peuvent être chaînées en utilisant le champ "use". Chaque étape fait référence à la sortie d'une étape précédente :

{
  "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}"
    }
  }
}

Concepts clés

  • Assembly : Un seul travail de traitement. Créé via create_assembly (MCP) ou assemblies create (CLI).
  • Template : Un ensemble réutilisable d'étapes stockées sur Transloadit. Créé via create_template (MCP) ou templates create (CLI).
  • Robot : Une unité de traitement (par exemple, /video/encode, /image/resize). Voir la liste complète sur https://transloadit.com/docs/transcoding/
  • Steps : Objet JSON définissant le pipeline. Chaque clé est le nom d'une étape, chaque valeur configure un robot.
  • :original : Fait référence au fichier d'entrée téléchargé.

Conseils

  • Utilisez --wait avec la CLI pour bloquer jusqu'à la fin du traitement.
  • Utilisez les valeurs preset (par exemple, "hls-1080p", "mp3", "webp") pour les cibles de format courant au lieu de spécifier chaque paramètre.
  • Chaînez "use": "step_name" pour construire des pipelines multi-étapes sans téléchargements intermédiaires.
  • Pour le traitement par lot, utilisez /http/import pour récupérer des fichiers à partir d'URLs, S3, GCS, Azure, FTP ou Dropbox.
  • Les templates peuvent inclure ${variables} pour les valeurs dynamiques transmises au moment de la création d'assembly.

Skills similaires